按文件名模式的 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 语言扩展的主要内容,如果未能解决你的问题,请参考以下文章

VSCode 快速创建H5并调试

VSCode 快速创建H5并调试

如何从 VSCode 中的“保存格式”中排除文件扩展名和语言?

VSCode前端文件(html文件)如何以服务器模式打开?

五步完成一个 VSCode 扩展(插件)开发

Vscode下的Markdown的基本使用