摩纳哥-注销语言功能

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

我正在像这样向摩纳哥添加自定义语言:

 monaco.languages.register({ id: 'someLanguage' });
 monaco.languages.registerCompletionItemProvider('someLanguage', { 
   provideCompletionItems: function () {...}
 }

我在开发环境中执行此操作,该环境会根据更改进行热重新加载,因此正在使用热重新加载。每次保存内容时,都会再次运行相同的代码。导致上面的代码被多次调用,因此monaco一次又一次注册相同的功能。在此完成提供程序的示例中,在热重新加载脚本后添加新的提供程序时,将保留所有以前的提供程序。

我们有什么方法可以取消注册语言以再次注册?

谢谢

monaco-editor
1个回答
0
投票

registerCompletionItemProvider返回具有dispose功能的对象。只需调用它即可取消注册您的听众。

const { dispose } = registerCompletionItemProvider( ... )

dispose();
© www.soinside.com 2019 - 2024. All rights reserved.