首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以扩展VS代码TextMate语言语法吗?

我可以扩展VS代码TextMate语言语法吗?
EN

Stack Overflow用户
提问于 2017-03-30 09:53:49
回答 1查看 1.4K关注 0票数 7

是否有一种方法可以使用其他规则扩展默认的 csharp.tmLanguage?引用现有的作用域?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-31 12:25:21

您可以在中包含语法,如下所示:

代码语言:javascript
运行
AI代码解释
复制
{ "include": "source.cs" }

但是,如果用自己的语法替换语法(定义自己的source.cs作用域),那么就不能再将原始的source.cs作用域包含在其中了(VS代码报告它无法标记文件)。

Visual代码支持语法注入,类似于:

代码语言:javascript
运行
AI代码解释
复制
"grammars": [
            {
                "scopeName": "source.todo",
                "path": "./syntaxes/todo.json",
                "injectTo": [  "source.js", "source.ts" ]
            },

令人惊讶的是记录在案。它可以工作,但您可以注入到现有的作用域,除了顶级的source作用域。而且,在我看来,您只可以注入添加的,而不是重写规则。所以,我同样不能用这种方式扩展语法。

现在,我使用作为解决方案,在这里我贡献了2克。第二种是覆盖C#语法,包括所有通过假作用域的原始规则。我真希望没有这个办法。

通过这种方式,我可以在“我”之前添加一些规则,包括原来的语法。不过,这些都是新增的,我不能真正扩展现有的规则。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43125093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档