如何更改特定语言的注释样式

How to change the comment style for a particular language

我是 VScode 的新手。 我想知道是否有任何方法可以更改特定文件扩展名的 line comment 快捷键的行为。 特别是,我有一个名为 file.frm 的文件。 现在此文件类型的行注释应为 *

 cat file.frm
 * This is a comment
 // This is not a comment
 // However ctrl+k ctrl+c puts line comment as // like in C

默认 ctrl+k ctrl+c 将行注释作为 // 类似于 C。 我想将其更改为 *。但当然,对于其他文件类型,此快捷方式的行为将照常不变。我该怎么做?

官方扩展支持此文件类型的语法突出显示,但显然不支持行注释快捷方式:

Name: FORM Syntax Highlighting
Id: benruijl0774.vscode-form
Description: Syntax highlighting for the symbolic manipulation toolkit FORM.
Version: 0.0.1
Publisher: Ben Ruijl
VS Marketplace Link: https://marketplace.visualstudio.com/items? 
itemName=benruijl0774.vscode-form

我做了一个扩展,使这个过程更容易:Custom Language Properties

  1. 打开您要更改注释或括号样式的语言的文件。
  2. 运行 命令面板中的以下命令:
"Show the language configuration file for the current editor"
"command": "custom-language-syntax.showConfigFile",
  1. 这将打开一个编辑器,其中包含与活动文本编辑器的语言 ID 相关的 language-configuration.json 文件。它看起来类似于:
{
  "comments": {
    "lineComment": "//",  // this is wwrong
      "blockComment": [
        "/*",
        "*/"
    ]
}, 
// <etc.>
  1. 现在你有两个选择:
  • 选项 A:将 lineComment 值更改为:
"lineComment": "*",

这会更改您安装的语言扩展中的实际文件。 重新加载vscode查看生效。

此选项的缺点是,如果扩展作者将来更新 language-configuration.json 文件,您将丢失更改并必须重新编辑文件。 [在 form 语言的情况下,这似乎不太可能经常发生。]无论如何,Custom Language Properties 命令可以轻松查看和更改该文件。

  • 选项 B:运行 命令面板中使用语言配置文件作为活动编辑器的以下命令:
"Transform the current language configuration file for intellisense"

这将使以下步骤更容易,因为您应该在设置中获得智能感知。

  1. 在你的 settings.json:
"custom-language-properties": {
  "form.comments.lineComment": "*"  // you should get intellisense for most of this
}

这不会更改基础 language-configuration.json 文件,只是覆盖其 lineComment 条目。您无需重新加载 vscode 即可看到此设置生效。


在您的情况下,如果您 运行 第 4(b) 步,此扩展将无法将语言 ID 本身设置为某些语言(如 form)的异常扩展 ID。在这种情况下,将出现一个输入框供您输入语言标识符(对于这些文件类型,它显示在 vscode window 的右下角)。在您的情况下,输入 'form'、 输入 进行确认,您应该已准备就绪。