ワークスペースでファイルを編集、保存する

Sofia Emelianova
Sofia Emelianova

このチュートリアルでは、ワークスペースを設定して、独自のプロジェクトで使用できるようにします。ワークスペースを使用すると、DevTools 内で行った変更を、パソコンに保存されているソースコードに保存できます。

概要

ワークスペースを使用すると、DevTools で行った変更を、パソコン上の同じファイルのローカルコピーに保存できます。次のような例を考えてみましょう。

  • サイトのソースコードがパソコンに保存されている。
  • ソースコード ディレクトリからローカル ウェブサーバーを実行しているため、サイトには localhost:8080 からアクセスできます。
  • Google Chrome で localhost:8080 を開き、DevTools を使用してサイトの CSS を変更しています。

ワークスペースを有効にすると、DevTools 内で行った CSS の変更がデスクトップのソースコードに保存されます。

制限事項

最新のフレームワークを使用している場合は、ソースコードをメンテナンスしやすい形式から、できるだけ速く実行するように最適化された形式に変換します。通常、ワークスペースはソースマップを使用して、最適化されたコードを元のソースコードにマッピングできます。

DevTools コミュニティは、さまざまなフレームワークとツールでソースマップが提供する機能をサポートしています。選択したフレームワークでワークスペースの使用中に問題が発生した場合や、カスタム構成後に動作するようになった場合は、メーリング リストでスレッドを開始するか、Stack Overflow で質問して、DevTools コミュニティの他のユーザーと知識を共有してください。

関連機能: ローカル オーバーライド

ローカル オーバーライドは、ワークスペースに似た別の DevTools 機能です。ローカル オーバーライドを使用すると、バックエンドの変更を待たずにウェブ コンテンツやリクエスト ヘッダーをモックできます。また、ページの変更をテストし、ページの読み込みごとに変更を確認する必要がある場合にも使用できます。ただし、変更をページのソースコードにマッピングする必要はありません。

ステップ 1: セットアップ

このチュートリアルを完了すると、ワークスペースを実際に操作できます。

デモを設定する

  1. このデモ用リポジトリをパソコンのディレクトリにクローンを作成します。たとえば、~/Desktop とします。
  2. ~/Desktop/devtools-workspace-demo でローカル ウェブサーバーを起動します。以下に、SimpleHTTPServer の起動サンプルコードを示します。任意のサーバーを使用できます。

    cd ~/Desktop/devtools-workspace-demo
    # If your Python version is 3.X
    # On Windows, try "python -m http.server" or "py -3 -m http.server"
    python3 -m http.server
    # If your Python version is 2.X
    python -m SimpleHTTPServer
    

    このチュートリアルの残りの部分では、このディレクトリを /devtools-workspace-demo とします。

  3. Google Chrome でタブを開き、ローカルでホストされているバージョンのサイトに移動します。localhost:8000 などの URL からアクセスできます。正確なポート番号は異なる場合があります。

    ローカルでホストされているデモページが Chrome で開きます。

DevTools を設定する

  1. ローカルでホストされているデモページで DevTools を開く

  2. [ソース] > [ワークスペース] に移動し、クローンを作成した devtools-workspace-demo フォルダにワークスペースを設定します。削除するには、次の方法があります。

    • フォルダを [ソース] の [エディタ] にドラッグ&ドロップします。
    • [フォルダを選択] リンクをクリックして、フォルダを選択します。
    • 追加する [フォルダを追加] をクリックしてフォルダを選択します。[ソース]、[Workspace] の順にタブを移動します。
  3. 上部のプロンプトで [許可] をクリックして、ディレクトリへの読み取りと書き込みの権限を DevTools に付与します。

    プロンプトの [許可] ボタン。

[ワークスペース] タブの index.htmlscript.jsstyles.css の横に緑色のドットが追加されました。これらの緑色のドットは、DevTools がページのネットワーク リソースと devtools-workspace-demo のファイルとの間でマッピングを確立したことを示します。

[ワークスペース] タブに、ローカル ファイルとネットワーク ファイルのマッピングが表示されます。

ステップ 2: CSS の変更をディスクに保存する

  1. テキスト エディタで /devtools-workspace-demo/styles.css を開きます。h1 要素の color プロパティが fuchsia に設定されていることに注目してください。

    テキスト エディタで styles.css を表示している様子。

  2. テキスト エディタを閉じます。

  3. DevTools に戻り、[要素] タブをクリックします。

  4. <h1> 要素の color プロパティの値を好みの色に変更します。手順は次のとおりです。

    1. [DOM Tree] で <h1> 要素をクリックします。
    2. [スタイル] ペインで h1 { color: fuchsia } CSS ルールを見つけ、色をお好みのものに変えます。この例では、色は緑色に設定されています。

    h1 要素の color プロパティを緑色に設定しています。

    [スタイル] ペインの styles.css:1 の横にある緑色のドット 緑色のドット。 は、変更が /devtools-workspace-demo/styles.css にマッピングされていることを示します。

  5. テキスト エディタで /devtools-workspace-demo/styles.css をもう一度開きます。color プロパティがお好みの色に設定されました。

  6. 再読み込みを行います。 ページを再読み込みします。<h1> 要素の色は、お好きな色に設定されたままです。これは、変更を加えて DevTools が変更をディスクに保存したときに機能します。ページを再読み込みすると、ローカル サーバーはディスクから変更されたファイルのコピーを提供しました。

ステップ 3: HTML の変更をディスクに保存する

[要素] パネルで HTML を変更してみてください

  1. [要素] タブを開きます。
  2. h1 要素のテキスト コンテンツ(Workspaces Demo)をダブルクリックして、I ❤️ Cake に置き換えます。

    [要素] パネルの DOM ツリーから HTML を変更しようとしています。

  3. テキスト エディタで /devtools-workspace-demo/index.html を開きます。先ほど行った変更が反映されていません。

  4. 再読み込みを行います。 ページを再読み込みします。ページのタイトルが元に戻ります。

省略可: 機能しない理由

  • [要素] パネルに表示されるノードツリーは、ページの DOM を表します。
  • ページを表示するために、ブラウザはネットワーク経由で HTML を取得し、HTML を解析して DOM ノードのツリーに変換します。
  • ページに JavaScript が含まれている場合、その JavaScript によって DOM ノードが追加、削除、変更される可能性があります。CSS は content プロパティを介して DOM を変更することもできます。
  • ブラウザは最終的に DOM を使用して、ブラウザ ユーザーに表示するコンテンツを決定します。
  • そのため、ユーザーに表示されるページの最終状態は、ブラウザがフェッチした HTML と大きく異なる場合があります。
  • DOM は HTML、JavaScript、CSS の影響を受けるため、DevTools では [Elements] パネルで行った変更を保存する場所を解決するのが困難です。

つまり、DOM ツリー !== HTML です。

[ソース] パネルから HTML を変更する

ページの HTML に変更を加えて保存する場合は、[ソース] パネルで保存します。

  1. [ソース] > [ページ] に移動します。
  2. [(index)] をクリックします。ページの HTML が開きます。
  3. <h1>Workspaces Demo</h1><h1>I ❤️ Cake</h1> に置き換えます。
  4. 変更を保存するには、Command+S キー(Mac)または Control+S キー(Windows、Linux、ChromeOS)を押します。
  5. 再読み込みを行います。 ページを再読み込みします。<h1> 要素には新しいテキストが表示されています。

    [ソース] パネルから HTML を変更する。

  6. /devtools-workspace-demo/index.html を開きます。<h1> 要素には新しいテキストが含まれます。

ステップ 4: JavaScript の変更をディスクに保存する

[ソース] パネルでは、JavaScript の変更も行えます。ただし、サイトに変更を加える際に、要素パネルやコンソールパネルなど、他のパネルにアクセスする必要がある場合があります。ソースパネルを他のパネルと一緒に開く方法があります。

  1. [要素] タブを開きます。
  2. Command+Shift+P(Mac)または Ctrl+Shift+P(Windows、Linux、ChromeOS)を押します。コマンド メニューが開きます。
  3. QS と入力し、[クイックソースを表示] を選択します。DevTools ウィンドウの下部に [クイックソース] タブが表示されます。

    コマンド メニューから [クイックソース] タブを開く。

    このタブには、[ソース] パネルで最後に編集したファイルである index.html の内容が表示されます。[クイックソース] タブには [ソース] パネルのエディタが表示されるため、他のパネルを開いたままファイルを編集できます。

  4. Command+P(Mac)または Ctrl+P(Windows、Linux、ChromeOS)を押して、[ファイルを開く] ダイアログを開きます。

  5. script と入力し、[devtools-workspace-demo/script.js] を選択します。

    [ファイルの開く] ダイアログでスクリプトを開く。

  6. デモの Edit and save files in a workspace リンクに注目してください。定期的にスタイル設定されている。

  7. [クイックソース] タブの script.js の末尾に次のコードを追加します。

    document.querySelector('a').style = 'font-style:italic';
    
  8. Command+S キー(Mac)または Control+S キー(Windows、Linux、ChromeOS)を押して変更を保存します。

  9. 再読み込みを行います。 ページを再読み込みします。ページ上のリンクが斜体になりました。

ページ上のリンクが斜体になりました。

次のステップ

ワークスペースに複数のフォルダを設定できます。このようなフォルダはすべて、 [設定] > [ワークスペース] に表示されます。

次に、DevTools を使用して CSS を変更し、JavaScript をデバッグする方法について説明します。