【问题标题】:How to colorize specific React.Js syntax on vscode?如何在 vscode 上为特定的 React.Js 语法着色?
【发布时间】:2019-05-07 16:08:40
【问题描述】:

我试图弄清楚如何在 React 中的类声明中使用 vscode 获取特定的颜色语法。

这些是我想要的颜色:

如您所见,StorePicker 类的名称是紫色,而 React 方法 .Component(包括点)是浅灰色

据我所知,要在 vscode 上使用颜色语法,它需要使用 TM Scope。所以要做到这一点,在我有类声明的代码文件中,我按Ctrl+Shift+p 并搜索Inspect TM Scopes,然后单击特定元素以获取它们各自的范围。


在我的具体情况下,我得到了我需要着色的元素的这些范围:

  • 类名StorePicker (entity.name.class.js, source.js)
  • React 关键字 (entity.name.class.js, source.js)
  • . (keyword.operator.accessor.js, source.js)
  • 方法Component(entity.name.class.js, source.js)

如您所见,StorePicker(类名)、React 关键字和方法Component 共享相同的作用域:entity.name.class.js

假设我只想为.Component 着色。所以我把它放在我的主题配置中:

{
    "name": "[JAVASCRIPT] - Operator Accesor + Method",
    "scope": ["keyword.operator.accessor.js", "entity.name.class.js", "source.js"],
    "settings": {
        "foreground": "#c2cacf"
    }
}

但是StorePickerReact.Component 也用相同的颜色着色:

我还想只为StorePicker(类名)着色:

{
    "name": "[JAVASCRIPT] - Only Class Name",
    "scope": ["entity.name.class.js", "source.js"],
    "settings": {
        "foreground": "#d393e9"
    }
}

再次,不仅StorePicker 被着色,而且ReactComponent 也被着色为相同的颜色:

我的问题:

如果它们共享相同的Scope,我如何才能让它们像第一张图片(取自截屏视频)中那样单独着色?

【问题讨论】:

    标签: visual-studio-code scope themes vscode-settings color-scheme


    【解决方案1】:

    我不知道你是怎么得到这些范围的......

    {
        "scope": "entity.name.type.module.js",
        "settings": { "foreground": "#e2b419" }
    },
    {
        "scope": "entity.other.inherited-class.js",
        "settings": { "foreground": "#c2cacf" }
    },
    {
        "scope": "entity.name.type.class.js",
        "settings": { "foreground": "#d393e9" }
    },
    

    【讨论】:

    • 您好,感谢您对我的问题感兴趣。在我的 Q 中,在第 3 段中,我解释了我是如何获得这些范围的。让我告诉你,我已经测试了你的答案,但不起作用。颜色是一样的,没有变化。你测试过吗?
    • LanguageId? vscode 版本?不起作用的代码示例?
    • javascript, 1.33.1 (用户设置), class StorePicker extends React.Component {}我正在使用主题Cobalt2
    • 你有覆盖javascript语法的扩展吗?例如,你能不能尝试在没有扩展的情况下启动 vscode,看看语法是否不同...code --disable-extensions
    • scope 中的空格表示后代选择器。数组或字符串 - 只是如何编写多个选择器的偏好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 2016-11-24
    相关资源
    最近更新 更多