获取Visual Studio Code以将无扩展名文件作为bash脚本突出显示?

时间:2017-12-04 14:52:47

标签: 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更加智能,就像查看{的第一行一样{1}}然后那会更好。

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

.xyz

然而,这不是:

"files.associations": {
    "*.xyz": "shellscript"
},

也不是这样:

"files.associations": {
    "*.": "shellscript"
},

有没有办法让这个设置适用于无扩展文件?

如果重要的话,这是适用于Windows的Visual Studio代码。

3 个答案:

答案 0 :(得分:4)

  

如果有办法使Visual Studio Code更智能,比如查看#!/bin/sh的第一行,那就更好了。

VSCode实际上已经根据shebang 分配shellscript的文件。但请注意,它不会动态检测它 - 如果添加一个shebang,则需要关闭并重新打开该文件以供VSCode注意。

答案 1 :(得分:1)

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

缺点是你必须每次都这样做,但它比你描述的重命名过程容易得多。

enter image description here

答案 2 :(得分:1)

您可以使用通配符将其入侵您的 "files.associations": { /* BEGIN: hack to make files with no extension use bash syntax highlighting */ "[!.]": "shellscript", "[!.][!.]": "shellscript", "[!.][!.][!.]": "shellscript", "[!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript", "[!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.][!.]": "shellscript" /* END: hack to make files with no extension use bash syntax highlighting */ }, ,如本 post 中所示。

(next mAP calculation at 1300 iterations) Last accuracy mAP@0.5 = 63.16 %, best = 68.55 %

1250: 13.904115, 23.006844 avg loss, 0.001000 rate, 4.093653 seconds, 40000 images, 10.456502 hours left Resizing, random_coef = 1.40