获取Visual Studio代码以语法突出显示无扩展名的文件作为bash脚本?

ang*_*son 5 visual-studio-code

我已经开始使用Visual Studio Code编写一些bash脚本来增强git,并且我希望编辑器在这样做时使用语法突出显示。

这些文件没有扩展名,否则git不会将其作为其他命令使用。

这是此类脚本的示例名称: git-review

所以问题是,如何配置Visual Studio Code以对这些文件使用Bash语法突出显示?

如果我从Visual Studio Code内部将文件重命名为带有的名称.sh,例如git-review.sh,然后再不带扩展名(git-review),则Visual Studio Code似乎会记住这一点并显示语法突出显示,但是我添加到文件夹中的所有新文件均以纯文本突出显示(直到我重命名舞蹈)。即使我关闭文件并重新启动Visual Studio Code并重新打开文件,Visual Studio Code似乎也记得这一点。我不知道多久了。

我可以使用纯文本文件,由于某种原因,该文本没有以bash脚本突出显示扩展名,但是很显然,如果有一种方法可以使Visual Studio Code变得更加智能,例如查看第一行,#!/bin/sh那么更好。

我尝试使用“为'.xyz'配置文件关联”来查看这些关联如何存储在设置文件中,并发现这正确地将Bash突出显示应用于.xyz文件:

"files.associations": {
    "*.xyz": "shellscript"
},
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

"files.associations": {
    "*.": "shellscript"
},
Run Code Online (Sandbox Code Playgroud)

也没有:

"files.associations": {
    "*": "shellscript"
},
Run Code Online (Sandbox Code Playgroud)

有什么办法哄这个设置来处理无扩展名的文件?

如果这很重要,则这是Windows的Visual Studio代码。

Are*_*res 10

作为一种解决方法,您可以通过单击 VS 代码编辑器右下角的“选择语言模式”手动设置文件的突出显示,然后选择文件类型(也可以是 Ctrl+KM)。

不利的一面是您每次都必须这样做,但这比您描述的重命名过程要容易得多。

在此处输入图片说明


Gam*_*a11 7

如果有办法使Visual Studio Code变得更加智能,例如先看第一行,#!/bin/sh那会更好。

VSCode其实已经 assoicate文件与shellscript基于该家当。但是,请注意,它不会动态检测到它-如果添加了shebang,则需要关闭并重新打开该文件,以使VSCode注意到它。

  • 仅供参考 https://github.com/microsoft/vscode/issues/25746 是一张自动执行此操作的票。希望这可以避免其他人检查是否存在现有请求。 (2认同)