👻

Windowsで開発環境を構築する 2025

2025/02/19に公開

概要

ひさびさにwindowsを触る機会があったので
windows+mise+WSL2+VSCodeの開発環境を作ってみます

2025/02時点での動作確認環境

  • Windows 11 Home 23H2

パッケージマネージャ

以下が選択候補ですが、MS公式のwingetを使ってみます
(特にインストールは不要でした)

  • winget
  • scoop
  • chocolatey

Ansibleとかで自動化したい場合はscoopの方がよさそうです

https://learn.microsoft.com/ja-jp/windows/package-manager/winget/
https://scoop.sh/
https://chocolatey.org/

ターミナル

windowsのターミナルには以下2つあり、MS製のシェルであるPowerShellを使ってみます
標準では5系が入っているので最新版を入れます

  • コマンドプロンプト
  • Windows PowerShell

ターミナル(PowerShell 5)→wingetでインストール

winget install Microsoft.PowerShell

※以降PowerShell7を使います

バージョン管理ツール

(後述のWSL2上でなく)windowsで言語やツールのバージョンを管理する
miseを入れます

winget install jdx.mise

PowerShell7でプロファイルを作成します

if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}

notepadなどで開いて

notepad $PROFILE

設定を追記します

$shimPath = "$env:USERPROFILE\AppData\Local\mise\shims"
$currentPath = [Environment]::GetEnvironmentVariable('Path', 'User')
$newPath = $currentPath + ";" + $shimPath
[Environment]::SetEnvironmentVariable('Path', $newPath, 'User')

https://mise.jdx.dev/getting-started.html
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7.4#how-to-create-a-profile

mise

利用可能ツールの確認

mise plugins ls-remote

ツール指定だとリストにないものでもバージョン出てきたりします

mise ls-remote rust

rustの最新版をglobalにインストール

mise use -g rust@latest

ローカルにバージョン指定で入れる場合

mise use rust@1.80

インストール済を確認

mise ls

設定されているバージョンの確認

mise current

Linux環境

よく使われるのは以下の2つでしょうか
今回はWSL2を使ってみます

  • WSL2(Windows Subsystem for Linux)
  • Cygwin

Cygwinは今となってはあまり使われなくなってきている気もしますが、外側のネットワークにアクセスしたい場合などに利用されることがあるようです

https://learn.microsoft.com/ja-jp/windows/wsl/
https://www.cygwin.com/

WSL2(Windows Subsystem for Linux)

PowerShellもしくはコマンドプロンプトを管理者モードで起動してインストール

wsl --install

Ubuntu 24.04.1 LTSがインストールされました
スタートメニューには「Ubuntu」という名前で(なぜか2つ)登録されていました。謎です
ターミナルからも選択できます

mise

WSL2でもバージョン管理したいので
こちらもドキュメントにしたがってインストールします

sudo apt update -y && sudo apt install -y gpg sudo wget curl
sudo install -dm 755 /etc/apt/keyrings
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null
echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list
sudo apt update
sudo apt install -y mise

miseのアクティベート

echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc

https://mise.jdx.dev/getting-started.html

ちなみにMacで使う場合などはnon-interactive sessions用の設定もしておくとよいです
IDE等で設定が読まれるようになります

echo 'eval "$(mise activate bash --shims)"' >> ~/.bash_profile

https://mise.jdx.dev/dev-tools/shims.html#how-to-add-mise-shims-to-path

エディタ/IDE

Pulsar

zedを入れようと思ったけどバイナリがまだないのでPulsar(Atom後継)を入れます

winget install Pulsar-Edit.Pulsar

パッケージとかは適当に入れました
↓参考
https://zenn.dev/cacbahbj/articles/a753aaea7ad82b

VSCode

インストール

winget install Microsoft.VisualStudioCode

WSL用のパッケージを入れます
拡張機能->「Remote Development」を検索

https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-vscode
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

以下でWSLのフォルダが開けます

  • VSCodeからCtrl+Shift+Pで「WSLでフォルダーを開く」
  • Ubuntuのディレクトリで code .

Discussion