【问题标题】:How can I customize python syntax highlighting in VS code?如何在 VS 代码中自定义 python 语法高亮?
【发布时间】:2019-07-14 04:59:40
【问题描述】:

我用 Anaconda 安装了 Visual Studio Code,并且想要自定义语法高亮。我正在使用默认的深色主题,这很好,但 python 内置函数和方法的颜色不是。

我找到了“开发人员:从当前设置生成颜色主题”并试图找到更改的地方。 (我不确定更改语法高亮颜色是否是正确的文件)

我该怎么办?

【问题讨论】:

    标签: python visual-studio-code


    【解决方案1】:

    在 Visual Studio Code 中,您可以使用内置的颜色主题,安装由社区创建并上传到 Marketplace 的新颜色主题或编辑所有已存在的颜色主题。如果您只想自定义特定颜色的语法,例如函数名,需要修改settings.json文件。

    为此,请转到 File > Preferences > Settings > Workbench > Appearance 并在 Color Customizations 部分中单击 在 settings.json 中编辑

    现在您需要通过在此文件中添加代码并保存它来指定您想要自定义的确切内容。

    此代码会将函数名称的颜色变为橙色:

    "editor.tokenColorCustomizations": {
    "functions": "#FF9900"
    

    如果您想更改其他一些设置,例如变量、字符串、数字遵循以下模式:

    "editor.tokenColorCustomizations": {
    "what_you_want_to_customize" : "hex_value_of_color"
    

    如果你想在调用方法时改变颜色,你需要指定范围(在同一个 settings.json 文件中):

    "editor.tokenColorCustomizations": {
            "textMateRules": [
                {
                    "scope": "meta.function-call",
                    "settings": {
                        "foreground": "#FF9900"
                    }
                }
    

    现在,当您在某些对象中调用函数时,它会显示为橙色。

    这是 pandas.DataFrame() 的样子:

    如果您在对象中创建自己的方法,它也将是您选择的颜色。

    这就是结合这两个设置时的样子。

    我只是在创建函数时将颜色更改为红色,在调用函数时将颜色更改为橙​​色以便更好地解释。

    还有official docs 供进一步阅读,还有更多settings to make it custom looks (text, bars, buttons)

    【讨论】:

    • 感谢您的回答。这真的很有帮助。我更改了“函数”颜色,现在我尝试更改“方法”颜色,但 .json 文件中没有“方法”之类的东西。我想让“方法”(例如 list.append() 或 numpy.dot())不同的颜色。有什么办法可以解决吗?
    • 您需要在 settings.json 中使用 textMateRules ,然后告诉编辑器应该考虑哪个范围。我已经编辑了我的帖子以使其更加清晰。希望,现在就是您要寻找的答案。
    • 感谢您的详细解释。现在我知道如何改变它了。 :)
    • 好吧@msoutpico,我已经安装了你提到的这个主题,复制了与post中相同的代码sn-ps,它对我来说就像以前一样工作。没有更多信息,我不确定您在哪里遇到问题。它应该可以工作,因为您覆盖了使用过的主题的外观规则。确保设置文件以 { 开头并以 } 结尾,我提供的 sn-ps 示例(或您自己的规则)前后用逗号(,)与其他人分隔 - 一般来说它仍然是 .json 格式。
    【解决方案2】:

    Stockbroker 答案的正确形式。 (已更正缺少的括号。)

      "editor.tokenColorCustomizations": {
        "textMateRules": [
          {
            "scope": "meta.function-call.generic.python",
            "settings": {
              "foreground": "#FF0000"
            }
          }
        ]
      },
    

    https://github.com/MagicStack/MagicPython/issues/127

    【讨论】:

      【解决方案3】:

      我使用这个答案使用VSCodium(VSCode sans Microsoft)为 Python 创建了 carbon.now.sh “One Dark”主题的副本

      settings.json 文件中这段代码的主题结果:

      "workbench.colorCustomizations":
          {
              "editor.background": "#282C34"
          },
      "editor.tokenColorCustomizations":
          {
              "textMateRules": 
                  [
                      {
                           "scope": "meta.function-call",
                           "settings":
                               {
                                   "foreground": "#5BB6C1"
                               }
                      },
                      {
                           "scope": "string.quoted.single.python",
                           "settings": 
                               {
                                   "foreground": "#94BC79"
                               }
                      },
                      {
                           "scope": "source.python",
                           "settings":
                               {
                               "foreground": "#DE6D77",
                               }
                      }
                  ]
              }
      

      这是我要复制的代码示例,使用 carbon.now.sh 生成:

      :

      上面的主题设置帮助我在 VSCodium / VSCode 中为我 working for Frappe. 的项目复制它

      与 CodeSnap 扩展结合使用时,您可以创建与 Carbon.now.sh 相同的外观,但离线:

      这简化了我在创建文档、包含多个代码 sn-ps 的视频时的工作效率。另外,我可以输入一次有用的代码,而不必将其复制粘贴到其他地方,或者只需获取现有代码的风格化图像 sn-p。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-07
        • 1970-01-01
        • 2016-12-30
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多