在VSCode中,“vim:filetype”的等效设置是什么?

4
Vim有一种不考虑文件扩展名的方法来指定特定文件使用哪种语法高亮器,只需在文件开头或结尾指定关键字vim:filetype即可。
那么在VSCode中是否有类似的方法可以建议使用某种语法高亮器处理文件呢?
例如,在vim中:
# vim:filetype=i3
set $mod Mod4
set $alt Mod1
...

我需要的不是 `files.associations` 或 `Change Language Mode` 设置,而是在文件本身中指定语言映射。我知道这可能不是内置功能,但希望能够通过扩展实现。
我对此感兴趣的原因是,在Linux中,许多所谓的dotfiles没有任何特殊扩展名。当您在另一台机器上的其他vscode实例中打开文件时,希望IDE能够智能推断正确的语法高亮显示器。
2个回答

4

1
感谢@infinityzxx抽出时间回答这个老问题。这正是我所需要的。 - ExistMe
赞同这个,非常棒的扩展。我相信Sublime Text也有类似的扩展。 - airtonix

0
如果您需要持久化存储,可以在VS Code设置中定义文件关联。如果您打开settings.json文件,您可以定义如下的映射:
{
  "files.associations": {
    "main.php": "html"
  }
}

我建议您在项目的settings.json中进行配置,以便只适用于这些文件。
我不知道如何直接从文件中进行配置。
如果您需要暂时执行此操作,
您可以手动更改语言模式,以使用不同的语法高亮显示特定文件,而不考虑其扩展名。我在最近的博客文章中详细介绍了这一点:https://www.nicoespeon.com/en/2019/12/vscode-syntax-highlight-on-copied-text/ 有不同的方法可以实现这个目标,但我建议您打开命令面板(Ctrl+Shift+P)并键入“更改语言模式”。

enter image description here

它会弹出一个列表,您可以在其中选择适当的语言。

谢谢你的回答。我知道文件关联和更改语言模式选项。我想要的是在文件本身中声明语言映射的方法。这样,当我在另一台机器上打开它时,它可以推断出正确的语法高亮器,而不需要查看文件扩展名。 - ExistMe
哦,我明白你的意思!我认为在VS Code本身中原生设置语言映射是不可能的。似乎在VS Code中有一个相关问题:https://github.com/microsoft/vscode/issues/81610。我今天会这样做:在工作区设置中为项目的这些特定文件定义文件关联,并提交工作区设置,以便共享。虽然这并不理想。 - nicoespeon
我想你是对的,虽然我希望已经有人创建了一个扩展程序,可以至少模仿vim的功能,因为它是人们用文件关联装饰他们的dotfiles的流行标准,但是目前还没有内置机制来实现这个功能。 - ExistMe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接