作者:知无不言之歌 | 来源:互联网 | 2023-02-10 15:17
在工作中,我们在自定义环境下运行python,因此我们使用了非标准的shebang。我测试了一下VSCode承认Python文件没有一个.py扩展名,如果他们有一个认领这两种#!/usr/bin/env python
或/usr/bin/python
或这些变异体。
在工作中,我使用类似于以下的shebang:#!/some/directory/envroot "$ENVROOT/bin/python"
但是vs代码无法识别这一点,因此我每次必须手动将语言设置为python。
是否有某个配置可以将自定义shebang映射到一种语言,所以我不必在每次打开文件时手动进行设置?
1> Matt Bierner..:
我在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"
}]
没有设置可以控制此设置,但是您可以file.associations
用来将这些文件直接映射到python。
您的特定示例在我看来也似乎是个错误。当前,如果整行都匹配,我们仅使用第一行模式,这似乎很奇怪。我打开了一个问题对此进行调查:https : //github.com/Microsoft/vscode/issues/21533