如何解决如何从 VSCode 语言服务器生成控制台输出/日志
我一直在使用 VSCode 的示例语言服务器协议代码 (https://github.com/microsoft/vscode-extension-samples/blob/main/lsp-sample/server/src/server.ts) 来制作我自己的自定义自动完成系统。作为系统的一部分,LSP 使用用户迄今为止键入的文本向外部 API 发出请求。但是,我遇到了请求问题,我想将响应打印到控制台。以下是我修改 connection.onCompletion
方法的方式:
connection.onCompletion(
async (_textDocumentPosition: TextDocumentPositionParams): Promise<CompletionItem[]> => {
// The pass parameter contains the position of the text document in
// which code complete got requested. For the example we ignore this
// info and always provide the same completion items.
let base_url = BASE_FI_URL
// Cast to string with '' (instead of string or undefined)
let value = ''+documents?.get(_textDocumentPosition.textDocument.uri)?.getText()
let space_index = value.lastIndexOf(" ")
// Only searches for the text after the most recent space
let last_word = value.substring(space_index,value.length)
if(last_word.includes("\`")) {
last_word = last_word.substring(last_word.lastIndexOf("\`")+1)
base_url = BASE_DB_URL
}
const url: string = base_url+last_word;
let response: any = []
try {
response = await axios.get(url);
} catch (exception) {
process.stderr.write(`ERROR received from ${url}: ${exception}\n`);
}
let names: any = []
console.log('response: ' + response)
return names;
}
);
显然,这只是返回一个空的建议数组,但我希望首先在某处看到带有来自 API 的响应数据的日志输出。我看到帖子建议将 languageServerExample.trace.server
中属性 package.json
的默认值更改为 verbose
,但这对我没有任何作用(或者至少,我看不到)。谁能帮我一把?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。