Windows開発環境完全体~ターミナル編~

この記事の文字数は、4,706 文字です。
Linuxをシェルコマンドで操作する上でターミナルソフトは必須です。 Windowsでのターミナル操作って、コマンドプロンプトかPowerShellだけだと思っていませんか? もう2つとも使わなくて良いですよ。 僕らには「Windows Terminal」があります。
目次
こんにちは。ナオツです。
以前、WindowsでWSL2をインストールすることによって、Macと同じLinux開発環境を手に入れられることをご紹介しました。
このままでも開発はできるのですが、もっと便利にできたら素敵じゃないですか?
そこで何回かにわけて開発環境を便利にするTipsをご紹介しようと思います。
今回は開発では必須の ターミナル編 です。
標準ソフトは基本使わない
WSL2は仮想マシン
ターミナルの説明の前にWSL2について補足させてください。
実は、WindowsとWSL2は別のマシンです。 WSL2は、簡単に言うと 「むっちゃ起動が早い仮想マシン(VM)」 なんです。
仮想マシンとは、OSの中で別のOSが起動するのをシミュレーションしているような状態です。
Windowsの中でWSL2というソフトウェアを使って、UbuntuというLinux OSを起動させているのです。
Windows標準ターミナルは使わない
Macだとターミナルソフトが標準でインストールされていて、最初からBash(シェル)コマンドを実行できます。
シェルとは 広義のシェルの意味を問うと奥深いんですが、 エンジニアの現場で「シェル」といったらLinuxをコマンドラインで操作するためのソフトウェアです。 シェルだけでも記事が書けそうなので、いつか書きます…
Windowsで使える標準のターミナルソフトは、
- コマンドプロンプト
- Windows PowerShell
の2つです。
普段の業務で、これらのターミナルからWSL2のLinuxを操作することは基本ありません。
わざわざWSLに接続するコマンドを打たないとWindowsの世界からWSL2の世界に移動できないからです。
毎日開発するのにこれは面倒です。
Ubuntuアプリも使わない
WSL2をインストールする手順で Ubuntu 20.04 LTS をインストールしたかと思います。
こんな画面が起動したの覚えてますでしょうか?
これもターミナルです。
最初からWSL2のUbuntuを起動してくれます。
これでええやん?
と思われるかたもいらっしゃるでしょう。
これ、、、
むっちゃ使いづらいです・・・
Linuxはすべての操作をコマンドラインで行います。
短いコマンドならば問題ないですが、長いコマンドだと打ってるだけでモチベが下がってきますよね(笑)
そういうとき皆さんはコピペすると思います。
- どこかのサイトからコピペ
- 既存のコードからコピペ
コピペといえば、Windowsユーザーなら「Ctrl + C」→「Ctrl + V」ですよね?
この鉄の掟は破りたくないものです。
でも、このUbuntuターミナルのコピペは「Ctrl + C」→「Ctrl + V」が使えません。
なんと、
- 文字列をドラッグ:コピー
- マウス右クリック:ペースト
なんです。
これは 辛いですよね。
設定で変えられますが、、、
- Ctrl + Shift + C: コピー
- Ctrl + Shift + V: ペースト
この変更も結構辛いものです。
Windowsユーザーは「Ctrl + C」→「Ctrl + V」という操作が無意識レベルで定着してしまっているからです。
Windows Terminal
分割表示もできてコピペも可
Windows Terminalとは、Microsoft Storeから無料で入手できるターミナルアプリケーションです。
無料っていいですね。
さっそく起動させてみましょう。
こんな感じ。
ちなみに僕のPCではUbuntu 18.04 LTSがインストールされていますが、Ubuntu 20.04 LTSとほとんど変わりません。(そろそろアップデートせねば…)
上の画像からわかる通り、新しくタブを開くとき(タブの「+」の右にある下向き矢印ボタンを押下)、
- Ubuntu
- コマンドプロンプト
- PowerShel
を選べるんですね。 ※前にAzureの勉強をしてたことがあって、Azureのシェルもメニューに入っちゃってます(笑)
WSL2シェル・コマンドプロンプト・PowerShellを選んで起動できるんです。
また、垂直方向または水平方向に分割表示が可能で、Macのターミナルと使い勝手は変わりませんね。
しかもしかも!
「Ctrl + C」→「Ctrl + V」でコピペ可能 なんですね。
これ生産性に関わるとこなので、めちゃくちゃ大事です。
さらに便利な設定
WSL2起動時のデフォルトディレクトリを設定
WSL2のUbuntuを起動すると、デフォルトディレクトリが/mnt/c/Users/USERNAME
になってしまいます。
これは不便ですね。
普通のLinuxやMacと同じく/home/{wsl2のUser}
にしたいところです。
変えましょう。
上の画像で紹介した「下向き矢印ボタン」を押下すると、Ubuntu・コマンドプロンプト・PowerShellのほかに「設定」という項目があるので、開いてみましょう。
そうすると「setting.json」という設定ファイルが開かれます。
僕はVS Codeというエディターで開きました。
現時点で設定はGUIでなく、設定ファイルを直接編集することになります。
WSL2(画像だとUbuntu-18.04の部分)のstartingDirectory
を上記のように変更します。
ユーザー名のところは、WSL2をインストールしたときに入力したユーザー名にしてくださいね。
デフォルトのプロファイルをWSL2に変更
毎回「下向き矢印ボタン」から「Ubuntu」を選択するのは面倒です。
上の画像で「+」ボタンを押してもターミナルは起動するのですが、 デフォルトでPowerShellが起動してしまうんです。
これは不便ですね。
普段の業務でPowerShell使うことはほとんどありません。
そこでこの設定を変えていきます。
設定ファイルのdefaultProfile
の部分を変更します。
WSL2・コマンドプロンプト・PowerShellには、それぞれguid
というWindows Terminalが識別する個別IDが発行されています。
defaultProfile
にWSL2(画像だとUbuntu-18.04)のguid
を設定することで、デフォルトでWSL2のターミナルが起動するようになります。
また、この設定ファイル上でフォントの設定などもできますので、いろいろ試してみてくださいね。
まとめ
いかがだったでしょうか?
Windows Terminalを使えば、開発を進める上でかなりコマンド操作が使いやすくなります。
設定もいくつか変えることで、普段の業務で無駄なことを一切せずに、WSL2のUbuntuにアクセスし、すぐに仕事が始められます。
とくに難しいことなかったですよね?
これであなたのターミナルはMacと同等です。
おめでとうございます。
それでは、次回ももう少しWindowsの開発環境をアップグレードしていきましょう。