macOS → Windows セットアップメモ


MacBook Pro から数年ぶりに Windows に戻ってきました。
新しいPCは Lenovo の ThinkPad T490 です。
スペックは 14inch Monitor, CPU:Core i7, Mem:32GBytes, SSD:512GBytes って感じ。
MacBook Pro を買うまでは ThinkPad 愛用者でしたのでトラックポイントを指が覚えてる、最高。タッチパッドは無効にしています。

その初期セットアップ手順をメモ。

主な使用用途

モバイル、Web系のソフトウェア開発が主です。使用技術は概ね以下の通り。

  • node.js: TypeScript/JavaScript でバックエンド(FaaS) の開発
  • Angular: TypeScript/JavaScript で Web フロントエンドの開発
  • AWS: Lambda, API Gateway, S3, EC2, DynamoDB など
  • C#(Xamarin, .NET): Android/iOS アプリの開発、Bot の開発 1
  • Kotlin: Android アプリの開発
  • PostgreSQL, SQL Server: だいたい RDB(プロトタイプでは Firestore も使う)
  • Java: Servlet, JSP などの開発

インストールするソフトウェア

開発ツール関連

ngrock

Chocolatey

SourceTree

  • ご存じ GUI Git クライアント
  • Win版はあまりよい評判を聞かないけどとりあえずこれでいく

Visual Studio Code

  • node.js, Angular などの開発はこれで。
  • 設定で Enable Preview の2つの項目はチェックを外しておく。プレビュー状態だと OPEN EDITORS からすぐに消えちゃうのがキライ。

VSCode のプラグイン

  • Debugger for Chrome - Webフロントエンドのデバッグに
  • Visual Studio Intelli Code - AI とやらで候補出してくれるやつ
  • Rainbow CSV - CSV ファイルの列を見やすく着色してくれる
  • Angular Support - html と ts を行ったり来たりできる
  • EditorConfig for VS Code - editorconfig を効かせる
  • GitLens - Visual Studio みたく git log をコード中に表示
  • Peacock - 画面の色を変えられる
  • Remote-WSL - リモートモードで VSCode が使える。WSL 内開発もこれで。
  • REST Client - REST Client
  • vscode-angular-html - Angular 用の syntax hilight。

Java

どうせ AWS が主なので Amazon Corretto を使うことにしました

環境変数 JAVA_HOME に、解凍先を指定。
Path に %JAVA_HOME%\bin を追加。

Android Studio

  • Android アプリ開発に使う
  • Kotlin たのしいれす
  • Android SDK はこれを基準にする

環境変数 ANDROID_SDK_HOME に、インストール先(例: %USERPROFILE%\AppData\Local\Android\Sdk)を指定。
Path に %ANDROID_SDK_HOME%\platform-tools を追加。

Visual Studio 2019

  • 今のところ Xamarin で Android/iOS アプリを作るのに使うだけ
  • 古い MacBook Pro を iOS アプリのビルドマシンにしてリモートビルドできる
  • しかも Remoted iOS シミュレータ で、「Windows で」「iOS アプリの」動作確認もできる(便利!)
  • Android SDK は入れずに、Android Studio が入れた SDK を参照する
  • msbuild.exe があるディレクトリ(例: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin) に Path を通しておく

JetBrains Rider

  • https://www.jetbrains.com/rider
  • C#(.NET) の IDE
  • コードの書き味は実は JetBrains 系 IDE が好きなので。
  • Xamarin もメインはこっちでいきたい(iOS 版の動作確認は VS2019 使う)。

nuget

  • .NET プロジェクト用のパッケージマネージャ
  • Xamarin 製アプリの CLI ビルドに使う
  • https://www.nuget.org/downloads からダウンロードして適当なディレクトリに置き、Path を通しておく。

Eclipse

JetBrains DataGrip

nodist

  • https://github.com/nullivex/nodist
  • Windows 向けの Node.js のバージョン管理ツール
  • macOS では ndenv を使っていて、それと同じ .node-version ファイルを読んでくれるので。

node.js/npm

  • chocolatey 経由でインストールした(気がする)
  • node.js の global には AWS Lambda の実行環境 に合わせて v10.15.3 に。
  • TypeScript, Angular も global にインストール

pyenv-win

WSL(Windows Subsystem for Linux)

  • 1 だけど
  • Ubuntu をインストール
  • node や SDK の類は WSL に入れておk
  • VSCode + WSL拡張環境だと、bash から code . で VSCode 内が Linux モードで動くので Win 感を払拭できる

Bash

エイリアス(.bashrc)

  • alias open='explorer.exe' : open . で Explorer 起動

    • MDIE に Path を通して、explorer.exe の代わりに mdie.exe としたらさらにシアワセに
      • ただしその場合 open . は使えず open $(wpwd) が必要
  • alias wpwd='wslpath -w `pwd`' : wpwd で現在ディレクトリを Win 形式で

パッケージ

以下は apt-get で入れた気がする(dpkg -l の結果からそれらしいものを抽出)。

ii  awscli                         1.14.44-1ubuntu1                   all          Universal Command Line Environment for AWS
ii  gcc                            4:7.4.0-1ubuntu2.3                 amd64        GNU C compiler
ii  git                            1:2.17.1-1ubuntu0.4                amd64        fast, scalable, distributed revision control system
ii  gzip                           1.6-5ubuntu1                       amd64        GNU compression utilities
ii  openssl                        1.1.0g-2ubuntu4.3                  amd64        Secure Sockets Layer toolkit - cryptographic utility
ii  perl                           5.26.1-6ubuntu0.3                  amd64        Larry Wall's Practical Extraction and Report Language
ii  python3                        3.6.7-1~18.04                      amd64        interactive high-level object-oriented language (default python3 version)

node.js

npm

global に入れたのはこんだけ。

$npm ls --depth=0 -g

/home/hoge/dev/.nodenv/versions/12.14.1/lib
├── @angular/[email protected]
├── [email protected]
├── [email protected]
└── [email protected]

Windows Terminal/コマンドプロンプト/PowerShell

まだ Preview だけど Windows Terminal を使っていこうと思う。
WSL を入れると Ubuntu が増えるので、既定は Ubuntu で。

profiles.json はここ→ https://gist.github.com/amay077/0dddc1099c793ced62aa0852a8b5f7fd

repo を clone して regedit /s solarized-dark.reg を実行。

コマンドプロンプトは

cd %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools

に移動して、

<cloneしたrepo>\Update-Link "Command Prompt.lnk" dark

を実行。Visual Studio 2019 をインストールすると「Developer Command Prompt for VS 2019」というコマンドプロンプトもできるので、そちらも同様に行う。

PowerShell も同じく、設定はコマンドプロンプトで行える。

例:

cd "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell"
C:\repo\cmd-colors-solarized\Update-Link.cmd "Windows PowerShell.lnk" dark
エイリアス
  • Set-Alias -Name open -Value explorer.exeopen . で Explorer 起動
  • MDIE に Path を通して、explorer.exe の代わりに mdie.exe としたらさらにシアワセに
    • ただしその場合 open . は使えず open $(pwd) が必要

AWS CLI

macOS では ~/.aws/credentials にプロファイルが保存されているので、これを Win の %USERPROFILE%\.aws\credentials にコピーする(via 名前付きプロファイル - AWS Command Line Interface)。

Windows HyperVisor Platform

その他一般

ThinkPad のトラックポイントの速度設定

なぜかプリインストールされているOSを消して、USBから新規インストールしてしまったので、コントロールパネルにあるはずにトラックパッドの設定画面が表示されなくなってしまった。

のでレジストリを操作して回避。

Windows で MagicTrackPad2 を使う

まだ半分 macOS も使うので、キーボード、トラックパッドは mac のを使う。
Windows でも3本指ドラッグとか、2本指スクロールがしたいと思って、Magic Utilities を使うことにした。

年額 14.9$ だが、その価値はあると判断した。

Windows で Apple Wireless Keyboard を使う

ちょっと古めの Apple 純正 Bluetooth キーボード。
これを Windows で良い感じに使うまでが苦労した。

デバイスドライバーをインストール
  1. どうにかして keymagic64.inf を入手する(Bootstrap のサポートソフトウェアに入ってるとのことだったが、自分の場合そこにはなかった)
  2. keymagic64.inf をインストールする
  3. デバイスマネージャーの ヒューマン インターフェイス デバイス に「Apple Keyboard」が表れる

これで 英数 キーと かな キー が機能するようになった。
しかし、PCを再起動すると、「Apple Keyboard」が「Apple Wireless Keyboard」になってしまい効かなくなる。
その時は、その「Apple Wireless Keyboard」を削除し、「ハードウェア変更のスキャン」を実行すると、「Apple Keyboard」が復活する。
←Magic Utility で Magic Keyboard Utilities を削除したら解消した。

キーコンフィグの変更

KeySwap を使って下図のように。

  • 左右の Command キーを ctrl キーとして
  • control キーを 半角全角 キーとして
  • caps キーを Windows キー

にそれぞれ割り当てている。

Fn キーのロック

fn キーを押しながらでないと、F1 ~ F12 キーが "いつもの" 機能を果たしてくれないので、

を参考に下記レジストリを変更。

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\KeyMagic]
"OSXFnBehavior"=hex:00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\KeyMagic]
"OSXFnBehavior"=hex:00

Google IME

macOS でも Google IME を使ってたので。

HotClip

クリップボード履歴。

ものすごく古いフリーウェアなのだけど昔から愛用している。
Windows 標準にも搭載された(Winキー+V)けど、PC再起動で消えちゃうので。
ホットキーは、Ctrl+S に履歴を、Ctrl+D に定型文呼び出しを設定するのがお気に入り。

MDIE

Explzh

EmEditor

  • https://jp.emeditor.com/
  • VSCode と併用する感じで。
  • CSV/TSV や巨大ファイルの扱いは VSCode を超える

Office 2019

  • まあ要るですよ

Skype

  • 捨てたもんじゃない、(非IT系の人も)みんな知ってるメッセージングソフト

  1. iOSアプリ開発もまだするけど古いMac+VS2019のリモートビルド+リモートiOSシミュレータを使う