【问题标题】:Duplicate Completion Item Provider重复完成项提供程序
【发布时间】:2018-10-23 11:19:00
【问题描述】:

我有一个在 Angular 1.5 应用程序内的 iFrame 内运行的 monaco 编辑器实例。每当我加载编辑器时,我都会使用registerCompletionItemProvider 来注册一个自定义完成项。

但是,当第二次加载编辑器时,完成项再次注册,我得到重复的完成项。每次连续加载编辑器时都会发生这种情况。我不知道用户何时会离开编辑器,并且我的控制器无权访问 monaco 编辑器的 dispose() 方法。如何确保我不会继续重新注册现有的完成?

谢谢!

【问题讨论】:

  • 有什么解决办法吗?
  • 不是我想要的。我检查是否定义了我的完成提供程序completionProvider = monacoScope.monaco.languages.registerCompletionItemProvider。如果是,我不再定义它,消除重复完成。

标签: monaco-editor


【解决方案1】:

registerCompletionItemProvider 的返回值提供了 dispose 方法。您可以在卸载编辑器时处理它。

【讨论】:

  • 如何确定何时卸载编辑器?我之前已经成功调用了dispose 方法,并且没有看到完成提供程序有任何变化。
猜你喜欢
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-16
相关资源
最近更新 更多