问题标签 [tmlanguage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 语言语法突出显示 - 以 * 开头的注释行可能有也可能没有以下词
我正在为一种语言创建一个语法高亮文件,并且我已将所有内容都映射出来并处理一个例外。
我无法想出一个匹配特定行注释样式的以下条件的正则表达式。
如果第一个非空白字符是星号 (*),则该行被视为注释。
我创建了许多在 regexr 中工作的示例,但它从未在 vscode 中捕获。
例如,正则表达式很酷:
^(?:\s*)\*+(?:.*)?\n
因此,我将其转换为 tmlanguage.json 文件的正确格式:
^(?:\\s*)\\*+(?:.*)?\\n
但它没有正确捕获,如果该行的第一个字符是 *,它不会捕获,但如果第一个字符是空格字符后跟一个 *,它确实有效。
我在stackoverflow上的格式很烂,所以代表一个chr(9)制表符。是一个空间。
我猜要么锚 ^ 在我的正则表达式中不起作用,要么我错误地转义了一些东西。
有什么建议吗?
请参阅随附的示例图片:屏幕截图
syntax-error - Visual Studio 代码主题 - 更改 CSS 语法错误字体颜色
除了在Visual Studio Code Theming - 更改编辑器错误指示器中找到的这个精彩问答之外,我很好奇在 CSS 文件中的错误输出期间控制字体颜色的设置/范围是什么?我希望能够更改默认值。先感谢您。
json - vscode 新语言配置不改变语法颜色
我正在尝试为 CPU12 汇编语言的 Visual Studio Code 中的语法高亮创建一种新语言。当我在新的 .asm 文件中使用新语言时,编辑器知道注释字符是(当我键入 ctrl-k ctrl-c 时,它会在一行中添加一个分号),但文本是白色而不是默认注释颜色绿色。我是否需要指定使用默认的 vscode 主题?如果有,在哪里?
包.json
语言配置.json
(我./syntaxes/cpu12.tmLanguage.json
的是空的。)
themes - 在 settings.json 中将运算符添加到 Visual Studio 代码主题
我正在尝试将单词and
, or
, not
(用于 Lua)添加到名为“Visual Studio Dark”的 Visual Studio Code 主题中,该主题包含在 vscode 常规下载中,并且在“选择颜色主题”屏幕中称为“Dark (Visual Studio )"
我在网上搜索并找到了这个页面:
Visual Studio Code Themes。该页面通过其中的图片清楚地表明,通过在 settings.json 文件中添加设置,我可以完成此操作。我添加了"editor.tokenColorCustomizations"
该页面上第二张和第三张图片中的设置。
通过进一步链接的两页我发现了这个页面:Scope Naming解释了为了将运算符“and”添加到我的规则中,我需要有范围:"keyword.operator.word"
。
然后,我使用在线颜色选择器从具有我想要的代码的语法突出显示图片中获取我需要的特定颜色。(我找不到定义这个的文件,但这将是第二个问题。)
这就是我想出的:
但是在保存文件后,关闭窗口并再次打开它,这就是我看到的:
regex - 捕获评论中被星号包围的内容的正则表达式是什么?
我正在尝试修改定义如下注释的现有语言定义:
这确保了以 a 开头的#
行将被识别为注释并相应地突出显示。我想做的是用星号包围一个注释词,并让它显示为其他东西,keyword
例如。但简单地附加它是行不通的:
但是,如果该行不以 a 开头,它确实有效#
,所以我假设两个规则之间存在冲突。所以,我想我可以通过使用一个正则表达式来解决它,它可以识别评论中未被 包围的所有内容*
,例如:
有任何想法吗?
visual-studio-code - Visual Studio Code:如何在用户定义的语言中包含另一种语言?
我已经下载了语言 A 的插件。它位于 %USERPROFILE%.vscode\extensions\langA\syntaxes。有一个文件 langA.tmLanguage。它是 XML。
我正在创建“语言 B”。我有一个 JSON tmLanguage 文件。我已经添加了一些自定义着色和折叠规则。当语言 A 在 START_MARKER 和 END_MARKER 之间嵌入语言 B 时,我想继承语言 A 的语法。这可能吗?有人可以帮助使用 JSON 语法来完成此操作吗?
奖励问:谁能指出一个不使用语言服务器的真正简单的悬停示例?我想创建一个悬停,它使用光标获取单词并在文档中搜索“DEF_MARKER word”以显示在悬停中。由于我缺乏这些语言的经验以及我下载的 GO 示例或其他插件所涉及的复杂性,我正在努力处理真实的语言示例。
visual-studio-code - `"injectionSelector": "L:markup.fenced_code.block.markdown"` 中的 `L:` 是什么意思?
额外的语法被注入作用域markup.fenced_code.block.markdown
然而L:markup.fenced_code.block.markdown
被使用。L:
在这种情况下是什么意思?它是范围选择器的特殊语法吗?我在https://manual.macromates.com/en/scope_selectors.html中找不到任何相关信息
visual-studio-code - 我的语法高亮语法注入有什么问题?
我正在按照这个示例在 markdown 中进行简单的语法注入。
上面的代码有个小问题——只要有一个字符串superjs
出现在fenced代码块中,剩下的总是会渲染为superjs,这会破坏其他嵌入式语言的fenced代码块语法高亮。
我想通过关注markdown.tmLanguage.json来修复它。
但是它不起作用,我也不知道如何调试它。
visual-studio-code - VS 代码扩展:如何匹配“字符串”而不覆盖另一个模式的颜色 (tmLanguage.json)
我正在为 Visual Studio Code 的特定语言编写扩展,到目前为止,我可以为多个命令设置颜色。
我有我的mylang.tmLanguage.json
其中包含(简化)以下内容:
当我尝试测试“字符串”的颜色时,会否决命令 GOTO。
我尝试做的是,GOTO
第 3 行的颜色与第一个 goto 相同。我的问题是整行都像字符串一样着色(包括GOTO
命令)。
有谁知道如何设置字符串格式为字符串并且包含的命令颜色不同?