💻

Developer Powershell for VS 2019をWindows Terminalから開く

2021/05/28に公開1

はじめに

Visual Studio 2019をインストールするとスタートメニューにDeveloper Powershell for VS 2019が追加されます。
これはWindows PowerShellのウインドウが開くのでWindows Terminalから開けるようにします。

Developer Powershell for VS 2019のプロパティを確認する

スタートメニューからファイルの保存場所を開き、ショートカットのプロパティを開くと以下のように設定されていました。

ショートカット名

Developer PowerShell for VS 2019

リンク先

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -noe -c "&{Import-Module """C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell 19a43273}"

作業フォルダ

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\"

Visual StudioのインスタンスIDを確認する

Enter-VsDevShellの引数の19a43273(Visual StudioのインスタンスID)はPC毎に異なります。
ショートカットかvswhereコマンドの出力をコピペしてください。

cmdの場合

"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -property instanceId

PowerShellの場合

& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -property instanceId

Windows Terminalに設定を追加する

設定 > プロファイル > 新規作成から以下の設定を追加します。
アイコンは既存のPowerShellの設定を流用しています。

プロファイル

カスタマイズ

デフォルトのままではいくつか使いにくいのでいくつか設定を変更します。

x64版を使う

デフォルトはx86版なのでx64版で起動するためにEnter-VsDevShellの引数に-DevCmdArguments -arch=x64を追加します。[1]

起動パスを変更する

デフォルトの起動パスはVisual Studioから新規プロジェクトを作る時のプロジェクトの場所です。
ホームパスから起動したいのでEnter-VsDevShellの引数に-StartInPath %USERPROFILE%を追加します。

シェルをpwshに変更する

ショートカットのシェルはWindows PowerShell(powershell.exe)でしたがPowerShell CoreやPowerShell 7(pwsh.exe)に変更する事もできます。

pwshから以下のコマンドを実行するとpwsh.exeのフルパスが出力されます。
これとC:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exeと入れ替えるとpwshから起動できます。

(gcm pwsh.exe).Source

外観を変更する

Developer Powershell for VS 2019は普段のシェルと違うので外観を変えて違いを分かりやすくします。

できたもの

  • x64版へ変更
  • 起動パスをホームパスに変更
  • シェルをPowerShell 7に変更
C:\Program Files\PowerShell\7\pwsh.exe -noe -c "&{Import-Module """C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell 19a43273 -StartInPath %USERPROFILE% -DevCmdArguments -arch=x64}"

プロファイル

脚注
  1. http://mklearning.blogspot.com/2019/12/developer-powershell-for-vs-2019x64.html ↩︎

Discussion

nikunemunikunemu

Thank you so much for the explaination. I have been searching the web for the past two hours trying to figure out what the numer after "Enter-VsDevShell" is for. You the real mvp.