请注意,对于“无标题”编辑器(“Untitled-1”、“Untitled-2”),您现在可以在设置中设置语言。
之前的设置是:
"files.associations": {
"untitled-*": "javascript"
}
这将不再有效,因为 VSCode 1.42 (Q1 2020) will change the title of those untitled editors.
标题现在将是文档的第一行编辑标题,以及作为描述一部分的通用名称。
它不再以“untitled-”开头
见“Untitled editor improvements”
关于那些“无标题”编辑器的相关语言:
默认情况下,无标题文件没有配置特定的语言模式。
VS Code 有一个设置 files.defaultLanguage,用于为无标题文件配置默认语言。
在此版本中,该设置可以采用新值 {activeEditorLanguage},该值将动态使用当前活动编辑器的语言模式,而不是固定默认值。
此外,当您将文本复制并粘贴到无标题编辑器时,如果文本是从 VS Code 编辑器复制的,VS Code 现在会自动更改无标题编辑器的语言模式:
看看workbench.editor.untitled.labelFormat in VSCode 1.43。
2021 年 3 月(VSCode 1.55 可能),issue 118455“无标题文件的自动语言分类”和PR 119325 正在研究某种无标题文件的自动语言检测。
如果你忘记了,使用 VSCode 1.56,2021 年 4 月:
我们注意到许多新用户不知道必须设置语言才能获得完整的 VS Code 语言支持。
为了帮助解决这个问题,我们为无标题编辑器引入了提示,以帮助用户设置正确的语言模式。
无标题提示可能对高级用户没有帮助,因此在您开始输入时它会立即消失,或者您可以选择不显示以不再显示提示。
使用 VScode 1.60(2021 年 8 月):
上一个版本,我们为无标题文件引入了一项实验性功能,该功能会根据内容自动设置文件的语言模式。
此功能使用机器学习来猜测语言,并且完全在您的机器上完成。它由开源 ML 库 Tensorflow.js 和来自 GitHub 用户 @yoeo 的 Guesslang 的 ML 模型提供支持。
此版本默认启用此功能,并将自动语言检测扩展到没有文件扩展名的文件。在 Notebooks 中,我们提供了一种使用语言选择器请求语言检测的简单方法。
这会带来一些有趣的场景:
VSCode 1.65(2022 年 2 月)随附:
启用新设置 workbench.editor.historyBasedLanguageDetection 后,无标题编辑器将使用改进的自动语言检测算法,该算法会考虑您的编辑器历史记录和当前工作区的内容,以提供检测结果所需的输入文本比以前少得多。
以下是跨 JavaScript、TypeScript、Markdown、PHP 和 C++(支持更多语言)使用此功能的示例:
主题:GitHub Light + HC 自定义