Visual Studio Codeの「Debugger for Chrome」でJavaScriptのデバッグを行う

この記事の要約
- 「Debugger for Chrome」をインストールして、Visual Studio Codeの「実行」パネルからデバッグを開始すると、ローカルファイルと連動してJavaScriptのデバッグができる
- 設定内容は
.vscode/launch.jsonに記述する必要があるが、実行パネル内にある「launch.json ファイルを作成します」をクリックすればひな形は作成してくれる
Visual Studio Codeの拡張機能である「Debugger for Chrome」を使うと、Google Chromeで開いているローカルファイルとVisual Studio Codeを連携させてJavaScriptのデバッグが行えます。
具体的にできることは下記の通り。
- 変数の確認
- Visual Studio Code上でブレークポイントを設定してコールスタックを確認
- ウォッチ式の確認
- コールスタックの確認
特にJavaScriptのコード量やファイル数が増えてくると、Chrome開発機能側でブレークポイントを設定するのは面倒だったりするので、Visual Studio Code側でデバッグできるのはありがたかったりします。
逆にそこまでコード量やファイル数のないものであれば、Chrome開発機能で十分です。
初期設定
サイドバーの「実行」パネルを開くとデバッグに関する内容が表示されますが、最初はなにも設定していないのでサイドバー内にある「launch.json ファイルを作成します」をクリックします。

すると、.vscode/launch.jsonに下記の設定ファイルのひな形が作成されます。
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
]
}もしlocalhostなどを設定しているのであれば、"url"の部分だけ合っているか確認して変更するだけで構いませんが、ローカルファイルを参照したい場合は下記の記述に変更します。
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch local file",
"type": "chrome",
"request": "launch",
"file": "${workspaceRoot}/index.html"
},
]
}"file"の部分はそのとき表示させたいhtmlファイルのパスに変更すればOKです。
あとはメニューの[実行]→[デバッグ開始(F5)]を選択するか、実行パネルの左上の「Launch local file」の緑色の三角をクリックすると、Google Chromeが起動してデバッグを開始できます。

デバッグ時の停止・リロード・終了などの操作は画面上に表示されるコントローラから行います。

Google Chrome以外のブラウザ
Google Chrome以外のブラウザの拡張機能もあるので、他ブラウザで使いたい場合はそれぞれのブラウザ用の拡張機能をインストールしましょう。
- Firefox:Debugger for Firefox
- Microsoft Edge:Debugger for Microsoft Edge


WordPressでbloginfo()の一部パラメーターの廃止・非推奨に注意!
ソースコードをハイライトする軽量ライブラリ「Highlight.js」の導入方法と使い方
Dashで「Secure Input is Enabled」と表示される場合の対処法
「とりあえず無料版!」ではなく、機能を知った上で判断したいMAMPとMAMP PROの比較
Visual Studio Codeの拡張機能「Trailing Spaces」でコードの中にある余計なスペースを表示する
WordPressのwp_is_mobile()で条件分岐をするときは、キャッシュの設定に注意
WordPressでコンタクトフォームを設置したいならこれ!!Contact Form 7のインストール方法
npm install時に「cb() never called!」とエラーが表示されたときの解決法
ウェブ上でLaTeXで数式をキレイにプレビューするJavaScriptライブラリ「MathJax」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Figmaで画面遷移図やフローチャートをつくるときに線を自動で引いてくれるプラグイン「Autoflow」
MacのSIPのオン・オフを切り替える方法
Keyboard Maestroを使ってDropboxの「同期の無視」を簡単にできるようにする
Macの「システム終了」や「スリープ」操作を素早く行う方法
Google日本語入力のRomaji tableを設定して、ローマ字入力する感覚で絵文字を表示させる方法
テキストエディタのAtomをインストールしたら最低限設定しておきたいアレコレ
Figmaでデザインデータを整理するときに役立つプラグイン「Clean Document」
Dart Sassを使う上で1番基本的なネストやアンパサンドの書き方|Dart Sass入門
iStat Menusの「ネットワーク」アイコン表示と設定