上下文:我最近从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
问题:我的问题是由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"]
}
}
答案 0 :(得分:0)
Visual Studio Code的Ruby扩展只能使用cmd来启动调试器。因此,您需要一个.cmd包装器来调用rdebug-ide。
安装RubyDevKit for Windows应提供必要的包装器,但您也可以使用下面的行。 它基本上是这样的:
@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
ECHO.This version of Ruby has not been built with support for Windows 95/98/Me.
GOTO :EOF
:WinNT
@ruby.exe "%~dpn0" %*
(这将使用PATH中的ruby.exe来执行名为.bat文件但没有扩展名的脚本。)
将它放在与rdebug-ide相同的位置,并将其命名为 rdebug-ide.bat 。 调整你的launch.json,使 pathToRDebugIDE 指向这个.bat文件(使用完整的Windows路径),并确保ruby在你的路径中。
我目前正在使用这个设置与cygwin安装ruby,rdebug-ide,rails等。