在 VS Code textMateRules 中覆盖 Python f 字符串
Overriding Python f-strings in VS Code textMateRules
在 VS Code 中,我正在寻找一种方法来强制使用特定的 Textmate 规则,覆盖 VS Code 使用的而不是我希望它使用的规则。
我的 VS Code 版本是:
Version: 1.63.0
Commit: 7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
在我的 settings.json
中,我为各种 Textmate 范围设置了自定义颜色覆盖。
特别是,我有这个片段,它的目的是强制对属性名称(“变量”)使用颜色 black
,除非它是 f 字符串,在这种情况下我想整个 f 字符串为 green
。请注意,我希望整个 f 字符串为绿色(但不是“f”字母)——无论它是否包含属性访问。
{
"scope": [
"meta.member.access.python",
],
"settings": {
"foreground": "#000",
"fontStyle": ""
}
},
{
"scope": [
"meta.fstring.python",
],
"settings": {
"foreground": "#007f00",
"fontStyle": "italic"
}
},
相反,我得到的是下面的屏幕截图,您可以在其中看到 self.hello
仍然是黑色,并且在检查与这些元素匹配的 Textmate 规则后,我看到它是 meta.member.access.python
确实。
VS Code Textmate rules f-strings
问题是我怎样才能实现我想要的?
当我在 f 字符串中时忽略其他规则的方法或以某种方式组合规则的方法,例如仅当 meta.member.access.python
在 f 字符串中时才使用特定设置?
谢谢。
{
"scope": [
"meta.fstring.python constant.character.format.placeholder.other.python",
"meta.fstring.python variable.language.special.self.python",
"source.python meta.fstring.python string.interpolated.python string.quoted.single.python",
"meta.fstring.python"
],
"settings": {
"foreground": "#00ff0d",
"fontStyle": "italic"
}
},
无法复现你的状态,不知道你用的是哪个Color Theme,不同的color theme会修改范围和颜色。但是你可以像上面的例子一样覆盖它。
在 VS Code 中,我正在寻找一种方法来强制使用特定的 Textmate 规则,覆盖 VS Code 使用的而不是我希望它使用的规则。
我的 VS Code 版本是:
Version: 1.63.0
Commit: 7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
在我的 settings.json
中,我为各种 Textmate 范围设置了自定义颜色覆盖。
特别是,我有这个片段,它的目的是强制对属性名称(“变量”)使用颜色 black
,除非它是 f 字符串,在这种情况下我想整个 f 字符串为 green
。请注意,我希望整个 f 字符串为绿色(但不是“f”字母)——无论它是否包含属性访问。
{
"scope": [
"meta.member.access.python",
],
"settings": {
"foreground": "#000",
"fontStyle": ""
}
},
{
"scope": [
"meta.fstring.python",
],
"settings": {
"foreground": "#007f00",
"fontStyle": "italic"
}
},
相反,我得到的是下面的屏幕截图,您可以在其中看到 self.hello
仍然是黑色,并且在检查与这些元素匹配的 Textmate 规则后,我看到它是 meta.member.access.python
确实。
VS Code Textmate rules f-strings
问题是我怎样才能实现我想要的?
当我在 f 字符串中时忽略其他规则的方法或以某种方式组合规则的方法,例如仅当 meta.member.access.python
在 f 字符串中时才使用特定设置?
谢谢。
{
"scope": [
"meta.fstring.python constant.character.format.placeholder.other.python",
"meta.fstring.python variable.language.special.self.python",
"source.python meta.fstring.python string.interpolated.python string.quoted.single.python",
"meta.fstring.python"
],
"settings": {
"foreground": "#00ff0d",
"fontStyle": "italic"
}
},
无法复现你的状态,不知道你用的是哪个Color Theme,不同的color theme会修改范围和颜色。但是你可以像上面的例子一样覆盖它。