自定义shebang的VSCode语法高亮

Bri*_*ker 5 visual-studio-code vscode-settings

在工作中,我们在自定义环境下运行python,因此我们使用了非标准的shebang。我测试了一下VSCode承认Python文件没有一个.py扩展名,如果他们有一个认领这两种#!/usr/bin/env python或/usr/bin/python或这些变异体。

在工作中,我使用类似于以下的shebang:#!/some/directory/envroot "$ENVROOT/bin/python"但是vs代码无法识别这一点,因此我每次必须手动将语言设置为python。

是否有某个配置可以将自定义shebang映射到一种语言,所以我不必在每次打开文件时手动进行设置?

Mat*_*ner 5

我在VSCode上工作。

shebang映射由firstLine扩展语法贡献定义:

    "languages": [{
        "id": "python",
        "extensions": [ ".py", ".rpy", ".pyw", ".cpy", ".gyp", ".gypi" ],
        "aliases": [ "Python", "py" ],
        "firstLine": "^#!/.*\\bpython[0-9.-]*\\b",
        "configuration": "./language-configuration.json"
    }]
Run Code Online (Sandbox Code Playgroud)

没有设置可以控制此设置,但是您可以file.associations用来将这些文件直接映射到python。

您的特定示例在我看来也似乎是个错误。当前,如果整行都匹配,我们仅使用第一行模式,这似乎很奇怪。我打开了一个问题对此进行调查:https : //github.com/Microsoft/vscode/issues/21533