Sam*_*uel 6 debugging ruby-on-rails rake-task visual-studio-code
我正确配置了环境以在 VS Code 中调试 Rails 应用程序。
它适用于调试 Rails Server。当我开始调试时,它会启动服务器并在我标记的断点处停止。
但是,我不知道如何调试本地文件,例如 rake 任务。它甚至运行任务,但不会在断点处停止。
以下是我如何设置我的环境。
Ubuntu running on WSL2.
VSCode running on windows
Run Code Online (Sandbox Code Playgroud)
安装了扩展:
Remote - WSL from Microsoft
Ruby from PengLv
Run Code Online (Sandbox Code Playgroud)
安装的宝石:
gem install ruby-debug-ide
gem install debase
Run Code Online (Sandbox Code Playgroud)
宝石文件:
gem 'ruby-debug-ide'
gem 'debase'`
Run Code Online (Sandbox Code Playgroud)
/.vscode/launch.json 中调试本地文件的配置:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Rake fd:test",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/bin/rake",
"useBundler": true,
"args": ["fd:test"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
Rake 任务本身位于 /lib/taks/fd.rake:
namespace :fd do
task test: :environment do
a = 10
p "teste"
b = 20
c = 30
end
end
Run Code Online (Sandbox Code Playgroud)
正常工作的调试 Rails 服务器的配置(仅供比较)是:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Rails server",
"type": "Ruby",
"request": "launch",
"program": "${workspaceRoot}/bin/rails",
"args": [
"server"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
正如我上面所说,它运行任务,但不会在断点处停止。有人可以帮我吗?
VS Code 中的Ruby on Rails 调试建议您需要添加pathToBundler和pathToRDebugIDE。
另外,VS Code 对于 RVM 环境变量并不明智,因此我总是为每个配置配置 env。
\n\ngem env将为您提供您的GEM PATHS, 用于设置GEM_HOME和GEM_PATH变量echo $PATH- 只需使用整个路径这样做会让你的配置看起来像:
\n\n{\n "name": "Rake fd:test",\n "type": "Ruby",\n "request": "launch",\n "cwd": "${workspaceRoot}",\n "program": "${workspaceRoot}/bin/rake",\n "useBundler": true,\n "pathToBundler": "/Users/johng/.rvm/rubies/ruby-2.5.3/bin/bundle",\n "pathToRDebugIDE": "/Users/johng/.rvm/gems/ruby-2.5.3@gemset253/gems/ruby-debug-ide-0.7.0/bin/rdebug-ide",\n "args": ["fd:test"],\n "showDebuggerOutput": true,\n "env": {\n "PATH": "/Users/johng/.rvm/gems/ruby-2.5.3@gemset253/bin:/Users/johng/.rvm/gems/ruby-2.5.3@global/bin\xc6\x92/Users/johng/.rvm/rubies/ruby-2.5.3/bin:/Users/johng/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin",\n "GEM_HOME": "/Users/johng/.rvm/gems/ruby-2.5.3@gemset253",\n "GEM_PATH": "/Users/johng/.rvm/gems/ruby-2.5.3@gemset253:/Users/johng/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |