如何在 Visual Studio Code 中为语言服务器启用日志

Ita*_*ome 5 visual-studio-code vscode-extensions vscode-settings language-server-protocol

语言服务器扩展指南中它说:

'如果您使用vscode-languageclient来实现客户端,您可以指定一个设置[langId].trace.server,指示客户端将语言客户端/服务器之间的通信记录到语言客户端的name.

对于lsp-sample,您可以设置此设置: "languageServerExample.trace.server": "verbose". 现在前往“语言服务器示例”频道。您应该会看到日志:

日志

我在 VS Code 中在哪里以及如何准确指定此设置?

Art*_*sun 6

找到了!

您需要在 .js 文件中创建一个新的Node.js Attachlaunch.json运行配置。

在此输入图像描述

{
    "name": "Attach",
    "port": 6009,
    "request": "attach",
    "skipFiles": [
        "<node_internals>/**"
    ],
    "type": "pwa-node"
},
Run Code Online (Sandbox Code Playgroud)

并将port默认值更改92296009. 您还需要在ServerOptions实例化时传递此 6009 端口new LanguageClient()

在此输入图像描述

之后,当您使用 F5 启动插件时,您现在可以转到“运行”视图并与客户端进程一起运行新创建的“附加”配置:

在此输入图像描述

当两个进程都运行时,您可以在“调用堆栈”部分中在它们之间切换,以查看客户端console.log或语言服务器的:

在此输入图像描述

当然,就像往常一样,在发布赏金之后……


ami*_*ali 2

我对 php 语言服务器所做的是将添加"log": truelaunch.jsonf5文件,然后当您按下开始调试时,编译器将尝试显示日志。但是根据我从您在问题中共享的文档中了解到的信息,您可以按照此说明进行操作(我不保证这会起作用,正如我提到的,这是您在问题中共享的内容的说明):

  • Ctrl+ comma
  • 搜索“跟踪服务器”
  • 现在应该列出语言。如果您使用的是最新版本的 vscode,请在您想要的任何语言服务器中选择 verbose。
  • 如果您使用的是较旧版本的 vscode,请选择所需语言旁边的铅笔按钮,然后选择“详细”

  • 非常感谢您的帮助。您知道如何查看服务器中执行的 console.log() 语句的输出吗?它们似乎没有显示在输出中。 (5认同)