有没有办法在 Visual Studio 代码中将注释设为斜体?

Is there a way to italicize comments in Visual Studio Code?

我正在使用 Visual Studio 代码版本 1.11.2。我需要能够在任何语言文件中看到斜体注释,或者至少在 JavaScript、Python、C 和 C++ 中。目前是否有通用设置或是否有编程方式可以实现该设置?

您可以查看Optimizations in Syntax Highlighting

它没有提到评论是主题化 Visual Studio 代码的合格范围。

是的,有很多方法可以做到这一点。

此答案适用于 Microsoft Windows(版本 10.0.14393)和 Visual Studio 代码 1.14.2。

如果您使用的是从扩展市场安装的主题,它们的文件位于 C:\Users\<YourUsername>\.vscode\extensions\

假设您正在使用 Kal.theme-glacier。主题文件是这样的:

C:\Users\<YourUsername>\.vscode\extensions\Kal.theme-glacier-0.0.1\themes\glacier.tmTheme

在任何文本编辑器中编辑文件(推荐使用 Notepad++) Visual Studio 编辑主题文件时代码不应 运行 否则您可能需要重新启动 Visual Studio 代码。

找到键名 Comment 并将 FontStyle 更改为 italic。最后的代码块应如下所示:

<dict>
    <key>name</key>
    <string>Comment</string>
    <key>scope</key>
    <string>comment</string>
    <key>settings</key>
        <dict>
            <key>fontStyle</key>
            <string>italic</string>
            <key>foreground</key>
            <string>#515c68</string>
        </dict>
</dict>

如果您使用的是默认主题(不是从 Extension MarketPlace 安装的),则位置在这里:

C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\theme-<name>.

假设您使用的是 Light+(默认灯光)主题。

您首先要查看的文件是 C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\theme-defaults\themes\light_plus.json

您会发现这里没有 Comment 键,但您会注意到 "include": "./light_vs.json" 那么这就是您要编辑的实际文件。 C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\theme-defaults\themes\light_vs.json 中的最后一个块应该如下所示:

{
    "scope": "comment",
    "settings": {
        "foreground": "#009000",
        "fontStyle": "italic"
    }
},

感谢维克多为我指明了正确的方向。将其放入我的设置文件(Visual Studio 代码 1.42.1)就可以了:

"editor.tokenColorCustomizations": {
  "textMateRules": [
    {
      "scope": "comment",
      "settings": {
        "fontStyle": "italic"
      }
    }
  ]
}

您可以通过按 ctrl/cmd + shift + p 并查找 Developer: Inspect Editor Tokens and Scopes.

来查看选择器范围

您可以通过提供数组将设置应用于多个范围:

"editor.tokenColorCustomizations": {
  "textMateRules": [
    {
      "name": "Comment",
      "scope": [
        "comment",
        "comment.block",
        "comment.block.documentation",
        "comment.line",
        "comment.line.double-slash",
        "punctuation.definition.comment",
      ],
      "settings": {
        "fontStyle": "italic",
        // "fontStyle": "italic underline",
        // "fontStyle": "italic bold underline",
      }
    },
  ]
},

相关:How do I get Visual Studio Code to display italic fonts in formatted code?

Visual Studio 代码 GitHub 问题跟踪器上发布了更完整的答案: Disable Italic Option Feature Request #32579 (Themes)

例如:

punctuation.definition.comment to disable italic on the characters that creating comments (like: // and others).

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "scope": [
                "comment",
                "punctuation.definition.comment",
                "variable.language"
            ],
            "settings": {
                "fontStyle": ""
            }
        }
    ]
}