我有兴趣在VSCode中的简单文本文件中进行授课和做笔记(因为我已经使用它进行编码了)。
但是,对于我的一生,我无法弄清楚如何更改简单的文本颜色。我想要的是在一种压痕深度处具有一种文本颜色。例如,
Notes
a
的颜色将不同于b
和{{1}}。我希望这样做可以使项目要点更加清晰。有没有简单的方法?
谢谢。
答案 0 :(得分:0)
语法突出显示与缩进无关,而是标记和作用域。
VS Code使用TextMate语法将文本分成标记列表。 TextMate语法是Oniguruma常规的结构化集合 表达式,通常写为plist或JSON。你可以找到 在这里很好地介绍了TextMate语法,您可以看看 在现有的TextMate语法中了解有关其工作原理的更多信息
许多人在Markdown中做笔记,提供语法高亮和格式设置。也许试试看?
答案 1 :(得分:0)
您可以使用Highlight之类的扩展名对具有不同缩进的线进行不同的着色。例如,我可以得到这个:
在settings.json中具有以下代码:
"highlight.regexes": {
"((?<!.))(\\w.*)": [
{},
{
"color": "green",
"fontWeight": "bold",
// "outline": "1px solid #fff",
"letterSpacing": "1px"
}
],
"((?<!.))( )(\\w.*)": [
{},
{},
{
"color": "yellow",
}
],
"((?<!.))( )(\\w.*)": [
{},
{},
{
"color": "red",
}
]
}
我的设置在每个选项卡上插入2个空格-我发现您需要在正则表达式中使用空格,而不是像(\\t\\t)
或( ){4}
这样更方便的东西,而必须使用( )
- 4个空格代表两个选项卡-正则表达式可在扩展程序中使用。
有关更多样式选项,请参见https://code.visualstudio.com/api/references/vscode-api#DecorationRenderOptions
扩展链接显示了如何将其限制为所需的任何文件类型。我将其合并到下面的第二批代码中。
如果您只希望为项目符号标题(例如a-z
或1-9
着色,而不是该行上的其余文本),也可以在正则表达式中实现:
"highlight.regexes": {
"((?<!.))(\\w.*)": {
"regexFlags": "gi",
// "filterLanguageRegex": "markdown",
"filterFileRegex": "Notes.*\\.txt",
"decorations": [
{},
{
"color": "green",
"fontWeight": "bold",
"letterSpacing": "1px",
"textDecoration": "underline"
},
]
},
"((?<!.))( )([a-z1-9][:\\.])(.*)": {
"regexFlags": "gi",
// "filterLanguageRegex": "markdown",
"filterFileRegex": "Notes.*\\.txt",
"decorations": [
{},
{},
{
"color": "yellow",
},
{}
]
},
"((?<!.))( )([a-z1-9][:\\.])(.*)": {
"regexFlags": "gi",
// "filterLanguageRegex": "markdown",
"filterFileRegex": "Notes.*\\.txt",
"decorations": [
{},
{},
{
"color": "red",
},
{}
]
}
[仅限于Notes1.txt
,Notes blsdfs .txt
等格式的文件。]
很明显,按照相同的模式,您可以具有任意数量的缩进级别的正则表达式条目。