Visual Studio Codeで簡易的なローカルサーバーを起動して、コード保存時に自動でブラウザをリロードする拡張機能「Live Server」

ちょっとしたコードを書くときに、わざわざ別のツールを使うこと無くローカルサーバーを起動し、さらにライブリロード機能(コード保存時に自動的にブラウザリロードをする機能)にも対応しているVisual Studio Codeの拡張機能が「Live Server」です。
今回はこのLive Serverに関してまとめておきます。
Live Server

Live Serevrの特徴は下記の通りです。
- ローカルサーバーを簡単に起動できる
- ライブリロード機能に対応
HTMLを書く場合であれば、人によっては直接HTMLファイルをブラウザに読み込んで確認しているかもしれませんが、それだと実際にサーバーにアップしたときと動きが異なる可能性があります。
ローカルサーバーを使う意味
その例の1つが「ルート相対パス」です。
下記のようなパスを指定してCSSファイルを読み込みたい場合、サーバー上であれば「example.com/assets/css/style.css」を読み込みにいきますが、直接HTMLファイルをブラウザに読み込んでいる場合は、PCの最も上位にある「assets」フォルダ内を見に行ってしまい、正しく読み込まれません。
<link rel="stylesheet" href="/assets/css/style.css">ローカルサーバーを起動すると、指定したフォルダをルートとしてファイルを読み込むので、正しく読み込まれます。
HTMLファイルをブラウザに読み込んでいる場合は、下記のように最初に.(ピリオド)を付けて、通常の相対パスにすることで正しく読み込まれるようになります。
<link rel="stylesheet" href="./assets/css/style.css">このように、ルート相対パスはローカルサーバー上でないと正しく読み込まれません。
可能な限り最終的にアップするサーバーと同じ環境にすることで、予想外のトラブルを早く発見できます。
ライブリロード機能
通常、コードを変更して保存したあとはブラウザに移動してリロードする必要があります。
しかし、ライブリロード機能(ホットリロード機能と呼ぶ場合もあります)を使うと、コード保存時に自動でブラウザをリロードしてコードを反映してくれます。
デュアルディスプレイで作業している人にとってかなり便利な機能で、片方の画面にVisual Studio Code、もう片方の画面にGoogle Chromeなどのブラウザを配置しておいて、コードを書いて保存すれば、すぐ横の画面でリロードされて確認できます。
非常に細かいことですが、積み重ねで時間の節約になりますし、小さなストレスがなくなります。
基本的な使い方
Live Serverをインストールすると、Visual Studio Codeの画面右下に「Go Live」というメニューが追加されます。

フォルダをVisual Studio Codeで開いた状態であれば、このメニューをクリックするとブラウザが起動して、ローカルサーバーで表示されます。
ローカルサーバーが起動すると「Port : ○○○○」という表示に切り替わって、もう1度メニューをクリックして終了できます。

エクスプローラーからページを開く
サイドバーの[エクスプローラー]で、ファイルを右クリックすると「Open with Live Server」という項目が表示されます。
これを選択すると、選択したファイルをローカルサーバー上で開いてくれます。
![[エクスプローラー]→[Open with Live Server]](https://webrandum.net/mskz/wp-content/uploads/2022/07/image_4.png)
もしくは、ファイルを開いた状態でcommand + Lを押したあとにcommand + Oを押しても、開いているファイルがローカルサーバーで開かれます。
設定の変更
Visual Studio Codeの設定を変更したり、settings.jsonファイルにコードを追加することで、さらに便利にカスタマイズできます。
デフォルトブラウザの変更
「liveServer.settings.CustomBrowser」でデフォルトブラウザの変更ができます。
{
"liveServer.settings.CustomBrowser": "chrome"
}設定できる値は下記の通りです。
| ブラウザ | 設定 |
|---|---|
| Google Chrome | chrome |
| Google Chrome (シークレットモード) | chrome.PrivateMode |
| Firefox | firefox |
| Firefox (プライベートモード) | firefox.PrivateMode |
| Edge | microsoft-edge |
| Blisk | blisk |
ローカルサーバー起動時にブラウザを起動しない
「Go Live」をクリックした時に、ブラウザを起動させたくない場合は「liveServer.settings.NoBrowser」を「true」にします。
{
"liveServer.settings.NoBrowser": true,
}特定ディレクトリをルートに指定する
現在開いているワークスペースのフォルダをルートにするのではなく、指定した特定のフォルダをルートに指定したい場合は「liveServer.settings.root」を使います。
例えばプロジェクトフォルダの中に「dist」フォルダを作って、そこにコンパイルされたファイルを格納している場合に使えます。
{
"liveServer.settings.root": "/dist"
}スマホから表示確認でいるアドレス形式に変更する
Live Serverで起動したローカルサーバーは、同じWi-Fi環境下であればスマホからでも確認できます。
「liveServer.settings.useLocalIp」を「true」にすると、表示されるURLが「192.168.0.185:5500」のようなIPアドレス形式に変わります。
{
"liveServer.settings.useLocalIp": true,
}このIPアドレスを、同じWi-Fi環境下のスマホのブラウザで開くと表示されます。
MacとiPhoneを使っている人であれば、スマートコピーを使うと簡単にiPhoneにIPアドレスをコピーできます。


iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
PubSubHubbubを利用してWebサイトの更新をリアルタイムに通知しよう
WordPressって何なの?これからWordPressを勉強したい人がとりあえず知っておきたい事
Vue Routerでページ遷移後にトーストを表示させる方法
Visual Studio Codeで開始タグを修正すると自動で閉じタグも修正してくれる拡張機能「Auto Rename Tag」
効率的なマークアップが出来るようになるEmmetでCSSを書く時の基本
WordPressで作成した記事をSlackでシェアしたときに、抜粋文が長く表示される場合の対処法
Visual Studio CodeでCSVの編集を見やすく行う拡張機能「Edit csv」
無料版を使っている人は検討する価値あり!MAMP PRO 5で簡単にローカル開発環境を構築・管理する
scpコマンドでターミナル接続先のリモートファイルをローカルにダウンロードする方法
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う