Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 我可以在不写扩展的情况下测试我的LSP服务器吗?_Visual Studio Code_Language Server Protocol - Fatal编程技术网

Visual studio code 我可以在不写扩展的情况下测试我的LSP服务器吗?

Visual studio code 我可以在不写扩展的情况下测试我的LSP服务器吗?,visual-studio-code,language-server-protocol,Visual Studio Code,Language Server Protocol,我正在编写一个语言服务器协议(Language Server Protocol,LSP)服务器,用于neovim,我想用VSCode对其进行测试,以确保所有细节都正确无误,并且没有意外地将任何neovim ISM编码到我的实现中 当前的文档建议我应该编写一个VSCode扩展来充当服务器的客户端,但我对在我不使用的平台上投入那么多精力并不感兴趣 在neovim中,我只需定义CLI命令及其对应的文件类型,然后点击go: let g:LanguageClient_serverCommands = {

我正在编写一个语言服务器协议(Language Server Protocol,LSP)服务器,用于neovim,我想用VSCode对其进行测试,以确保所有细节都正确无误,并且没有意外地将任何neovim ISM编码到我的实现中

当前的文档建议我应该编写一个VSCode扩展来充当服务器的客户端,但我对在我不使用的平台上投入那么多精力并不感兴趣

在neovim中,我只需定义CLI命令及其对应的文件类型,然后点击go:

let g:LanguageClient_serverCommands = {
    \ 'rust': ['rustup', 'run', 'nightly', 'rls'],
    \ 'javascript': ['/opt/javascript-typescript-langserver/lib/language-server-stdio.js'],
    \ }

Visual Studio代码中是否存在类似的内容?

用VSCode编写语言客户机不费吹灰之力,我是这样做的:

导出函数激活(上下文:vscode.ExtensionContext){ //当您的扩展被激活时,这行代码将只执行一次 //TODO:启动服务器exe并与其通信 设serverExe=; 让服务器选项:服务器选项={ 运行:{命令:serverExe,参数:['-lsp']}, 调试:{命令:serverExe,参数:['-lsp']} } let clientOptions:LanguageClientOptions={ //为纯文本文档注册服务器 文档选择器:[ { 模式:“***.txt”, } ], } 让lspClient=newlanguageclient(“Hello LSP”、ServerOptions、clientOptions); //仅用于调试 //lspClient.trace=trace.Verbose; //在此处添加所有一次性用品 context.subscriptions.push(lspClient.start()); }
一旦客户端启动,它将启动服务器并启动初始化会话,客户端将监视VSCode上的所有重要事件(文档打开/关闭/修改、Ctrl+space等),并向服务器发送正确的请求/通知

您不需要完整的膨胀VSCode扩展,只需要一个最小的扩展即可激活其LSP客户端。不幸的是,我想不出更简单的方法。您能给出在VSCode中实际运行此程序的步骤,而不在npm中发布它吗?