🚀 VS Code で を入手しましょう!

VS Code での GitHub の操作

GitHub は、ソース コードを保存および共有するためのクラウドベースのサービスです。Visual Studio Code で GitHub を使用すると、エディター内から直接ソース コードを共有したり、他のユーザーと共同作業したりできます。GitHub と対話する方法は多数あります。たとえば、https://github.com の Web サイトや Git コマンドライン インターフェイス (CLI) などがありますが、VS Code では、豊富な GitHub 統合が GitHub Pull Requests and Issues 拡張機能によって提供されます。

GitHub Pull Requests and Issues 拡張機能をインストールする

VS Code で GitHub を使い始めるには、Git をインストールし、GitHub アカウントを作成 し、GitHub Pull Requests and Issues 拡張機能をインストールする必要があります。このトピックでは、VS Code を離れることなく GitHub のお気に入りの部分をいくつか使用する方法を紹介します。

ソース管理を初めて使用する場合、または VS Code の基本的な Git サポートの詳細を知りたい場合は、ソース管理 のトピックから始めることができます。

GitHub プルリクエストと Issue の概要

GitHub Pull Requests and Issues 拡張機能をインストールしたら、サインインする必要があります。プロンプトに従ってブラウザで GitHub で認証し、VS Code に戻ります。

Extension Sign In

VS Code にリダイレクトされない場合は、認証トークンを手動で追加できます。ブラウザ ウィンドウに認証トークンが表示されます。トークンをコピーして、VS Code に戻ります。ステータス バーの github.com にサインインしています... を選択し、トークンを貼り付けて、Enter キーを押します。

リポジトリのセットアップ

リポジトリのクローン

コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) の Git: クローン コマンドを使用するか、ソース管理ビュー (フォルダーを開いていない場合に利用可能) の リポジトリのクローン ボタンを使用して、GitHub からリポジトリを検索してクローンできます。

Clone Repository button in the Source Control view

GitHub リポジトリ ドロップダウンから、ローカルにクローンするリポジトリをフィルタリングして選択できます。

GitHub repository dropdown filtered on microsoft/vscode

既存のリポジトリでの認証

GitHub 経由の認証の有効化は、VS Code で GitHub 認証を必要とする Git アクション (メンバーになっているリポジトリへのプッシュやプライベート リポジトリのクローンなど) を実行するときに行われます。認証用に特別な拡張機能をインストールする必要はありません。リポジトリを効率的に管理できるように、VS Code に組み込まれています。

GitHub 認証が必要な操作を行うと、サインインを求めるプロンプトが表示されます

Authentication Prompt

手順に従って GitHub にサインインし、VS Code に戻ります。個人用アクセス トークン (PAT) を使用したサインインは、GitHub Enterprise Server でのみサポートされています。GitHub Enterprise Server を使用していて、PAT を使用したい場合は、PAT のプロンプトが表示されるまでサインイン プロンプトで "キャンセル" をクリックできます。

GitHub への認証には、2 要素認証 (2FA) を使用したユーザー名とパスワード、個人用アクセス トークン、SSH キーなど、いくつかの方法があることに注意してください。詳細および各オプションの詳細については、GitHub への認証について を参照してください。

: コンテンツをローカル マシンにクローンせずにリポジトリで作業したい場合は、GitHub Repositories 拡張機能をインストールして、GitHub で直接参照および編集できます。詳細については、以下の GitHub Repositories 拡張機能 セクションを参照してください。

エディターの統合

ホバー

リポジトリを開いていて、ユーザーが @ メンションされている場合、そのユーザー名にカーソルを合わせると、GitHub スタイルのホバーが表示されます。

User Hover

#-メンションされた Issue 番号、GitHub Issue の完全な URL、およびリポジトリ指定の Issue についても同様のホバーがあります。

Issue Hover

候補

ユーザー候補は "@" 文字でトリガーされ、Issue 候補は "#" 文字でトリガーされます。候補はエディターと ソース管理 ビューの入力ボックスで使用できます。

User and Issue suggestions

候補に表示される Issue は、GitHub Issues: クエリ (githubIssues.queries) 設定 で構成できます。クエリは GitHub 検索構文 を使用します。

GitHub Issues: 補完トリガーを無視する (githubIssues.ignoreCompletionTrigger) および GitHub Issues: ユーザー補完トリガーを無視する (githubIssues.ignoreUserCompletionTrigger) 設定を使用して、これらの候補を表示するファイルを構成することもできます。これらの設定は、ファイル タイプを指定するための 言語識別子 の配列を受け取ります。

// Languages that the '#' character should not be used to trigger issue completion suggestions.
"githubIssues.ignoreCompletionTrigger": [
  "python"
]

プルリクエスト

プルリクエスト ビューから、プルリクエストの表示、管理、および作成を行うことができます。

Pull Request View

プルリクエストを表示するために使用されるクエリは、GitHub Pull Requests: クエリ (githubPullRequests.queries) 設定で構成でき、GitHub 検索構文 を使用します。

"githubPullRequests.queries": [
    {
        "label": "Assigned To Me",
        "query": "is:open assignee:${user}"
    },

プルリクエストの作成

フォークまたはブランチへの変更をコミットしたら、GitHub Pull Requests: プルリクエストの作成 コマンドまたは プルリクエスト ビューの プルリクエストの作成 ボタンを使用して、プルリクエストを作成できます。

Create Pull Request button in the Pull Request view

新しい 作成 ビューが表示され、プルリクエストのターゲットにするベース リポジトリとベース ブランチを選択したり、タイトルと説明を入力したりできます。リポジトリにプルリクエスト テンプレートがある場合、これは説明に自動的に使用されます。

上部のアクション バーのボタンを使用して、担当者レビュアーラベル、および マイルストーン を追加します。

Create Pull Request view

作成 ボタン メニューを使用すると、下書きを作成 などの代替作成オプションを選択したり、自動マージ メソッドを有効にしたりできます。

作成 を選択すると、ブランチを GitHub リモートにまだプッシュしていない場合、拡張機能はブランチを公開するかどうかを尋ね、特定のリモートを選択するためのドロップダウンを提供します。

プルリクエストの作成 ビューは、レビュー モード に入り、PR の詳細を確認したり、コメントを追加したり、準備ができたら PR をマージしたりできます。PR がマージされたら、リモート ブランチとローカル ブランチの両方を削除するオプションがあります。

ヒント

GitHub Copilot を使用して、PR に含まれるコミットに基づいて PR のタイトルと説明を生成します。PR タイトル フィールドの横にある スパークル アイコンを選択して、PR のタイトルと説明を生成します。

Screenshot that shows the Generate Commit Message with Copilot button in the commit message input box.

レビュー

プルリクエストは、プルリクエスト ビューからレビューできます。レビュアーとラベルを割り当てたり、コメントを追加したり、承認、クローズ、およびマージをすべてプルリクエストの 説明 から行うことができます。

Pull Request Description editor

説明 ページから、チェックアウト ボタンを使用してプルリクエストをローカルに簡単にチェックアウトすることもできます。これにより、VS Code はレビュー モードでプルリクエストのフォークとブランチ (ステータス バーに表示) を開くように切り替わり、新しい プルリクエストの変更 ビューが追加されます。このビューから、現在の変更の差分、すべてのコミット、およびこれらのコミット内の変更を表示できます。コメントされたファイルは、ひし形アイコンで装飾されます。ディスク上のファイルを表示するには、ファイルを開く インライン アクションを使用できます。

Changes in Pull Request view

このビューの差分エディターはローカル ファイルを使用するため、ファイル ナビゲーション、IntelliSense、および編集は通常どおりに機能します。これらの差分に関するコメントをエディター内に追加できます。単一のコメントの追加とレビュー全体の作成の両方がサポートされています。

プルリクエストの変更のレビューが完了したら、PR をマージするか、レビュー モードを終了 を選択して、作業していた前のブランチに戻ることができます。

ヒント

Copilot に PR のコード レビューを実行させる こともできます。GitHub プルリクエスト ビューの Copilot コード レビュー ボタンを選択します。

Issue

Issue の作成

Issue は、Issue ビューの + ボタンから、および GitHub Issues: 選択範囲から Issue を作成 および GitHub Issues: クリップボードから Issue を作成 コマンドを使用して作成できます。また、「TODO」コメントのコード アクションを使用して作成することもできます。Issue を作成するときは、デフォルトの説明を使用するか、右上の 説明を編集 鉛筆アイコンを選択して、Issue 本文のエディターを表示することができます。

Create Issue from TODO

GitHub Issues: Issue 作成トリガー (githubIssues.createIssueTriggers) 設定を使用して、コード アクションのトリガーを構成できます。

デフォルトの Issue トリガーは次のとおりです

"githubIssues.createIssueTriggers": [
  "TODO",
  "todo",
  "BUG",
  "FIXME",
  "ISSUE",
  "HACK"
]

Issue の作業

Issue ビューから、Issue を確認して作業できます。

Issue view with hover

デフォルトでは、Issue の作業を開始すると (Issue の作業を開始 コンテキスト メニュー項目)、以下の画像のように、ステータス バーにブランチが作成されます。

Work on Issue

ステータス バーには、アクティブな Issue も表示され、その項目を選択すると、GitHub Web サイトで Issue を開いたり、プルリクエストを作成したりするなど、Issue アクションのリストが利用可能になります。

Issue Status bar actions

ブランチの名前は、GitHub Issues: Issue ブランチ タイトル (githubIssues.issueBranchTitle) 設定を使用して構成できます。ワークフローにブランチの作成が含まれていない場合、または毎回ブランチ名を入力するように求めたい場合は、GitHub Issues: Issue にブランチを使用する (githubIssues.useBranchForIssues) 設定をオフにすることで、その手順をスキップできます。

Issue の作業が完了し、変更をコミットする場合は、ソース管理 ビューのコミット メッセージ入力ボックスにメッセージが入力されます。これは、GitHub Issues: 作業 Issue 形式 SCM (githubIssues.workingIssueFormatScm) で構成できます。

GitHub Repositories 拡張機能

GitHub Repositories 拡張機能を使用すると、リポジトリをローカルにクローンする必要なく、Visual Studio Code 内から直接、リモート GitHub リポジトリをすばやく参照、検索、編集、およびコミットできます。これは、ソース コードを確認したり、ファイルやアセットに小さな変更を加えたりするだけでよい多くのシナリオで、高速かつ便利です。

GitHub Repositories extension

リポジトリを開く

GitHub Repositories 拡張機能をインストールしたら、コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から GitHub Repositories: リポジトリを開く... コマンドを使用するか、ステータス バーの左下にあるリモート インジケーターをクリックして、リポジトリを開くことができます。

Remote indicator in the Status bar

リポジトリを開く コマンドを実行すると、GitHub からリポジトリを開くか、GitHub からプルリクエストを開くか、以前に接続したリポジトリを再度開くかを選択できます。

VS Code から GitHub にまだログインしていない場合は、GitHub アカウントで認証するように求められます。

GitHub Repository extension open repository dropdown

リポジトリ URL を直接指定するか、テキスト ボックスに入力して目的のリポジトリを GitHub で検索できます。

リポジトリまたはプルリクエストを選択すると、VS Code ウィンドウがリロードされ、ファイル エクスプローラーにリポジトリの内容が表示されます。その後、ファイルを開いて (完全な構文の強調表示と括弧の照合あり)、編集を行い、変更をコミットできます。これは、リポジトリのローカル クローンで作業する場合と同じです。

ローカル リポジトリでの作業との違いの 1 つは、GitHub Repository 拡張機能で変更をコミットすると、変更がリモート リポジトリに直接プッシュされることです。これは、GitHub Web インターフェイスで作業している場合と同様です。

GitHub Repositories 拡張機能のもう 1 つの機能は、リポジトリまたはブランチを開くたびに、GitHub から利用可能な最新のソースを取得できることです。ローカル リポジトリの場合のように、プルして更新することを覚えておく必要はありません。

GitHub Repositories 拡張機能は、Git LFS (Large File System) をローカルにインストールする必要なく、LFS トラッキングされたファイルの表示とコミットもサポートしています。LFS でトラッキングするファイル タイプを .gitattributes ファイル に追加し、ソース管理ビューを使用して変更を GitHub に直接コミットします。

ブランチの切り替え

ステータス バーのブランチ インジケーターをクリックすると、ブランチを簡単に切り替えることができます。GitHub Repositories 拡張機能の優れた機能の 1 つは、コミットされていない変更を退避させる必要なくブランチを切り替えることができることです。拡張機能は変更を記憶し、ブランチを切り替えるときに再適用します。

Branch indicator on the Status bar

リモート エクスプローラー

アクティビティ バーで使用可能なリモート エクスプローラーを使用して、リモート リポジトリをすばやく再度開くことができます。このビューには、以前に開いたリポジトリとブランチが表示されます。

Remote Explorer view

プルリクエストの作成

ワークフローでリポジトリへの直接コミットではなくプルリクエストを使用する場合は、ソース管理ビューから新しい PR を作成できます。タイトルを入力し、新しいブランチを作成するように求められます。

Create a Pull Request button in the Source Control view

プルリクエストを作成したら、GitHub Pull Request and Issues 拡張機能を使用して、このトピックの 前述 のように、PR をレビュー、編集、およびマージできます。

仮想ファイルシステム

ローカル マシンにリポジトリのファイルがない場合、GitHub Repositories 拡張機能はメモリ内に仮想ファイルシステムを作成するため、ファイルの内容を表示したり、編集したりできます。仮想ファイルシステムを使用するということは、ローカル ファイルを想定する一部の操作や拡張機能が有効になっていないか、機能が制限されていることを意味します。タスク、デバッグ、および統合ターミナルなどの機能は有効になっていません。リモート インジケーターのホバーにある 機能は利用できません リンクから、仮想ファイルシステムのサポート レベルについて学ぶことができます。

Remote indicator hover with features are not available link

拡張機能の作成者は、仮想ワークスペース拡張機能作成者ガイド で仮想ファイルシステムとワークスペースでの実行の詳細を確認できます。

作業の継続...

ローカル ファイルシステムと完全な言語および開発ツールをサポートする開発環境でリポジトリでの作業に切り替えたい場合があります。GitHub Repositories 拡張機能を使用すると、簡単に次のことができます。

  • GitHub Codespace を作成します (GitHub Codespaces 拡張機能 がある場合)。
  • リポジトリをローカルにクローンします。
  • リポジトリを Docker コンテナにクローンします (Docker と Microsoft Docker 拡張機能 がインストールされている場合)。

開発環境を切り替えるには、コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から 作業の継続... コマンドを使用するか、ステータス バーのリモート インジケーターをクリックします。

Continue Working On command in Remote dropdown

ブラウザベースのエディター を使用している場合、"作業の継続..." コマンドには、リポジトリをローカルで開くか、GitHub Codespaces のクラウドホスト環境内で開くオプションがあります。

Continue Working On from web-based editor

コミットされていない変更で 作業の継続 を初めて使用するときは、設定の同期に使用されるのと同じ VS Code サービスに保留中の変更を保存する クラウド変更 を使用して、選択した開発環境に変更を持ち込むオプションがあります。

これらの変更は、ターゲット開発環境に適用されると、サービスから削除されます。コミットされていない変更なしで続行することを選択した場合、後で "workbench.cloudChanges.continueOn": "prompt" 設定を構成することで、この設定をいつでも変更できます。

保留中の変更がターゲット開発環境に自動的に適用されない場合は、クラウド変更: クラウド変更を表示 コマンドを使用して、保存された変更を表示、管理、および削除できます。

次のステップ

  • Copilot VS Code の詳細 - VS Code での Copilot について学びます。