我正在尝试使用VSCode的语言服务器开发扩展。我试图找出如何写文本来从扩展的语言 - 服务器部分记录。 console.log什么都不产生
答案 0 :(得分:4)
在服务器端尝试使用connection.console.log。
// Create a connection for the server. The connection uses
// stdin / stdout for message passing
let connection: IConnection = createConnection(process.stdin, process.stdout);
connection.console.log(`Console test.`);
客户端的调试控制台中显示的消息。
对于客户端,简单的console.log对我来说效果很好。
答案 1 :(得分:4)
您必须在客户端扩展代码中的客户端选项上设置outputChannelName
属性:
let clientOptions: LanguageClientOptions = {
outputChannelName: 'XYZ Language Server',
};
完成后,您可以使用console.log()
,它将显示在VSCode扩展输出面板中。
答案 2 :(得分:3)
作为更新,您可以使用vscode.window.createOutputChannel
创建输出容器,然后使用appendLine
方法对其进行写入。
//Create output channel
let orange = vscode.window.createOutputChannel("Orange");
//Write to output.
orange.appendLine("I am a banana.");
答案 3 :(得分:1)
语言服务器协议支持日志记录,使用通知window/logMessage从服务器发送日志消息,VS代码将在输出面板中显示服务器的日志,在语言客户端对应的通道中启动了服务器。