abstract-syntax-tree - 如何为摩纳哥编辑器实现 java intellisense
问题描述
我们正在使用 monaco 编辑器进行在线代码编辑器。其中一项要求是为 java/python 语言提供智能感知或代码自动完成功能。我搜索了很多资源,但找不到任何有用的资源来介绍如何使自动完成工作。有人说使用语言服务器,但实际上很难让它工作。请问什么是使自动完成适用于java语言的最佳方法?有什么好的材料可以参考吗?或者我们可以只使用一些 json 文件来使自动完成工作吗?
我阅读了 LSP4J 协议,了解语言服务器的理念和解决方案,但现在,我的问题是如何获取数据文件。换句话说,如何创建 CompleteItem 对象并返回?
一些资源说我们需要构建java语言AST或源处理器(字符串处理器)?有没有我可以直接使用的java库?
我这里不想用eclipse,我们需要自己提供服务。
谢谢
解决方案
您可以使用语言服务器协议,如此处针对 python 的描述:
https
://stackoverflow.com/a/71349842/10985072
对于 Java,您可以使用georgewfraser 的 java-language-server例如。
推荐阅读
- google-sheets - 使用数组公式对每一行输入单行查询
- reactjs - 无法使用 material-ui (mui-v5) 和 reactjs 使菜单宽度与容器宽度相同
- c++ - c ++将文件转换为字符串
- c++ - Visual Studio 代码 std_lib_facilities.h C++ 中的错误
- google-cloud-firestore - Firestore - 使用 ETag/If-Match 的 C# 条件更新?
- amazon-web-services - 我是否因未终止 EMR 集群而被收费
- python - netconf AuthenticationError
- uwp - 如何在 C++Winrt 中将 IStorageItem 转换为 StorageFile
- excel - Excel VBA'Selection.Filldown'复制选定单元格上方的单元格
- python - 如何在 Python 中解密 C# 的 AES 加密数据?