VS Code 新建文件的默认语言

VS Code default language of new file

我希望 VS Code 中的所有新文件都以 .sas 文件打开。 (底部的解决方案)

尝试 1

  1. 在 VS Code 中打开一个 .sas 文件。
  2. ctrl + , 打开设置 UI.
  3. 搜索 files,然后单击左侧菜单中的 Files (19)
  4. sas${activeEditorLanguage} 插入“文件:默认语言”框。
  5. 关闭设置window。
  6. ctrl + n打开一个新文件。
  7. 砰的一声趴在桌子上,因为新文件仍然是 .txt 文件而不是 .sas

尝试 2

  1. 在 VS Code 中打开一个 .sas 文件。

  2. ctrl + , 打开设置 UI.

  3. 搜索workbench.settings

  4. 更改设置:编辑器为 json

  5. 关闭编辑器

  6. ctrl + , 打开 JSON.

    中的设置文件
  7. 感到惊讶,因为我看到要修改的设置很少(我希望此文件中有更多设置):

    {
        "editor.insertSpaces": false,
        "editor.wordWrap": "on",
        "workbench.settings.editor": "json"
    }
    
  8. 向文件添加行以尝试指示新文件应使用 sas 语法突出显示和 .sas 扩展名打开,保存并关闭:

    {
        "editor.insertSpaces": false,
        "editor.wordWrap": "on",
        "workbench.settings.editor": "json",
        "files.associations": {
            "*.sas": "sas"
        },
        "files.defaultLanguage": "SAS"
    }
    
  9. ctrl + n打开一个新文件。

  10. 敲桌子,因为新文件仍然是 .txt 文件而不是 .sas

当使用ctrl + ,打开json中的设置编辑器时,我的其余设置包括默认语言设置?

其他信息

我查看了 ,但解决方案没有帮助。

我认为这不重要,但我正在使用 SAS-Syntax extension 来突出显示我的语法。

解决方案

指定语言区分大小写。我之前使用的是小写 sas 但它必须是大写 SAS。函数 JSON 如下:

    {
        "editor.insertSpaces": false,
        "editor.wordWrap": "on",
        "workbench.settings.editor": "json",
        "files.associations": {
            "*.sas": "SAS"
        },
        "files.defaultLanguage": "SAS"
    }

查看 SAS language extension 存储库,扩展在 package.json

中提供了以下语言
"languages": [
    {
        "id": "SAS",
        // the rest of the language entry
    }
]

这意味着代码中的语言ID确实是"SAS"。由于 ID 区分大小写,因此使用 "sas" 将不起作用。更改文件的语言模式时也可以看到括号中的ID:

这意味着您的设置条目 "files.defaultLanguage": "SAS" 是正确的。 我已经在干净的 VS Code 安装上对其进行了测试,它按预期工作。

也因此,您的文件关联将不起作用。当 Code 找不到指定的 ID 时,它将回退到纯文本。您需要将 "files.associations" 设置更改为

"files.associations": {
    "*.sas": "SAS"
}

文件的语言模式

文件的语言模式决定了代码如何处理语法高亮显示和代码片段。

请注意,文件选项卡上显示的图标并未指示语言模式。 SAS 扩展不支持自定义图标,将使用纯文本文件的图标。当前语言模式显示在右下角的状态栏:

您可以使用“更改语言模式”命令为文件手动 select 一种语言,该命令默认绑定到 Ctrl + K, M 快捷方式.

有关代码设置文件的更多信息

Code 的 settings.json 文件对您来说太小了,因为 Code 仅存储对默认设置进行更改的设置。没有默认设置文件,因为设置是硬编码在源代码中的,但您可以让代码为您生成文件。

  1. Ctrl + Shift + PF1打开命令面板

  2. 输入“默认设置”

  3. Select 列表中的“首选项:打开默认设置 (JSON)”

说到准则的 Command Palette,这是一个非常强大的工具,我建议您研究一下。只需搜索它的名称,您就可以使用它在编辑器中执行几乎任何操作。例如,您可以使用适当的命令快速打开 UI 和 JSON 设置。

编辑:

为了解决评论中的问题,代码使用了 3 个级别的设置:

  • 默认设置 - 在编辑器中进行了硬编码,无法更改。
  • 用户设置 - 在 Windows 上位于 %AppData%\Code\User\settings.json 文件中(对于其他系统,请参阅 Code's documentation)并应用于所有在代码中打开的文件和项目。
  • 工作区设置 - 位于项目根目录中的.vscode\settings.json文件中,并应用于所有文件当工作区设置文件为工作区时已打开.

设置从默认值顺序应用到工作区。如果在多个文件中设置了任意一个key,则只有最后一个生效。

How would I specify the language for a specific projects instead of the entire workbench?

在项目的根目录中创建一个 .vscode\settings.json 文件并将您的设置放在那里。如果您更喜欢使用 UI 设置,则可以 select“工作区”选项卡将您的设置保存到工作区设置文件中。

How would I open a similar file in a way to make changes?

不幸的是,代码不允许编辑或保存 defaultSettings.json 文件,因此复制它的唯一方法是复制粘贴内容。幸运的是,这不是必需的 - 您可以覆盖用户或工作区设置文件中的任何默认设置。