VS Code 自定义语法突出显示扩展在直接调用时有效,但在安装后无效

问题描述 投票:0回答:1

我为我的脚本语言创建了 VS Code 的自定义语法突出显示扩展。

我开始从标准文件夹中运行 Yeoman Visual Studio Code Extension Generator。在提供了我的语言的一些通用详细信息(例如名称、文件扩展名等)后,Yeoman 创建了一个以我的语言命名的文件夹,并询问我是否要打开 VS Code 来处理它。

我说是的,并开始修改名为syntaxes/bonal.tmLanguage.json的语法特定文件(bonal是语言,.bnl是文件扩展名)以满足我的需要。

按照名为 vsc-extension-quickstart.md 的文件(在 Yeoman 创建的文件夹内)中的建议:

## Get up and running straight away

* Make sure the language configuration settings in `language-configuration.json` 
  are accurate.
* Press `F5` to open a new window with your extension loaded.
* Create a new file with a file name suffix matching your language.
* Verify that syntax highlighting works and that the language configuration 
  settings are working.

我就这样做了,进行更改并通过 F5 启动 VS Code 窗口来测试我的语法调整,直到一切都如我所愿。

之后,“简单”部分应该是将 Yeoman 创建的包含整个内容的“bonal”目录复制到

<user home>/.vscode/extensions
;关闭 VS Code 并在带有扩展名为“.bnl”的源代码文件的地方启动它。

但它无法识别这些文件。它只是将它们视为“Markdown”文件,如果我尝试在编辑器右下角选择文件类型,则“bonal”不存在(这是在前面提到的创建目录中工作时的情况)。我尝试建立文件关联(命令面板 + 更改语言模式),但未列出语言(处于 F5 调试模式)。我还尝试在 '/.vscode/' 中创建一个 settings.json 文件,但这也不起作用。

{
  "files.associations": {
    "*.bnl": "bonal" 
  }
}

而且,正如我之前提到的,如果我进入我开发整个东西的目录并运行“code bonal”,加上 F5 等。它可以工作! (如果我在 '/.vscode/extensions/' + F5 中启动 'code bonal' 也有效)

任何关于我做错了什么的想法将不胜感激。

以防万一,我使用 ubuntu 22.04 和 VS Code 1.81.1

这是“package.json”文件:

{
  "name": "bonal",
  "displayName": "Bonal",
  "description": "BONAL Programming Language",
  "version": "0.0.1",
  "engines": {
    "vscode": "^1.81.0"
  },
  "categories": [
    "Programming Languages"
  ],
  "contributes": {
    "languages": [{
      "id": "bonal",
      "aliases": ["Bonal", "bonal"],
      "extensions": [".bnl"],
      "configuration": "./language-configuration.json"
    }],
    "grammars": [{
      "language": "bonal",
      "scopeName": "source.bonal",
      "path": "./syntaxes/bonal.tmLanguage.json"
    }]
  }
}

提前致谢!

visual-studio-code vscode-extensions vs-extensibility
1个回答
0
投票

请勿将您自己的扩展移动/复制到

.vscode/extensions
来安装它们。相反,请按 Ctrl+Shift+P 并选择
Developer: Install Extension from Location...
。将出现一个目录选择器,您必须选择扩展程序所在的目录。这不会复制文件夹,但会从其位置读取您的扩展(因此您无需在更改后重新安装扩展)。

对扩展进行更改后,要重新启动它,请再次按 Ctrl+Shift+P,然后选择

Developer: Reload Window
刷新 VS Code 窗口。或者,关闭 VS Code 并重新打开它。

© www.soinside.com 2019 - 2024. All rights reserved.