按文件名模式的 VSCode 语言扩展
Posted
技术标签:
【中文标题】按文件名模式的 VSCode 语言扩展【英文标题】:VSCode language extension by filename pattern 【发布时间】:2019-10-16 20:34:26 【问题描述】:我正在尝试在 VSCode 扩展中设置自定义语言突出显示。 到目前为止,我成功地使它依赖于文件扩展名。 但是由于结构的一些细节,我需要通过文件路径中的字符串应用语言。 这是来自 VSC API 文档的示例:
"contributes":
"languages": [
"id": "python",
"extensions": [".py"],
"aliases": ["Python", "py"],
"filenames": [],
"firstLine": "^#!/.*\\bpython[0-9.-]*\\b",
"configuration": "./language-configuration.json"
]
似乎有一个filenames
参数。但从我的测试来看,它似乎只支持文件的全名,不接受正则表达式或文件路径。
有没有办法通过文件路径的一部分启用语言。例如:
我们有一个文件\someFolder\Important\file.file
,将我们的自定义语言应用于路径中包含Important
的所有文件。
【问题讨论】:
【参考方案1】:使用filenamePatterns
,它允许全局匹配。所以,在你的 package.json 中:
"contributes":
"languages": [
"id": "python",
"aliases": ["Python", "py"],
"filenamePatterns": [
"*.py",
"*Important*"
],
"firstLine": "^#!/.*\\bpython[0-9.-]*\\b",
"configuration": "./language-configuration.json"
]
注意:filenamePatterns
功能未记录在案。
【讨论】:
以上是关于按文件名模式的 VSCode 语言扩展的主要内容,如果未能解决你的问题,请参考以下文章