52945


if から else
までの、実際には通らない処理の部分を暗く表示させる、またはコメント色に変更する方法をご存知ありませんでしょうか。OmniSharpは効いている状態です。

[code]

    #if false
        ほにゃらら(); // ← この行を暗く表示したい 
    #else
        未定義関数(); // ← エラーで下部に波線が表示されます
    #endif
    
[/code]

環境:  
MacOSX10.14.3 + Unity2018.3.6 + VSCode1.31.1

OmniSharpが動いてるログの一部

[code]

    OmniSharp server started with Mono 5.16.0.
    Path: .vscode/extensions/ms-vscode.csharp-1.17.1/.omnisharp/1.32.8/omnisharp/OmniSharp.exe
    
        Starting OmniSharp on MacOS 10.14.3 (x64)
        DotNetPath set to dotnet
        Located 2 MSBuild instance(s)
            1: Mono 15.0 - "/Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/msbuild/15.0/bin"
            2: StandAlone 15.0 - ".vscode/extensions/ms-vscode.csharp-1.17.1/.omnisharp/1.32.8/omnisharp/msbuild/15.0/Bin"
        Registered MSBuild instance: Mono 15.0 - "/Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/msbuild/15.0/bin"
            CscToolPath = .vscode/extensions/ms-vscode.csharp-1.17.1/.omnisharp/1.32.8/omnisharp/msbuild/15.0/Bin/Roslyn
            CscToolExe = csc.exe
    
[/code]


CC BY-SA 4.0
2019-02-22T06:58:54.673
52938
2019-09-20T06:01:15.170
2019-02-22T16:17:02.573
3060
32276
question
c# vscode
VSCode C#の プリプロセッサディレクティブ #if 行の色につきまして


おそらく、こんな形になるのでは？  
動作確認はしていませんが、簡単なことなので試してみてください。

  * メニューの「ファイル」(Macでは「Code」らしい）・「基本設定」・「設定」をたどって選択
  * 「テキスト・エディター」の「Token Color Customizations」までたどり、「settings.json で編集」をクリック
  * `settings.json`の中に、以下の形式で設定を追記
  * "構文ハイライトのスコープ"の部分はおそらく"invalid"、"そのスコープの色"と"そのスコープのスタイル"の部分は好みの色とスタイル

記入形式

[code]

    "editor.tokenColorCustomizations": {  
      "textMateRules": [  
        {  
          "scope": "構文ハイライトのスコープ",  
          "settings": {  
            "foreground": "そのスコープの色",  
            "fontStyle": "そのスコープのスタイル"  
          }  
        }  
      ]  
    }  
    
[/code]

以下の記事を参照して作っています。  
[今日からUnity + Visual Studio
Codeを用いた快適な開発生活(随時更新中)](https://qiita.com/4_mio_11/items/e7b0a5e65c89ac9d6d7f)  
[Visual Studio Codeの設定「虎の巻」：構文ハイライト／配色テーマ自作編
(1/4)](https://www.atmarkit.co.jp/ait/articles/1710/20/news023.html)  
[Visual Studio Codeの設定「虎の巻」：構文ハイライト／配色テーマ自作編
(2/4)](https://www.atmarkit.co.jp/ait/articles/1710/20/news023_2.html)  
[Color Themes](https://code.visualstudio.com/docs/getstarted/themes)

[VSCodeで変数や予約語が自動的にItalicで表示されているのを無効にする方法](https://qiita.com/k010c1232/items/fd196369c6729b4fbe10)  
[How can I make a VSCode theme recognize C#
interfaces?](https://stackoverflow.com/q/47272835/9014308)  
[editor.tokenColorCustomizations.textMateRules.settings.background not applied
#32759](https://github.com/Microsoft/vscode/issues/32759)

* * *

**追記**

これでスコープ名を調べて見たのだと思われますが、ダメでしたか。  
[New TextMate Scope Inspector
Widget](https://code.visualstudio.com/blogs/2017/02/08/syntax-highlighting-
optimizations#_new-textmate-scope-inspector-widget)

ページの先頭とかから見るとプリミティブな所から定義可能なように見えますが、大変でしょうね。  
[Optimizations in Syntax
Highlighting](https://code.visualstudio.com/blogs/2017/02/08/syntax-
highlighting-optimizations)  
[Syntax Highlight Guide](https://code.visualstudio.com/api/language-
extensions/syntax-highlight-guide)

TextMate関連の記事と資料がこれだと思われますが、何か参考になれば。  
[Include C# textmate grammar in VSCode
#1206](https://github.com/OmniSharp/omnisharp-vscode/issues/1206)  
[dotnet/csharp-
tmLanguage/grammars/csharp.tmLanguage](https://github.com/dotnet/csharp-
tmLanguage/blob/master/grammars/csharp.tmLanguage)  
最後のリンク先に`preprocessor-if-or-elif`等の定義があるので、何かに使えるかもしれません。

C++だと実現しているようですね。そちらから引っ張ることが出来るかも。  
[highlight the code, based on preprocessor definitions
#510](https://github.com/Microsoft/vscode-cpptools/issues/510)  
[Do colorization of inactive preprocessor blocks
#1466](https://github.com/Microsoft/vscode-cpptools/issues/1466)

さらに、よくダウンロードされているC#用テーマでサポートされているかもしれません。  
[eppz! (C# theme for
Unity)](https://marketplace.visualstudio.com/items?itemName=eppz.eppz-code)  
[Identical Sublime Monokai C# theme and
colorizer](https://marketplace.visualstudio.com/items?itemName=maximetinu.identical-
sublime-monokai-csharp-theme-colorizer)


CC BY-SA 4.0
2019-02-22T09:31:44.103
52945
2019-02-22T15:14:41.480
2019-02-22T15:14:41.480
26370
26370
52938
answer