gpt4 book ai didi

tokenize - VSCode - 使用自定义语言的 IntelliSense

转载 作者:行者123 更新时间:2023-12-02 22:04:25 28 4
gpt4 key购买 nike

VS Code 社区您好!

我目前正在使用自己的/自定义语言扩展 VS Code 编辑器。正如我想象的那样,这更容易,但现在我遇到了 IntelliSense 问题。

enter image description here

<小时/>

如您所见,VS Code 向我建议注释和字符串的内容,这对我来说是个大问题。

我对此缺乏经验,需要通过尝试来学习;)我想这与分词器有关,但我不知道如何指定/排除注释和变量值。

通常只建议声明变量和给定关键字

相关代码如下:(仅供学习,无意侵犯版权)

/*---------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/
/// <reference path="../../declares.d.ts" />
'use strict';
define(["require", "exports", '../sqfDef', 'monaco-testing'], function (require, exports, languageDef, T) {
var tokenizationSupport = T.createTokenizationSupport(languageDef.language);
var tokenize = T.createTokenizeFromSupport(tokenizationSupport);
var assertTokens = T.assertTokens;
T.module('Syntax Highlighting - SQF');
}

有任何文档吗?或者有人可以解释一下如何将其从建议列表中排除吗?

编辑:好的,我意识到您可以在 Def.js 中定义对象类型,因此不需要在 Tests.js 中定义它们。但我的问题仍然存在。

最佳答案

由于目前没有编写自定义插件的文档,我们都通过逆向工程收集信息。

看看resources\app\plugins\vs.language.typescript\features\suggestSupport.js。在第 10 行,您可以找到此 this.excludeTokens = ['string', 'comment', 'numeric'];。因此,您需要编写自己的 suggestSupport.js 并将其注册到 languageMain.js 中。

您可以在第 58 行的 resources\app\plugins\vs.language.typescript\typescriptMain.js 中找到一个设置示例:

    var suggestSupport = new SuggestSupport(ctx, client);
monaco.Modes.SuggestSupport.register(MODE_ID, suggestSupport);
return Configuration.load(MODE_ID, ctx.configurationService).then(function (config) {
suggestSupport.setConfiguration(config);
});

关于tokenize - VSCode - 使用自定义语言的 IntelliSense,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31290244/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com