2017-03-22 4 views
1

Kontext: Ich wechselte vor kurzem von erhabenen Text zu Visual Studio-Code, um die Debugging-Funktionen des Microsoft Texteditors zu testen. Das Hauptproblem hier ist, dass meine Ruby/Rails-Umgebung auf Bash in Ubuntu auf Windows eingestellt ist. Ich habe die integrierte Terminal-Shell in bash geändert, damit ich das integrierte Terminal zum Starten/Debuggen meiner Anwendung verwenden kann, aber wenn das integrierte Debug-Tool mit der Ruby-Erweiterung (https://github.com/rubyide/vscode-ruby) verwendet wird, scheint es die Windows-Cmd zum Ausführen der Konfiguration (Debugger terminal error: Process failed: spawn rdebug-ide.bat ENOENT) zu starten).VSCode ändern Debug-Shell zu Bash auf Windows

Frage: Wird mein Problem von vscode versucht, die Windows-Cmd anstelle der angegebenen Bash-Shell zu verwenden? Wenn ja, gibt es eine Möglichkeit, vscode zu sagen, sie anstelle des Windows-Befehls cmd zu verwenden?

PS: Hier ist meine launch.json Config für die Aufgabe, die ich ausführen will:

{ "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"] } }

Antwort

0

Die Ruby-Erweiterung von Visual Studio-Code nur in der Lage ist cmd zu verwenden, um den Debugger zu starten. Daher benötigen Sie einen .cmd-Wrapper, um rdebug-ide aufzurufen.

Die Installation von RubyDevKit für Windows sollte die erforderlichen Wrapper bereitstellen, Sie können aber auch die folgenden Zeilen verwenden. Es sieht im Wesentlichen wie folgt:

@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" %* 

(Dies wird die ruby.exe in Ihrer PATH verwenden Sie das Skript wie die .bat-Datei, aber ohne die Erweiterung mit dem Namen auszuführen.)

dieses in der gleichen Standort wie rdebug-ide und nennen es rdebug-ide.bat. Passen Sie Ihre launch.json so, dass pathToRDebugIDE verweist auf diese .bat-Datei (verwenden Sie den vollständigen Windows-Pfad), und stellen Sie sicher, dass Ruby in Ihrem Pfad ist.

Ich verwende derzeit dieses Setup mit einer Cygwin-Installation von Ruby, Rdebug-Ide, Schienen etc.