gpt4 book ai didi

C# 语法高亮着色

转载 作者:行者123 更新时间:2023-12-04 08:38:46 25 4
gpt4 key购买 nike

我可以像在 Visual Studio 中一样以某种方式单独更改字段/局部变量的颜色吗?
下面是它在 Visual Studio 中的样子(字段变量赋值,readwrite 为绿色,局部变量赋值,readwrite 为白色):
Visual Studio Coloring
但是在 VSCode 中,局部变量和字段变量的范围都是“variable.other.object.cs”和“variable.other.readwrite.cs”,结果是:
enter image description here
(播放器和动画都是绿色的)
我还想区分静态和动态对象,它们都具有“variable.other.object.cs”范围。
在 Visual Studio 中,它看起来像这样:
enter image description here
但它在 VSCode 中是这样的:
enter image description here
我能做些什么吗?
谢谢

最佳答案

为了实现你想要的,荧光笔需要“理解”代码语义。引入了 VSCode 中的语义突出显示 early this year ,并且它对语言的支持仍然有限。 C# 荧光笔背后的引擎 OmniSharp 开始支持基于 Roslyn 的语义作为 experimental feature .
您首先需要选择启用该功能,然后重新启动 VSCode 使其生效。

"csharp.semanticHighlighting.enabled": true,
我假设您知道如何调用范围检查器,但为了其他读者,它在 View 中。 > Command Pallette > Developer: Inspect Editor Tokens and Scopes您现在有两个选项来指定自定义突出显示;要么使用新可用的 semantic token ,或老派 textMateRule范围。
semantic
语义标记也会给你一个修饰符(在这个例子中是 static)
"editor.semanticTokenColorCustomizations": {
"enabled": true,
"rules": {
"field.static": {
"foreground": "#FF0000",
"fontStyle": "italic",
},
},
},
或者,如果您更喜欢使用 textMateRules ,我还没有弄清楚如何指定修饰符。
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "entity.name.variable.field.cs",
"settings": {
"foreground": "#FF0000",
"fontStyle": "italic",
},
},
]
},

关于C# 语法高亮着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64664401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com