from monitors4codegen.multilspy import SyncLanguageServer
from monitors4codegen.multilspy.multilspy_config import MultilspyConfig
from monitors4codegen.multilspy.multilspy_logger import MultilspyLogger
...
config = MultilspyConfig.from_dict({"code_language": "java"}) # Also supports "python", "rust", "csharp"
logger = MultilspyLogger()
lsp = SyncLanguageServer.create(config, logger, "/abs/path/to/project/root/")
with lsp.start_server():
result = lsp.request_definition(
"relative/path/to/code_file.java", # Filename of location where request is being made
163, # line number of symbol for which request is being made
4 # column number of symbol for which request is being made
)
result2 = lsp.request_completions(
...
)
result3 = lsp.request_references(
...
)
...
2条答案
按热度按时间nbysray51#
我发现,截至2023年7月,有一个名为pygls(https://github.com/openlawlibrary/pygls)的库目前正在为语言服务器协议(LSP)开发一个可用的客户端。
在我们等待第一个正式版本的时候,我已经将它包含在我的setup.py文件中的“install_requires”下。这确保了它将在我的项目安装过程中自动安装。下面是我如何修改该文件的:
字符串
通过这行代码,pygls将直接从GitHub存储库中获取并安装到您的环境中。
gpnt7bae2#
我是
multilspy
的作者,multilspy
是Python中的LSP客户端,具有库接口,旨在用于围绕语言服务器构建应用程序。它处理不同语言服务器的配置和初始化,并提供简单的接口。它目前支持运行Eclipse JDT.LS for Java,rust-analyzer for Rust,OmniSharp for C#和jedi-language-server for Python。您可以通过运行pip来安装它:字符串
multilspy
的用法:型