Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 覆盖VS代码中的默认语法着色_Visual Studio Code_Vscode Settings - Fatal编程技术网

Visual studio code 覆盖VS代码中的默认语法着色

Visual studio code 覆盖VS代码中的默认语法着色,visual-studio-code,vscode-settings,Visual Studio Code,Vscode Settings,我试图覆盖VS代码中的默认语法着色。特别是在默认的主题灯Visual Studio中,我希望看到036A07绿色,而不是a31515 redish颜色 为此,在我的user settings.json文件中的editor.tokenColorCustomizations中,我更改了以下默认值: "editor.tokenColorCustomizations": null 致: 我保存了settings.json文件并重新启动了VS代码,但在突出显示与以前相同的redish颜色的代码中没有看到

我试图覆盖VS代码中的默认语法着色。特别是在默认的主题灯Visual Studio中,我希望看到036A07绿色,而不是a31515 redish颜色

为此,在我的user settings.json文件中的editor.tokenColorCustomizations中,我更改了以下默认值:

"editor.tokenColorCustomizations": null
致:

我保存了settings.json文件并重新启动了VS代码,但在突出显示与以前相同的redish颜色的代码中没有看到任何更改:

问题:我的代码有什么问题?正确的代码是什么

根据下面的@tHeSiD-answer,我创建了这段代码,它成功了:

"editor.tokenColorCustomizations": {
      "textMateRules": [
        {
          "name": "Single Quotes",
          "scope": "string.quoted.single.python",
          "settings": {
          "fontStyle": "",
          "foreground": "#036A07"
          }
        }]
      }
仅用于特定主题的设置:

"editor.tokenColorCustomizations": {
      "[Visual Studio Light]": {
        "textMateRules": [
          {
            "name": "Single Quotes",
            "scope": "string.quoted.single.python",
            "settings": {
            "fontStyle": "",
            "foreground": "#036A07"
            }
          }]
      }
  }

它也可以在不将editor.semanticHighlighting.enabled设置为false的情况下工作

您必须像这样添加每个范围的定义

"semanticTokenColors": {
      "namespace": "#ffffff",
      "type": "#ffffff",
      "struct": "#ffffff",
      "class": "#ffffff",
      "class.readonly": {
         "foreground": "#ffffff",
         "fontStyle": "bold italic"
      },
      "*.declaration" : {
         "fontStyle": "bold"
      },
      "*.readonly" : "#ffffff",
  }
要获取所需的范围,请使用命令调色板CTRL-SHIFT-p,然后选择Developer:Inspect Editor标记和范围

这些是textmate规则,您必须禁用语义突出显示才能正常工作。为此,请添加editor.semanticHighlighting.enabled:false

但是,如果您想通过语义高亮显示为所有内容上色,则必须使用类似的方法

"semanticTokenColors": {
      "namespace": "#ffffff",
      "type": "#ffffff",
      "struct": "#ffffff",
      "class": "#ffffff",
      "class.readonly": {
         "foreground": "#ffffff",
         "fontStyle": "bold italic"
      },
      "*.declaration" : {
         "fontStyle": "bold"
      },
      "*.readonly" : "#ffffff",
  }

您必须像这样添加每个范围的定义

"semanticTokenColors": {
      "namespace": "#ffffff",
      "type": "#ffffff",
      "struct": "#ffffff",
      "class": "#ffffff",
      "class.readonly": {
         "foreground": "#ffffff",
         "fontStyle": "bold italic"
      },
      "*.declaration" : {
         "fontStyle": "bold"
      },
      "*.readonly" : "#ffffff",
  }
要获取所需的范围,请使用命令调色板CTRL-SHIFT-p,然后选择Developer:Inspect Editor标记和范围

这些是textmate规则,您必须禁用语义突出显示才能正常工作。为此,请添加editor.semanticHighlighting.enabled:false

但是,如果您想通过语义高亮显示为所有内容上色,则必须使用类似的方法

"semanticTokenColors": {
      "namespace": "#ffffff",
      "type": "#ffffff",
      "struct": "#ffffff",
      "class": "#ffffff",
      "class.readonly": {
         "foreground": "#ffffff",
         "fontStyle": "bold italic"
      },
      "*.declaration" : {
         "fontStyle": "bold"
      },
      "*.readonly" : "#ffffff",
  }

如果你想通过语义学在这里做,谢谢你。成功了。我有一个问题:它在没有编辑器的情况下工作。这里也没有关于该步骤的信息。如果我保持启用状态,会有任何问题吗?是的,会出现什么问题?到目前为止,默认情况下,语义突出显示仅适用于vscode中的TS和JS,并且您的语言服务器特定语言扩展支持它。因此,如果在检查语义范围时看不到语义范围,则该设置不会影响任何内容!:将来,如果您的语言服务器增加了对语义突出显示的支持,那么这些设置将覆盖您的textmate规则。顺便问一下,这是什么?这里还有更多,因为我低估了名称的值,比如这里的名称:Deleted is Deleted可以是任意的,并且不会影响任何内容,对吗?是的,这只是对规则的描述。你可以用它来命名你的规则,以便以后可以很容易地找到它们。如果你想在这里通过语义来实现,谢谢。成功了。我有一个问题:它在没有编辑器的情况下工作。这里也没有关于该步骤的信息。如果我保持启用状态,会有任何问题吗?是的,会出现什么问题?到目前为止,默认情况下,语义突出显示仅适用于vscode中的TS和JS,并且您的语言服务器特定语言扩展支持它。因此,如果在检查语义范围时看不到语义范围,则该设置不会影响任何内容!:将来,如果您的语言服务器增加了对语义突出显示的支持,那么这些设置将覆盖您的textmate规则。顺便问一下,这是什么?这里还有更多,因为我低估了名称的值,比如这里的名称:Deleted is Deleted可以是任意的,并且不会影响任何内容,对吗?是的,这只是对规则的描述。您可以使用它来命名您的规则,以便以后可以很容易地找到它们。