none
「選択されたテキスト」を目立たせるには? RRS feed

  • 質問

  • 「ツール→オプション→環境→フォントおよび色」で、
    「選択されたテキスト」の背景色を、かなり目立つ色に設定しているのですが、
    実際は半透明になってしまい、目立たない色になってしまいます。
    (ちなみに背景は暗い色です)
    検索とかすると、選択テキストが目立たないので困っています。

    半透明させない、もしくは半透明の度合いを低くすることはできないものでしょうか?
    VB2015です。

    2021年2月8日 8:06

すべての返信

  • 訂正。VS2015でした。

    返信がないところを見るとどうやらできないようですね…。
    では一言愚痴を。
    半透明にするのは親切機能のつもりかもしれませんが、それが不要な人にはお節介機能です。
    そしてそれを無効にできないのならそれは、「お節介の押し付け」以外の何物でもありませんね。

    2021年2月9日 23:32
  • 愚痴を書くぐらいなら要望や不具合として登録しましょう。
    (ただ、VS2015 で変わることはありませんので、将来のためとなります)

    https://developercommunity.visualstudio.com/spaces/8/index.html

    ※開発チームの人は日本の MSDN フォーラムをモニターしていないと思いますが、仮に見た時に「お節介の押しつけ」という文言を見てフィードバックを取り入れようとポジティブになれるか?と考えるとですね…。私たち日本人の悪いところです。(批判文化)

    2021年2月10日 12:31
    モデレータ
  • 回答が寄せられない時点で諦めてます。
    ただ…「なんで半透明固定なんだよっ」てのはすごく感じます。
    不快な思いをさせたのなら失礼しました。
    2021年2月12日 0:42
  • こまってますさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    返信が遅くなり失礼いたしました。
    目立つ色を変更するには、「選択したテキスト」ではなく、「一致項目の強調表示」をご選択ください。


    なお、VSに何かの要望などがあれば、「ヘルプ> フィードバックの送信> 機能を提案する」を選択して、製品チームのエンジニアに報告できます。 

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年2月16日 2:54
    モデレータ
  • Haruka6002さん、ありがとうございます。

    検索文字が目立つようになったのは、これはこれで便利です。
    ただ、検索小ウィンドゥ表示中でないとハイライトされないんですね。
    当方、検索小ウィンドゥを消した状態でいつも検索しているので…。
    やっぱり「選択したテキスト」を目立たせたいです。

    2021年2月17日 8:42
  • こまってますさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    問題を更に分析するため、関連するスクリーンショットを提供していただけますでしょうか。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年2月19日 8:46
    モデレータ
  • 会社のセキュリティ上の関係か、アップロードできないので文面での説明ですが、
    背景を黒、文字色を白、「選択されたテキスト」を明るい緑にしてるのですが、実際は暗い鶯色となります。
    RGB値で表すと、「R:235 G:255 B:181」が、実際は「R:94, G:102, B:72」になります。
    計算してみると透明率60%ですね。

    本来の色なら、コード量が多くてもパッと目立つのに、暗い色だと、コード量が多いと紛れてしまい、探すのは大変です。
    なんとかしてほしいレベルです。

    2021年2月22日 1:59
  • こまってますさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    「強調表示の定義」、「強調表示された参照」、「強調表示された書き込み参照」を選択し、目立つ色に変更してみてください。


    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年2月24日 2:09
    モデレータ
  • やってみましたが変わりませんでした。
    選択文字を強調するための設定が、別途必要なのでしょうか?
    2021年2月24日 9:48
  • こまってますさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    この問題で新しいコンソールアプリを作成して、ここでスクリーンショットをご提供いただけますでしょうか。
    問題をより良くトラブルシューティングするのに役立ちます。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年3月1日 7:57
    モデレータ
  • ようやくなんとかアップロードできました。
    何度やってもダメだったけど、ファイルサイズの問題だったのかな?

    選択文字がパッと見つかりますか?
    よろしくお願いします。

    2021年3月2日 1:50
  • 半透明にさせないことはできるけど、拡張機能を使う気がなさそうなら意味ないだろうけど
    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.Text.Editor;
    using Microsoft.VisualStudio.Utilities;
    
    namespace VSIXProject1
    {
        using System;
        using System.Windows;
    
        [Export(typeof(IWpfTextViewCreationListener))]
        [ContentType("text")]
        [TextViewRole(PredefinedTextViewRoles.Document)]
        internal sealed class TextAdornment1TextViewCreationListener : IWpfTextViewCreationListener
        {
    
            public TextAdornment1TextViewCreationListener()
            {
            }
    
            #region IWpfTextViewCreationListener
    
    
            public void TextViewCreated(IWpfTextView textView)
            {
                FrameworkElement fe = textView as FrameworkElement;
                if (fe == null)
                {
                    return;
                }
    
                if (TryGetSelectionAdornmentType())
                {
                    Type t;
                    RoutedEventHandler handler;
                    if (tMulti_SelectionAdornment != null)
                    {
                        t = tMulti_SelectionAdornment;
                        handler = new RoutedEventHandler(multi_adornment_Loaded);
                    }
                    else
                    {
                        t = tEditorSelectionAdornment;
                        handler = new RoutedEventHandler(editor_adornment_Loaded);
                    }
    
                    Style s = new Style(t);
                    s.BasedOn = fe.TryFindResource(t) as Style;
                    s.Setters.Add(new EventSetter(FrameworkElement.LoadedEvent, handler));
                    fe.Resources.Add(t, s);
    
                }
            }
            private void multi_adornment_Loaded(object sender, RoutedEventArgs e)
            {
                var fe = (FrameworkElement)sender;
                fe.Opacity = 1;
            }
    
            private void editor_adornment_Loaded(object sender, RoutedEventArgs e)
            {
                var fe = (FrameworkElement)sender;
                UIElement parent = fe.Parent as UIElement;
                if (parent != null && parent.Opacity != 1)
                {
                    parent.Opacity = 1;
                }
            }
            private static Type tMulti_SelectionAdornment;
            private static Type tEditorSelectionAdornment;
    
            private static bool TryGetSelectionAdornmentType()
            {
                if (tMulti_SelectionAdornment == null && tEditorSelectionAdornment == null)
                {
    
                    try
                    {
                        //tEditorSelectionAdornment = Type.GetType("Microsoft.VisualStudio.Text.Editor.Implementation.SelectionAdornment, Microsoft.VisualStudio.Platform.VSEditor, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
    
                        foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
                        {
                            try
                            {
                                var fileName = System.IO.Path.GetFileName(asm.Location);
                                if (string.Equals(fileName, "Microsoft.VisualStudio.Platform.VSEditor.dll", StringComparison.OrdinalIgnoreCase))
                                {
    
                                    tMulti_SelectionAdornment = asm.GetType("Microsoft.VisualStudio.Text.MultiSelection.Implementation.UI.SelectionAdornment"); //VS2017 2019
                                    tEditorSelectionAdornment = asm.GetType("Microsoft.VisualStudio.Text.Editor.Implementation.SelectionAdornment"); //VS2015
                                    break;
                                }
                            }
                            catch
                            {
                            }
                        }
                    }
                    catch
                    {
                    }
                }
                return (tMulti_SelectionAdornment != null || tEditorSelectionAdornment != null);
            }
            #endregion
        }
    }

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2021年3月2日 12:16
  • gekka様、情報ありがとうございます。
    しかし今は拡張機能を勉強してる時間もないので…。

    Haruka6002様、ひきつづきご回答お待ちしております。

    2021年3月2日 23:41
  • こまってますさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    下記のスクリーンショットのように、設定を有効にしますか。
     
     

    それでも問題が解決しない場合は、Visual Studioをセーフモードで実行してみて、機能するかどうかを確認してください。

    どうぞよろしくお願いいたします。 

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年3月3日 8:53
    モデレータ
  • これは、選択されたテキストと一致するテキストすべてを、ハイライト表示させる機能ですね。望んでいる機能とは違うので…。
    2021年3月3日 9:21
  • こまってますさん、こんにちは。フォーラムオペレーターのHarukaです。
    ご返信いただきありがとうございます。

    調査の結果、VSIDEでは半透明のカスタマイズがサポートされていないと思われます。

    アイテムの前景色を背景色と同じにすることができるかもしれません。 
    選択したテキストは変更できないため、強調表示の定義と強調表示された参照を変更することをお勧めします。 


    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2021年3月4日 8:55
    モデレータ
  • 確かにご提示いただいた方法だと、検索小ウィンドゥが非表示でも、選択文字がハイライトされます。
    しかし検索してるわけでもないのに、「選択文字と一致する文字が常にハイライトされる」のは、これはこれで望んでないわけでして…。
    2021年3月5日 7:15