Mac (Unix) から Windows への移行

このガイドは、使い慣れた macOS 開発ワークフローを、Windows、Linux 用 Windows サブシステム (WSL)、およびWindowsネイティブ開発者ツールに転送するのに役立ちます。

ネイティブ Windows アプリ開発の場合、Xcode に最も近いものはVisual Studio。 クロスプラットフォームのソース コード編集と大規模な拡張機能エコシステムの場合は、Visual Studio Codeを使用します。 ターミナルまたはクロスプラットフォーム フレームワークからWindows アプリをビルドする場合、パブリック プレビュー Windows アプリ Development CLI は SDK の設定、パッケージ ID の追加、MSIX パッケージの作成を行うことができます。

開発用のWindowsを設定する

次のWindows 11機能から始めます。

  1. 開発者設定を構成します。 バージョン 25H2 以降のWindows 11で、[Settings > System > Advanced] を開き、ファイル拡張子、非表示ファイル、長いパス、既定のターミナル、PowerShell スクリプト、sudo、開発者モード、開発ドライブを構成します。 以前のリリースでは、 開発者向けの設定を検索します。 開発者モードは主に、Windows アプリの開発、展開、テストに必要です。ほとんどの Web またはクロスプラットフォーム開発では必要ありません。 詳細については、「Windowsの詳細設定」を参照してください。

  2. WinGet を使用してツールをインストールします。Windows パッケージ マネージャー (WinGet) は、Homebrew などのpackage managerに相当するWindowsです。 これを使用して、アプリケーションの検索、インストール、アップグレード、削除、構成を行います。 たとえば、 winget upgrade --all WinGet が管理するパッケージを更新します。

  3. セットアップを繰り返し可能にします。WinGet 構成では、YAML ファイルを使用してパッケージとWindows設定を宣言します。 構成をプロジェクトまたはオンボーディング ドキュメントに保存し、実行する前にそのリソースを確認し、次のコマンドを使用して適用します。

    winget configure -f <path-to-configuration-file>
    
  4. 開発ドライブについて考えてみましょう。Dev Drive は、開発ワークロード用に最適化された ReFS ボリュームです。 一般的なドキュメントではなく、ソース リポジトリ、パッケージ キャッシュ、ビルド出力に使用します。 >設定 > システム > ストレージ > ストレージの詳細設定 ディスクとボリューム から作成します。

キーボード ショートカット

ヒント

PowerToys キーボード マネージャーを使用して、キーとショートカットを再マップします。 PowerToys クイック アクセント を使用すると、アクセント付き文字にすばやくアクセスできます。

Operation macOS Windows
コピーする Command + C Ctrl + C
切り取り Command + X Ctrl + X
貼り付け Command + V Ctrl + V
元に戻す Cmd+Z Ctrl + Z
セーブ コマンド+S Ctrl + S
開く Command + O Ctrl + O
コンピューターをロックする Command + Control + Q Windows キー + L
デスクトップを表示する Command + F3 Windows キー + D
ファイル ブラウザーを開く Finder の Command + N Windows キー + E
フロント アプリまたはデスクトップ全体のすべてのウィンドウを最小化する Command + Option + M (フロント アプリ) Windows キー + M (デスクトップ)
Search Command + Space Windows キー + S
ドキュメントまたはタブを閉じる Command + W Ctrl + W
アクティブなアプリを終了するか、アクティブウィンドウを閉じる Command + Q (アプリを終了) Alt + F4 (ウィンドウを閉じる)
アプリを切り替える Command + Tab Alt + Tab
開いているウィンドウを表示する Control+Up Windows キー + Tab
仮想デスクトップの切り替え Control + Left または Control + Right Windows キー + Ctrl + 左キーまたはWindows キー + Ctrl + 右キー
スナップ レイアウトを開く なし Windows キー + Z
スクリーンショットを保存する Command + Shift + 3 Windows キー + PrtScn
リージョンまたはウィンドウをキャプチャする Command + Shift + 4 Windows キー + Shift + S
アイテムの情報またはプロパティを表示する Command + I Alt + Enter
すべての項目を選択する Command + A Ctrl + A
連続しない項目を選択する コマンドを実行し、各項目を選択します。 Ctrl キーを押し、各項目を選択する
絵文字とシンボルピッカーを開く Control + Command + Space Windowsキー+

Windows ターミナルでは、Ctrl + Shift + C および Ctrl + Shift + V キーを使用して、既定でコピーして貼り付けます。 Ctrl + C は、実行中のコマンドを中断するために引き続き使用できます。

トラックパッドのショートカット

これらのジェスチャには、精度の高いタッチパッドが必要です。 > で、3本指と4本指のジェスチャを設定します。

Operation macOS Windows
スクロール 2 本指での垂直方向のスワイプ 2 本指での垂直方向のスワイプ
ズーム 2本指ピンチ 2本指ピンチ
コンテキスト メニューを開く 2 本指でクリック 2本の指でタップ
開いているウィンドウを表示する 4 本指で上方向にスワイプ 3 本指で上方向にスワイプ
デスクトップを表示する 4 本の指を広げる 3本指の下方向へのスワイプ
アプリを切り替える なし 3 本指で左または右にスワイプ
仮想デスクトップの切り替え 4 本指で左または右にスワイプ 4 本指で左または右にスワイプ

現在のジェスチャの一覧については、「Windowsのタッチ ジェスチャ」を参照してください。

コマンド ライン シェルとターミナル

Windows ターミナルは、PowerShell、コマンド プロンプト、WSL ディストリビューション、SSH、Azure CLI、Git Bash、およびその他のコマンドライン アプリケーションをホストできます。

PowerShell

PowerShell は、.NET上に構築されたクロスプラットフォーム シェルおよびオートメーション言語です。 PowerShell 7 はオープンソースされ、Windows、macOS、Linux で実行され、Windowsに含まれる Windows PowerShell 5.1 バージョンと共にインストールされます。 WinGet を使用して現在のバージョンをインストールします。

winget install --id Microsoft.PowerShell --source winget

pwshで PowerShell 7 を起動します。 lsmvcatなどのコマンドは、GNU ユーティリティではなく、PowerShell コマンドレットのエイリアスです。 パラメーターとオブジェクト ベースのパイプライン動作は、Bash とは異なります。 スクリプトを翻訳する際は、Get-Help を使用し、PowerShell エイリアスについて確認してください。

コマンド プロンプトは、Cmd 構文に依存するバッチ ファイルとツールで引き続き使用できます。

ネイティブ Unix スタイルのツール

多くの使い慣れたコマンドは、WSL を使用せずにWindowsでネイティブに実行されます。

  • coreutils for Windows では、lscatcpmvgrepfindheadtailwcsortuniqなどのMicrosoft管理されたコマンドのビルドが提供されます。 winget install Microsoft.Coreutilsと共にインストールします。 PowerShell エイリアスが優先される可能性があるため、Coreutils コマンドが必要な場合は、 ls.execp.exe などの名前を使用します。
  • sudo は、Windows 11 バージョン 24H2 以降のユーザー アカウント制御によってコマンドを昇格させます。 Unix sudoとは異なり、コマンドは別のユーザーとして実行されません。 バージョン 25H2 以降のWindows 11で、[システム > の詳細設定>設定] で有効にします。
  • curltar は、ファイルのダウンロードとアーカイブの操作に含まれています。
  • Edit は、現在のWindows 11 リリースに含まれる軽量のターミナル テキスト エディターです。 winget install Microsoft.Editを使用して、サポートされている他のシステムにインストールします。

WSL で Linux を使用する

Linux 用 Windows サブシステム (WSL) は、Windows上で Linux 環境を直接実行します。多くの場合、macOS からの開発者にとって最も使い慣れたオプションです。 新規インストールでは、既定で WSL 2 が使用されます。

既定の Ubuntu ディストリビューションで WSL をインストールするには、管理者特権の PowerShell ウィンドウで次のコマンドを実行し、Windows再起動します。

wsl --install

別のディストリビューションを選択するには、使用可能なディストリビューションを一覧表示し、代わりに名前でインストールします。

wsl --list --online
wsl --install -d <DistributionName>

インストール後、次のコマンドを使用して WSL を更新します。

wsl --update

Linux ツールのパフォーマンスを最大限に高めるには、/mnt/cではなく、/home/<user>/projectなどの Linux ファイル システムにプロジェクトを格納します。 WSL から、 explorer.exe . を実行して、エクスプローラーで現在のディレクトリを開きます。 Windowsは\\wsl$の下で Linux ファイルを公開し、Windowsコマンドと Linux コマンドは相互に呼び出すことができます。

Visual Studio Codeは、code .を使用して WSL 内でプロジェクトを開き、拡張機能、ターミナル、およびツールを Linux で実行しながら、エディター UI をWindowsに保つことができます。 Visual Studio Codeを使用した WSL での開発、Windowsおよび Linux ファイル・システム間での作業を参照してください。

Windows ターミナルを使用する

Windows ターミナルは、Windowsでのコマンド ライン作業に推奨されるホストです。 プロファイル、タブ、分割ペイン、テーマ、Unicode、GPU アクセラレーションテキストレンダリングがサポートされています。 Windows ターミナルはWindows 11に含まれており、Windows 10のMicrosoft Storeから入手できます。

  • Ctrl + Shift + P キーを押してコマンド パレットを開きます。
  • Alt + Shift + Plus または Alt + Shift + マイナスキーを使用して、現在のプロファイルをペインに分割します。
  • PowerShell、WSL、コマンド プロンプト、SSH、その他のツールのプロファイルを作成します。

従来の Windows コンソール ホストは、古いコマンド ライン アプリケーションとの互換性のために引き続き使用できます。

ウィンドウの管理と生産性

Windows 11には、スナップ レイアウト、スナップ アシスト、スナップ グループ、複数のデスクトップが含まれます。 ウィンドウの最大化ボタンにカーソルを合わせるか、Windowsキーを押しながら Z キーを押してレイアウトを選択します。 Windowsキー + Tab キーを使用して、スナップ グループとデスクトップを表示します。

Microsoft PowerToys では、開発者とパワー ユーザー向けのユーティリティが追加されます。 コマンド パレット は、アプリ、コマンド、ファイル、設定、WinGet パッケージ、開いているウィンドウ、クリップボード履歴、およびターミナル プロファイル用のスポットライトに似たランチャーです。 Windowsキー + Alt + Space キーを押して開きます。 その他の便利なユーティリティには、キーボード マネージャー、クイック アクセント、FancyZones、ワークスペースがあります。

エクスプローラーは、ローカル ファイルとクラウド ファイル、ピン留めされた場所、タブ、最近使ったアイテムを組み合わせたものです。 [表示] > [表示] を使用して、ファイル拡張子と非表示ファイルを表示します。 合理化されたコンテキスト メニューでは、一般的なコマンドが上部に表示されます。[従来のシェル拡張機能の その他のオプションを表示 する] を選択します。

アプリとユーティリティ

Task macOS Windows
設定 システム設定 設定
プロセスの監視 アクティビティ モニター タスク マネージャ
ディスクのフォーマットとパーティション分割 ディスク ユーティリティ ディスクの管理
テキストを編集する テキストエディット メモ帳または 編集
システム イベントの表示 コンソール イベント ビューアー
ファイルとアプリを検索する スポットライト Windows検索または PowerToys コマンド パレット
パッケージの管理 Homebrew WinGet
開発ファイルを保存する なし Dev ドライブ
Unix コマンド ライン ツールを実行する 組み込み Coreutilssudo、または WSL
ウィンドウの配置 ミッション コントロール スナップ レイアウトと複数のデスクトップ
生産性ユーティリティを追加する なし PowerToys