【发布时间】:2023-03-30 19:20:03
【问题描述】:
我正在构建一个 Vscode/Theia 扩展,以提供基于图表的自定义编辑器。在这些编辑器中,在某些事件(例如节点标签编辑)中,我需要向最终用户提供输入控件,他们可以在其中根据我们的自定义语法定义输入表达式。目的是为最终用户提供由 LSP 支持的完整编辑体验,而不是纯输入文本框。我的要求是有一个可重用的小部件,它看起来类似于 TextArea,但具有额外的 LSP 支持以帮助最终用户编写表达式。
到目前为止我做了什么-
-
创建语言支持的vscode-extension,语言客户端和 服务器正在由此启动。
-
内容辅助、错误突出显示等 LSP 功能是 在独立的文件编辑器上工作正常。
-
我可以将 Monaco 编辑器嵌入到基于图表的编辑器中 HTML div,但没有任何 LSP 功能对其起作用。
那么我们如何使用 Monaco 编辑器来编辑非文件资源,例如启用所有 LSP 功能的内存字符串?
【问题讨论】: