◆環境

Windows10。Visual Studio 2019。

2020年9月25日ぐらいの世界なので、遠からず陳腐化する内容ではあるだろう。

◆完走した感想

やる価値はあったけど、やっぱそれなりに手間でした。っていうのと、記事にするために既にやっていたことの手順を思い出すのが大変でしたけど、褒めてくれませんか?

だめ?

…けち!

クソが…まぁいいや。やっていく。

◆手順を完走するとどうなるか

「Ctrl + @」でVisual Studioの統合ターミナル開くし、「git c」でTabキー押すと「git checkout」って出てくるし、そっからSpace入れてTabキー押すとブランチ名出してくれるし。「git fetch --」でTabキー押すとオプション出してくれるし。

ただ、あのzshみたいなブランチを並べてくれてArrowキーで選択できるやつやってくれない。「ls」でTabTabして一覧が出てきてArrowキーで選択できるやつもできない。死にたい。本気でシェルやるんならWSL2使うとか、MSYS2使うしか無いよ。

うん。以下はとりあえずCtrl + @でTerminal召喚してぇ人々向けの記事です。

git操作だけどうにかしたいって人は、ツール→オプション→環境→プレビュー機能から「New Git user experience」ってやつをONにすれば、多少は改善する。「表示.Gitウィンドウ」っていうショートカットを「Ctrl + G, Ctrl + G」とかに変更してみろ。

◆Windows Terminalとってくる

※やらなくていいと思う。けど入れとけば?

Windows Terminal

◆PowerShell Coreとってくる

.NET Core 3のSDK必要って説ある。なんでSDK?俺は要らない気がします。取り敢えずインストールせずにやってみれてダメそうならSDK入れてみ。

PowerShell Coreの最新安定版へのリンクは以下。

https://github.com/PowerShell/PowerShell/releases/latest

「Assets」ってとこの、自分にあった奴をインストールしなさいな。

例えばWindowsの64bit版なら「PowerShell-7.0.3-win-x64.msi」ですよね。無論ARM版もあるでよ。

ってかStoreからインストールさせてくんねぇかな。あるいはwingetを早くしろ。Chocolatey?なんだそれは。南蛮菓子か何かか。

設定は基本的に変えなくていいと思う。そのままインストールすりゃいい。

インストール中に「Add 'Open here' contextほにゃらら」みたいなのにチェック入れておくと、エクスプローラー画面を右クリでPowerShell開ける。でもマウスなんぞ使わずともCtrl + Lして「pwsh」って入力してEnterすればいいじゃん。っていうか、Windows Terminal入れてたら「wt」って入れるだけでいいんじゃん。最強じゃん。

◆Visual Studioをアレする

  • Visual Studio 2019を起動して
  • 「Ctrl + Q」して検索窓にフォーカスしてから
  • 「Terminal」って入力して
  • 「環境 > Terminal」を開く。
  • 「開発者用 PowerShell」をクリックして
  • 「シェルの場所」をイイ感じにする。多分「C:\Program Files\PowerShell\7\pwsh.exe」とか。

パスが違ったんならWinキー押して「pwsh」って入力して出てきたスタートメニューのショートカットを右クリしてプロパティひらいてパスとか確認しなよ。

んで、Terminalを開くショートカットがVisual Studioに無いから、以下を実施。

  • さっきみたいに検索窓にフォーカスして
  • 「ホットキー」って入力して
  • 「ホットキーとキーボードショートカットの変更」を開いて
  • 検索のとこに「ターミナル」って入力して
  • 「表示.ターミナル」ってのをクリックして
  • 「ショートカットキー」にフォーカスしながら「Ctrl + @」を押す。
  • (パッケージマネージャーコンソールと被ってっけど問題ないよね!と思いながら)OKする。

出来たんならVisual Studioを再起動しておく。

◆PowerShellを魔改造する

▼いろいろ導入

Visual Studioのソース管理UIが腐っててgit操作すんのが辛いからTerminal使うわけで。ブランチ名補完とか欲しいわけで。

Visual Studioでターミナルを開き、以下コマンドを上から順繰りに食わせる。

Install-Module PowerShellGet -Scope CurrentUser -AllowClobber -Force
Install-Module posh-git -Scope CurrentUser -AllowPrerelease
Install-Module oh-my-posh -Scope CurrentUser

posh-gitは、1.0のβ版を使う。1.0が正式リリースされたら-AllowPrerelease消していいよ。

yesかnoか聞かれたら「y」って入力してEnterすればいいです。

「-Scope CurrentUser」ってのは、PC全体に設定をかけたいんならなくてもいい。でも「管理者として実行」しなきゃ駄目かも。

▼設定

PowerShellで以下のコマンド蹴って、設定ファイルを新しく作る。

notepad $PROFILE

そして以下をコピって貼っ付け、保存。閉じる。

最後の2行(OutputEncoding)は無くてもいいかもしれんが、ブランチ名とか文字化けしてハゲそうになったときに書いてみれ。
参考:UTF8DefEncoding.ps1

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox
[System.Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
[System.Console]::InputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")

◆フォント周り

Cascadia Codeをとってくる。白源でもいいよ。Rictyでもいいよ。ちゃんと表示できるかはしらんけど。

Cascadia Codeのzipファイルを取ってきたら解凍して、ttfフォルダに入ってる「CascadiaCodePL」をダブクリしてインストール。

「PL」はPowerline対応って意味合い。

▼Visual Studio

  • さっきみたいに検索窓にフォーカスして
  • 「フォント」って入力して
  • 「環境 > フォントおよび色」を開いて
  • 「設定の表示」を「ターミナル」にして
  • 「フォント」を「Cascadia Code PL」にする。

▼おまけ:VS Code

  • VS Code起動して
  • Ctrl + Shift + Pでコマンドパレットひらいて
  • 「setting」って入力してユーザー設定開いて
  • 検索に「powershell」って入力して「Terminal › Integrated › Shell: Windows」の「settings.json で編集」ボタンクリックして
  • 「terminal.integrated.shell.windows」プロパティにpwshのパスを入れる。「C:\\Program Files\\PowerShell\\7\\pwsh.exe」とか。
  • んで、ついでに「"terminal.integrated.fontFamily": "'Cascadia Code PL'",」っていう設定も同階層に書いておく。

▼おまけ:Windows Terminal

pwshを直で立ち上げるとUTF-8が変になる。だもんで、Windows Terminalからしか立ち上げませんってポリシーで生きていけばいいと思う。

  • Windows Terminal起動して
  • Ctrl + , で設定開いて
  • 「Windows.Terminal.PowershellCore」を参照しているプロパティさがして
  • 同階層に「"fontFace": "Cascadia Code PL"」って入力

デフォルトターミナルの設定は「defaultProfile」プロパティに対応するguidを入れてやればいい。

◆oh-my-poshのテーマ

PowerShellの見た目変えられます。

ここ参照。

例えば以下のコマンドで「Pararussel」テーマに変更できる。

Set-Theme Pararussel

テーマプレビュー機能はないみたいね。残念。

自分でテーマ作りたいときは、同じページのCreating your own themeを参照

◆結論

そんな感じ。「git c」でTabキー押すと「git checkout」って出てくるし、Space入れてTabキー押すとブランチ名出してくれるし。

シェルは沼なので、あとは自分で研究してなんとかしろ。