Context: 我最近从Sublime Text切换到Visual Studio Code以测试Microsoft文本编辑器的调试功能 . 这里的主要问题是我的Ruby on Rails环境在Windows上的Ubuntu中设置为bash .
我将集成终端shell更改为bash,因此,我可以使用集成终端来启动/调试我的应用程序 . 但是当使用集成调试工具使用Ruby扩展(https://github.com/rubyide/vscode-ruby)时,它似乎启动了windows cmd来执行配置:
调试器终端错误:进程失败:生成rdebug-ide.bat ENOENT
Question: 我的问题是由 vscode
试图使用windows cmd而不是指定的bash shell引起的?如果是这样,有没有办法告诉 vscode
使用它而不是windows cmd?
这是我想要执行的任务的 launch.json
配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "Rails server",
"type": "Ruby",
"request": "launch",
"cwd": "/mnt/c/Repos/<project_name>",
"program": "rails",
"pathToRDebugIDE":
"~/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/ruby-debug-ide-0.6.0/bin/rdebug-ide",
"args": ["server"]
}
}
1 回答
Visual Studio Code的Ruby扩展只能使用cmd来启动调试器 . 因此,您需要一个.cmd包装器来调用rdebug-ide .
安装RubyDevKit for Windows应提供必要的包装器,但您也可以使用下面的行 . 它基本上看起来像这样:
(这将使用PATH中的ruby.exe来执行名为.bat文件的脚本,但没有扩展名 . )
将它放在与rdebug-ide相同的位置,并将其命名为rdebug-ide.bat . 调整你的launch.json,使pathToRDebugIDE指向这个.bat文件(使用完整的Windows路径),并确保ruby在你的PATH中 .
我目前正在使用这个设置与cygwin安装ruby,rdebug-ide,rails等 .