我正在尝试在 Monaco 编辑器中添加对 Python 智能感知的支持。我发现的所有示例都涉及使用在服务器上运行的 Python 语言服务器并使用 websocket 与前端进行通信;然而,Monaco 运行的 TS 语言服务器是在浏览器工作线程内部运行的,所以我尝试为 Python 模拟同样的事情。
我查看了此地址中的示例,但它们对于我的用例来说不够具体,因为它们非常简单,并且不涉及运行成熟的语言服务器。
这怎么办?
Pyhton 有一个带有语言服务器的软件包。
如果您安装了
pylsp
软件包,您只需输入:
pylsp --ws
在任何终端。 (您可以添加 --port [port]
标志来指定自定义端口,否则使其变得详细:-v
,以便打印出其默认端口)这将在 Websocket 上运行语言服务器,并打印出端口。
(您不必在导入此包的地方编写任何 pyhton 代码。只需安装它即可将源代码自动放入您的 python 安装文件夹中,并且终端命令立即生效)
但是我不知道如何将它连接到 TypeFox 语言客户端,因为实际的 monaco 编辑器在很多层面上被包装和抽象,以至于我找不到可以实际传递 websocket url 的地方。
顺便说一句,虽然它使用网络连接,但它可以在没有任何 wifi 的情况下在本地运行,因为一切都托管在本地主机上。