各言語、環境でデバッグするためには、各言語、環境の拡張機能をインストールし、対応した設定をlaunch.jsonに記述する必要がある。いくら統一されたデバッグプロトコルを介してデバッグ機能が提供されると言えど、設定ファイルは異なっている。
このデバッグに関する拡張機能の提供している機能を一覧することはできないかと思い、下記のサイトを作成した。
リポジトリ: https://github.com/vscode-debug-specs
各言語について、以下のケースをそれぞれ調べた。
- 単体テストの場合
- バッチのように直接実行する場合
- 実行中のプロセスに対してリモートからアタッチする場合
また、Windows、MacOS、Linuxでの実行方法を調べた。
現在記載している言語、環境は以下の通り。
- Go
- SeverSide Javascript(Node.JS) and TypeScript
- FrontEnd Javascript(Chrome) and TypeScript
- Electron Javascript and TypeScript
- Cordova Javascript
- Python
- C#(.NET Core)
- C/C++
- Java
- PHP
- Bash
拡張機能のREADMEを読めば、ほとんどのことが書かれているが、WindowsやLinuxのことがおろそかだったり、リモートでの実行については触れていなかったり、追加の設定が必要だったりするため、それらをまとめることを目的としている。
最近であっても、Javaの拡張機能がMicrosoftから新しく展開されたり、Pythonの拡張機能を作っていた人がMicrosoftにJoinしたりしており、Microsoft自身がまだまだ手を入れてVSCodeの環境を充実させようとしていて、新しい情報が必要となっている。
また、この一覧を日本語化し、さらにデバッグプロトコルについて解説した同人誌『Visual Studio Code デバッグ技術』をboothで頒布しているので、よろしければ確認ください。