VSC在Windows下通过WSL调试Node程序 作者: LiesAuer 时间: 2020-06-07 分类: 开发 # 环境需求 ## Windows 1. Visual Studio Code 2. [VSC插件]Remote - WSL 3. WSL ## WSL 1. Node # 令人绝望的node-gym和编译环境 我的Node程序需要依赖`canvas`库,但是`gym`就死活下载不了预编译库,之后`gym`就开始尝试本地编译,但是我的`msbuild`又开始拉胯,死活找不对文件,尝试了不同版本的`msbuild`之后,编译是走下去了,但是又报c++特性不支持,但是我的环境是足够新的,甚至环境都是按照官方给的命令装的,但是就是编译不下去,折腾一晚上,无果而终。 # WSL调试初尝试 突然想起我的电脑是有装WSL的,而且也有Node,我就想能不能通过WSL的Node进行调试呢? 然后发现`launch.json`有以下配置,赶紧试了下  ``` "runtimeExecutable": "wsl node" ``` 然后就报错了,原来是因为`runtimeExecutable`并不支持传递命令(其实大多数配置都不支持直接传递参数,需要通过`args`传递),参数被直接传给`wsl`了,于是改成以下配置 ``` "runtimeExecutable": "wsl", "runtimeArgs": ["node"] ``` 真的可以!但是很遗憾,这样只能运行,打断点是无法命中的  # WSL调试再尝试 通过查阅,发现了一篇文章:[Running Node.js on WSL from Visual Studio Code](https://devblogs.microsoft.com/commandline/running-node-js-on-wsl-from-visual-studio-code/),根据文章改用以下配置  ``` "useWSL": true ``` 但是很遗憾,这个配置已经被弃用了,根据提示需要安装`Remote - WSL`插件来进行WSL调试,注意:较新版的VSC是默认预装并开启了的。  安装后之后,直接`Ctrl+Shift+P`,然后键入`reload window`,回车  再次`Ctrl+Shift+P`,然后键入`wsl reopen`,回车并选择你的WSL系统  因为我装了两个Ubuntu,所以有两个选择  等待插件初始化完成  完成初始化后直接调试,啥配置都不用写,成功,完结撒花!  标签: none