Visual Studio Code 在支持了插件开发之后,提供了扩展调试器( Debugger )的 API 。也就是说,我们可以通过写插件,给 VS Code 提供调试各种语言、框架的功能。现在 VS Code 的 Marketplace 已经有了 Go 、 PHP 、 Python 、 Mono 等 Debugger 插件。
研习 TypeScript 和 Ruby 有一段时间了,我一直琢磨写点什么试试手。惊讶滴发现 VS Code 居然还没有人写过 Ruby 的 Debugger ,而隔壁 Atom 已经有可以用的 Ruby Debugger 原型了,于是我果断开始造这个轮子。
为了和 Ruby scripts 进行通讯,我使用了 ruby-debug-ide 并实现了对应的 protocol 。而这也是 RubyMine 、 NetBeans 这几个 Ruby IDE 的做法,也就是,我们完全可以实现一样的功能,把 VS Code 变成一个功能完备的 Ruby IDE !
刚刚撸了一个礼拜,完成了以下功能,代码在 GitHub 上:
- Ruby scripts debugging
- Line breakpoints (add, delete, disable, enable)
- Step over, step in, step out, continue
- Multiple, parallel threads
- Call stack
- Scope variables
- Debug console
- Watch window
- Variables evaluate/inspect
还有以下很多功能需要实现:
- Ruby remote debug
- Unit/Integration tests debugging
- Rack
- Rails
- Rake
- Gem
- IRB console
- IntelliSense and autocomplete
- Linting
虽然完成了基本的 ruby scripts 的调试功能,限于时间和人力,但是还有很多 corner case 和功能没完成。如果你
- 想尝试一下 TypeScript
- 想试试写桌面应用
- 想试试写 Debugger
欢迎一起来撸这个插件!
