问题标签 [language-server-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何为具有大量文件的项目实现基于 LSP 的“转到定义”类型的功能?
是否有推荐的 LSP 实施方法?
据我了解,我需要在后台读取/索引所有文件并将各种声明存储在内存中。
示例列表:https : //microsoft.github.io/language-server-protocol/implementors/servers LSP 服务器是在 nodejs + typescript 上编写的
visual-studio-code - 如何查看 VSCode 语言服务器进程的日志?
情况
我正在尝试编写VSCode Language Server Protocol (LSP) Extension。我让它运行如下:
- 通过从终端
lsp-server
运行启动的进程haskell-lsp-example-exe
- 用Typescript
lsp-client
编写的,目前基本上只是启动lsp-server
(它基于lsp-sample存储库)
lsp-server
启动如下:
使用lsp-client
启动code --extensionDevelopmentPath="path/to/extension"
我可以看到它正确启动,我可以pid
通过活动监视器找到它(我在 Mac 上)。
问题
如何查看由 VSCode 生成的此进程的日志?
语境
我尝试了以下方法:
- 在
lsp-client/package.json
我设置了以下内容,这给了我来回传递的消息。但不是lsp-server
.:的日志
- 我也尝试在启动的 VSCode 实例中打开开发工具,但这给出了日志
lsp-client
- 在启动的 VSCode 实例中标记的日志
Log (Extension Host)
也看起来不太有用
提前感谢您的帮助!
visual-studio-code - VSCode:获取语言服务器中的编辑器内容
我正在尝试将语言服务器开发为 VS Code 中的新语言,并且我使用 Microsoft 示例作为参考(https://github.com/microsoft/vscode-extension-samples/tree/master/lsp-sample)。
在他们的示例中,自动完成是在这段代码中完成的:
正如评论所说,这是一个愚蠢的自动完成系统,因为它总是提供相同的建议。
我可以看到有一个类型的输入参数,TextDocumentPositionParams
并且该类型具有以下接口:
它有光标位置和 aTextDocumentIdentifier
但最后一个只有一个 uri 属性。
我想创建一个智能的自动完成系统,基于光标位置中单词的对象类型。
这个样本非常有限,我有点迷路了。我想我可以读取uri
属性中的文件,并根据光标位置找出我应该建议哪些项目。但是文件没有保存怎么办?如果我读取文件,我会读取磁盘上的数据,而不是编辑器中当前显示的数据。
最好的方法是什么?
node.js - 如何将自定义命令从客户端发送到服务器(LSP 实现)
我的实现基于“vscode-languageserver”,我想知道如何将自定义请求发送到 vscode 服务器实现。
visual-studio-code - 如何从语言服务器主机调用内置命令“vscode.executeReferenceProvider”
我尝试从语言服务器执行内置命令“vscode.executeReferenceProvider”。该命令在“onCodeLensResolve”方法的上下文中作为“CodeLens”对象的属性提供。
错误:
运行贡献的命令:“vscode.executeReferenceProvider”失败。非法参数 'uri' - 文本文档的 Uri
visual-studio-code - 语言服务器如何访问与源文件位于同一目录中的文件
我正在为我的自定义语言编写语言服务器。处理源文件的方式部分受与源文件位于同一目录中的 manifest.json 文件的影响。在工作空间中,可能有多个目录,其中包含多个源文件和每个目录 1 个清单文件。例子
当用户编辑文件时,如何使manifest.json
文件对语言服务器可用.xyz
。
visual-studio-code - 语言服务器 onCompletion 只听字母 [az],如何启用句点 (.)
存储库中的 lsp-sample https://github.com/microsoft/vscode-extension-samples/tree/master/lsp-sample展示了如何实现onCompletion
服务器只听字母 [az] 而不是句点 (.) 我已经看到这是用 控制的triggerCharacters
,但我不清楚在哪里设置这些。这似乎是合乎逻辑的,这需要在客户端部分完成,但似乎我只能注册另一个onCompletion
处理程序。任何人都可以解释一下吗?
这是服务器端代码:
c# - 如何在 Visual Studio 中为 LSP 启用诊断跟踪
我正在尝试在 Visual Studio 中启用 LSP 的诊断跟踪,就像用msdn编写的一样。
根据说明,我做了以下步骤:
我
/li>ConfigurationSections
已将ILanguageClient
我在以下行创建了 VSWorkspaceSettings.json 文件:
/li>我将 VSWorkspaceSettings.json 文件添加到
ILanguageClient
写入 .vs 的文件夹和实现 LSP 的解决方案的 .vs 文件夹中。
但是,它不起作用。我错过了什么?也许我将 VSWorkspaceSettings.json 文件复制到了错误的文件夹中?
visual-studio-code - 如何将现有语言服务器连接到新的 VS Code 扩展
VS Code 允许您安装像 ccls 或 clang 这样的语言服务器作为另一个扩展。但是如何将它连接到我的新自定义扩展?我可以看到有关如何编写自己的语言服务器的信息,但看不到如何利用现有语言服务器的信息。