WSL2 Ubuntu环境下VS Code扩展激活失败:找不到vscode模块
WSL2 Ubuntu下VS Code扩展无法激活(Cannot find module 'vscode')解决方案
从报错日志的调用栈可以明确:Datadog的Node.js APM追踪库(dd-trace)劫持了Node.js的模块加载逻辑,导致VS Code扩展宿主无法找到内置的vscode模块,进而触发所有扩展激活失败。
以下是可行的解决步骤:
临时修复(快速恢复VS Code功能)
在WSL终端执行以下命令,清除Datadog相关环境变量后启动VS Code:
unset DD_TRACE_ENABLED unset NODE_OPTIONS code .
永久修复(保留Datadog监控的同时解决冲突)
修改Datadog配置,排除VS Code的扩展宿主进程:
- 编辑Datadog Agent配置文件(路径通常为
/etc/datadog-agent/datadog.yaml) - 在
apm_config下添加进程排除规则:apm_config: exclude_processes: - "node /home/.*\\.vscode-server.*extensionHostProcess.js" - 重启Datadog Agent生效:
sudo systemctl restart datadog-agent
彻底移除干扰(若无需Datadog监控)
卸载Datadog Node.js APM库及Agent:
sudo rm -rf /opt/datadog/apm/library/nodejs sudo apt remove --purge datadog-agent
额外排查步骤(若上述方法无效)
- 检查WSL内Node.js版本:执行
node --version,确保使用LTS版本(如18.x),过高/过低版本可能与VS Code扩展宿主不兼容。 - 重置VS Code WSL服务器:在Windows端VS Code按
F1,输入Remote-WSL: Uninstall VS Code Server from WSL,完成后重新连接WSL,让VS Code自动重装服务器。
内容的提问来源于stack exchange,提问作者Luan Martins
相关产品推荐
相关产品推荐

