【问题标题】:VSCode change debug shell to bash on windowsVSCode 在 Windows 上将调试 shell 更改为 bash
【发布时间】:2017-03-22 16:03:44
【问题描述】:

上下文:我最近从 Sublime Text 切换到 Visual Studio Code 以测试 Microsoft 文本编辑器的调试功能。这里的主要问题是我的 Ruby on Rails 环境是在 Windows 上的 Ubuntu 中的 bash 上设置的。

我将集成终端外壳更改为 bash,因此,我可以使用集成终端来启动/调试我的应用程序。但是当使用使用Ruby扩展(https://github.com/rubyide/vscode-ruby)的集成调试工具时,它似乎启动了windows cmd来执行配置:

调试器终端错误:进程失败:spawn 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"]
    }
}

【问题讨论】:

标签: ruby-on-rails ruby windows bash visual-studio-code


【解决方案1】:

Visual Studio Code 的 Ruby 扩展只能使用 cmd 来启动调试器。因此,您需要一个 .cmd 包装器来调用 rdebug-ide。

为 Windows 安装 RubyDevKit 应该提供必要的包装器,但您也可以使用下面的行。 基本上是这样的:

@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 在您的PATH 中。

我目前正在将此设置与 ruby​​、rdebug-ide、rails 等的 cygwin 安装一起使用。

【讨论】:

  • 你能分享你的发射吗,j​​son?谢谢!
猜你喜欢
  • 2019-02-19
  • 2013-08-16
  • 1970-01-01
  • 2022-06-12
  • 2015-08-12
  • 2016-05-04
  • 2014-04-23
  • 1970-01-01
  • 2014-08-29
相关资源
最近更新 更多