VS2019 16.10 Preview 2でのGit機能の向上点

We’ve continued to enhance the Git tooling in Visual Studio and are excited to announce some long-awaited updates. We’ve built functionality that addresses gaps around discoverability, switching repositories, navigation, and more!

情報源: Enhanced Productivity with Git in Visual Studio | Visual Studio Blog

ステータスバー

最初の変更点は、ステータスバーです。IDEウィンドウの右下にあるステータスバーのセクションには、すぐにアクセスできるGitコマンドのトレイが常駐しています。そして私たちは、その機能を拡張し始めました。

ブランチピッカー

よく知られているブランチピッカーは、右端のボタンから始まり、Git Changes ウィンドウのブランチドロップダウンと同様の外観になりました。今回の刷新により、ブランチの検索や、リポジトリのローカルブランチとリモートブランチの切り替えができるようになりました。コンテキストメニューを使えば、どのツールウィンドウが表示されているかにかかわらず、ブランチに対して素早くアクションを実行できます。

レポジトリピッカー

ステータスバーのリポジトリボタンを選択すると、リポジトリピッカーの最初の繰り返しが表示されるようになりました。今のところ、ローカルリポジトリはすべてアルファベット順に表示され、リストをフィルタリングする機能もあります。近いうちに、このリストからアイテムを削除できるようになります。

レポジトリを開く

バージョン管理されているフォルダーやソリューションを Visual Studio で初めて開くと、ローカルリポジトリのリストに Git リポジトリが表示され、ネストしたサブリポジトリも表示されます。リポジトリのリモートがAzure DevOpsでホストされている場合は、Git ChangesにAzure DevOpsプロジェクトへの接続を求めるプロンプトが表示されます。そうすると、そのプロジェクトのワークアイテムやビルドにアクセスできるようになります。また、最初の接続が確立されると、Visual Studioはその接続を記憶し、次にリポジトリを開いたときに自動接続されるようになります。

ソリューションリスト

デフォルトでは、リポジトリを開くと、Visual Studio は関連するソリューション/フォルダーをソリューションエクスプローラーに読み込みます。リポジトリに複数のソリューションがある場合は、ソリューションエクスプローラーにソリューションのリストが表示されます。

リポジトリの動作をカスタマイズ

ここにはいくつかのニュアンスがあります。あなたのソリューションがGitリポジトリの外にある場合があります。そのため、リポジトリを開くときには、たとえそれが別のフォルダにあったとしてもソリューションを開いておく必要があります。Git > 設定」で新しい環境設定を切り替えることで、この動作を有効にできるようになりました。それ以外のケースでは、Visual Studio は開いているリポジトリと開いているソリューションの間で一貫性を維持し、両者が同期しないことはありません。

変更のペンディング

ステータスバーの次のボタンは、まだコミットされていない変更されたファイルの数を表示します。このボタンは、「Git Changes」ウィンドウを開くためのショートカットになっています。

コミットの同期

そして、ステータスバーの最後のボタンは「unpushed commits」ボタンです。このボタンは、まだリモートにプッシュされていないコミットの数を表示します。近いうちに、プッシュされていないコミットの数も表示されるようになるでしょう。このボタンをクリックすると、Fetch、Pull、Push、Sync(要望が多かったので復活しました)のクイックアクションを備えた新しいフライアウトが表示されます。

Sync機能を備えたOutgoing / Incoming commitsドロップダウン

SyncはSynchronizeの略で、PullとPushを組み合わせたものです。Syncコマンドの利点は、ワンクリックでローカルブランチとリモートブランチを同期させることができることです。このコマンドは、トップレベルのGitメニューでも利用できます。これにより、Sync には独自のキーボードショートカット (Alt+G+S) が用意され、素早くアクセスできるようになります。また、どこにあるか忘れてしまった場合には、Ctrl+Qの検索ボックスで検索できるようにもなります。

Sync command in the Git menu

Gitレポジトリウインドウ

着信/発信のコミット

Git リポジトリのウィンドウで最初に目につくのは、受信コミットと送信コミットのリストの常設場所です。これらのセクションには、ステータスバーやキーボードショートカット Ctrl+0+Y からアクセスできるようになりました。これらのセクションでは、まだプッシュやプルが行われていないすべてのコミットの概要を確認できます。「Fetch」を選択すると、「Incoming」セクションが表示されます。ローカルコミットを行うと、「Outgoing」セクションが表示されます。

Fetch, Pull, and Push buttons in the permanent Incoming and Outgoing sections in the Git Repository section

埋め込み式コミットの詳細

発信されたコミットを見た後、次にしたいことは、そのコミットにどのような変更があったかを確認することです。これまでは、コミットを選択すると新しいツールウィンドウが開き、変更点を確認するために特定のファイルを選択するとさらに別のウィンドウが開きました。これではウィンドウが多すぎます。そこで、すべての機能をひとつのウィンドウに組み込みました。最初のファイルには、コミットの詳細と変更点のビジュアルが表示されています。また、ファイルのリストを下っていき、各ファイルの変更点をその場で確認することもできます。2つのコミットを比較するときも、ウィンドウは同じように動作します。

Embedded commit details and inline file diff in the Git Repository window

また、コミットの詳細を全画面で表示したい場合や、いくつかのコミットを別の画面に表示して変更点を深く掘り下げたい場合も、そのようにすることができます。ウィンドウのレイアウトは自由に変更できます。

ファイル比較の上部にあるツールバーでは、便利な情報を得ることができます。左側の表記は、そのコミットのファイルの削除数と挿入数を教えてくれます。右側のアクションを使って、サイドバイサイド表示からインライン表示などにレイアウトを変更することができます。

Popped out tab for commit details with side-by-side file diff

Git変更ウインドウ

Git Changes ウインドウのステータス・セクションにあったボタンを、右上のオーバーフロー・メニューに統合しました。ここでは、複数のリモートを管理したり、それらに対してアクションを実行したりすることができます。このメニューからは、ナビゲーションのためのクイックアクションや、「設定」「ブランチ履歴」「ファイルエクスプローラー」「コマンドプロンプト」など、リポジトリに関連する他のウィンドウを開くこともできます。

Action menu in the Git Changes window

更なる学習

新しい経験をするたびに、筋肉の記憶が変化していきます。そのため、新しいツールの使い方について、最新のガイダンスを提供することが重要だと考えています。そのために、Visual StudioでGitを学ぶための無料オンライン・コースを、ステップ・バイ・ステップの練習問題とともに用意しました。また、ドキュメントも更新され、バージョン・コントロールに関する記事が追加されています。

私たちの旅を最初から見守ってくださっている方も、今から参加される方も、まだまだこれからだということを知っておいてください。私たちは、Visual Studio で Git リポジトリを使用する際に役立つ多くの機能を構築する予定です。優先順位を決めるためにも、機能リクエストへの投票を続けていただき、私たちの活動状況をお知らせください。

コメントを残す