You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断VSCode语言扩展是否运行及进行日志/调试?

VSCode Language Server 调试与日志问题解决方案

一、确认扩展是否运行

  • 打开VSCode「扩展」面板(Ctrl+Shift+X),搜索你的扩展名称,确认处于启用状态
  • 打开命令面板(Ctrl+Shift+P),执行Developer: Show Running Extensions,在列表中查找你的扩展,验证是否在运行
  • 检查根目录package.json的activationEvents字段:LSP扩展需配置正确的激活触发条件,比如onLanguage:你的语言ID或onCommand:自定义命令,确保与场景匹配,否则扩展可能无法启动

二、日志输出与查看位置

Client 端日志

  • 放弃client.info(),直接使用VSCode内置的console.log():输出会显示在「输出」面板(Ctrl+Shift+U),需在面板顶部下拉菜单中选择你的扩展名称或「Language Server Client」相关通道
  • 弹窗测试(类似浏览器alert):使用vscode.window.showInformationMessage('测试内容'),会直接在VSCode界面弹出提示框,直观验证代码是否执行

Server 端日志

  • 在client初始化LanguageClient时,配置trace: 'verbose'参数,或启用traceOutputChannel,server端的日志会输出到指定的「输出」面板通道
  • 打开「输出」面板,选择对应的Language Server通道,即可查看server端的执行日志,包括补全逻辑的运行情况

三、调试运行状态

Client 端调试

  1. 切换到「运行和调试」面板(Ctrl+Shift+D),选择「Launch Extension」配置(无配置时VSCode会自动生成)
  2. 点击启动调试,会打开「扩展开发宿主」窗口
  3. 在原项目窗口的extension.ts中设置断点,在宿主窗口触发扩展激活操作(如打开你的语言文件),即可进入断点调试

Server 端调试

  1. 在client的serverOptions中配置调试模式,指定调试端口(如port: 6009)
  2. 在「运行和调试」面板添加「Attach to Language Server」配置,指定对应端口
  3. 先启动「Launch Extension」调试,再启动附加调试,即可断点调试server端的补全逻辑代码

四、常见遗漏点排查

  • 检查TypeScript编译状态:查看「问题」面板(Ctrl+Shift+M),确认client/out/extension.js和server/out/server.js编译成功,无语法错误
  • 验证client与server的连接配置:确保serverOptions中指定的server入口路径正确指向编译后的out/server.js
  • 检查补全逻辑触发条件:server端是否正确注册completionProvider,触发字符(如.)或文档范围是否配置合理,确保满足补全触发条件

内容的提问来源于stack exchange,提问作者Lance Pollard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:05:29