摩纳哥编辑器更新完成项[角度]

时间:2020-11-05 20:27:37

标签: angular monaco-editor ngx-monaco-editor

我正在尝试通过ngx-monaco-editor在angular 10应用程序中使用monaco编辑器。我认为这是一个摩纳哥编辑器的问题,而不是棱角分明的问题。。。我是新来使用此编辑器的人。

我正在尝试为2个不同的文件提供不同的完成项目,并且将我的语言称为'myLang'

  • 文件1必须具有RULE1作为完成项
  • 文件2需要将RULE2作为完成项

两个文件都以{language:'myLang'}打开

规则是动态的,可以更改,所以我需要动态更新。

到目前为止,我已经能够在“ window.monaco.languages”上注册完成项目的静态列表(甚至是动态列表),但是如何告诉编辑器(或编辑器模型)将List1用于File 1和文件2的List2

在一个更一般的问题中,当您打开2个不同的js文件时,它们将具有不同的上下文。例如,变量名称/函数名称不同。您如何告诉monaco编辑器根据打开的文件使用什么完成项目(如何将所有可用的上下文:变量/函数/标识符)传递给在编辑器中打开的每个文件?

1 个答案:

答案 0 :(得分:0)

好吧,通常当 Monaco 打开文档或用户修改它时,您解析文档的内容。您还可以缓存结果树直到文档被修改(以避免再次不必要地解析它)。

通过解析文档,您可以根据您的语言识别哪些元素是,例如类名、函数名等。

相关问题