首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让Visual Studio代码语法突出显示无扩展文件作为bash脚本?

让Visual Studio代码语法突出显示无扩展文件作为bash脚本?
EN

Stack Overflow用户
提问于 2017-12-04 22:52:47
回答 4查看 9.8K关注 0票数 15

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

这些文件没有扩展名,否则git不会将它们作为附加命令来使用。

下面是这样一个脚本的示例名称:git-review

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

如果我从Visual Studio代码内部将文件重命名为带有.sh的名称,如git-review.sh,然后重命名为无扩展名(git-review),Visual Studio代码似乎记住了这一点并显示语法突出显示,但我添加到文件夹中的任何新文件都突出显示为纯文本(直到我执行重命名舞蹈)。Visual Studio代码似乎记住了这一点,即使我关闭该文件并重新启动Visual Studio代码,然后重新打开该文件。多长时间我都不知道。

我可以接受由于某种原因没有作为bash脚本突出显示的扩展名的纯文本文件,但显然,如果有一种方法可以让Visual Studio代码更智能,比如查看#!/bin/sh的第一行,那就更好了。

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

代码语言:javascript
复制
"files.associations": {
    "*.xyz": "shellscript"
},

但是,这不会:

代码语言:javascript
复制
"files.associations": {
    "*.": "shellscript"
},

这也不是:

代码语言:javascript
复制
"files.associations": {
    "*": "shellscript"
},

有没有办法诱使这个设置为无扩展文件工作?

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-20 22:12:36

如果有一种方法可以让Visual Studio代码更智能,比如查看#!/bin/sh的第一行,那就更好了。

实际上,VSCode已经基于shebang与shellscript关联了文件。但是,请注意,它不会动态检测到它-如果您添加了shebang,您将需要关闭并重新打开该文件,以便VSCode注意到它。

票数 23
EN

Stack Overflow用户

发布于 2017-12-20 21:55:46

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

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

票数 10
EN

Stack Overflow用户

发布于 2021-02-05 14:19:44

您可以使用globbing将其添加到您的settings.json中,如此post中所示。

代码语言:javascript
复制
    "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 */
    },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47636026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档