摩纳哥 - 注销语言功能
Monaco - unregister language feature
我正在像这样向摩纳哥添加自定义语言:
monaco.languages.register({ id: 'someLanguage' });
monaco.languages.registerCompletionItemProvider('someLanguage', {
provideCompletionItems: function () {...}
}
我在开发环境中执行此操作,该环境会根据更改进行热重载,因此它使用的是热重载。每次保存内容时,相同的代码都是 运行。导致上面的代码被多次调用,因此 monaco 一次又一次地注册相同的函数。在这个完成提供程序示例中,当在脚本热重载后添加新的提供程序时,我以前的所有提供程序都将保留。
我们是否有任何方法可以取消注册一种语言以便重新注册它?
谢谢
registerCompletionItemProvider
returns 具有 dispose
功能的对象。
只需调用它即可注销您的侦听器。
const { dispose } = registerCompletionItemProvider( ... )
dispose();
我正在像这样向摩纳哥添加自定义语言:
monaco.languages.register({ id: 'someLanguage' });
monaco.languages.registerCompletionItemProvider('someLanguage', {
provideCompletionItems: function () {...}
}
我在开发环境中执行此操作,该环境会根据更改进行热重载,因此它使用的是热重载。每次保存内容时,相同的代码都是 运行。导致上面的代码被多次调用,因此 monaco 一次又一次地注册相同的函数。在这个完成提供程序示例中,当在脚本热重载后添加新的提供程序时,我以前的所有提供程序都将保留。
我们是否有任何方法可以取消注册一种语言以便重新注册它?
谢谢
registerCompletionItemProvider
returns 具有 dispose
功能的对象。
只需调用它即可注销您的侦听器。
const { dispose } = registerCompletionItemProvider( ... )
dispose();