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

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 に戻り、[Elements] タブをクリックします。

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

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

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

    [Styles] ペインの 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 の影響を受けるため、[Elements] パネルで行った変更の保存場所について、DevTools で解決が難しくなります。

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

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

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

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

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

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

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

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

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

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

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

  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)または Ctrl+S キー(Windows、Linux、ChromeOS)を押して、変更を保存します。

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

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

次のステップ

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

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