4

我想做的是创建一个扩展 HTML 支持的扩展——也就是说,它完成了 HTML 支持所做的一切以及更多,其中包括以下内容:

  1. 语法高亮(着色器)
  2. 智能感知
  3. 格式化 HTML
  4. Emmet 片段

这些详细信息列在此页面上上 VS Code 中的 HTML 编程

最终,我想创建一个支持Liquid Templating语法高亮和自动完成的扩展。

我已经让#1 自己作为着色器工作,#2 可以通过语言服务器完成。

由于 Liquid 表达式被插入到 HTML 文档中,因此该插件应该构建在/扩展 HTML 支持之上,而不是覆盖它。这可能吗?

4

1 回答 1

0

看起来这不可能作为扩展。查看源代码src\vs\languages\html\common,如果我想扩展现有的内置语言支持,那么我可以创建一个类扩展。

例如,Handlebars语言支持是以下内容的扩展HTML并由此实现:

// handlebars.ts
import htmlMode = require('vs/languages/html/common/html');
export class HandlebarsState extends htmlMode.State { ... }
export class HandlebarsMode extends htmlMode.HTMLMode<htmlWorker.HTMLWorker> { ... }

所以在我的特殊情况下,我要么想要扩展 HTML 或 Handlebars(我还没有确定哪个更有意义)以添加Liquid语言支持。

于 2016-07-19T20:39:44.387 回答