日記(日記とは言っていない)

https://zenn.dev/23prime に移行しました。

Windows での開発環境構築メモ

主に

について.

環境

Git

Git for Windows をダウンロード && インストール.

Cmder

Windows 向けの高機能ターミナルエミュレータです.

Installing

  1. 公式 から Download Full を選んでダウンロードします.
  2. 降ってきた zip を適当な場所に解凍します.
  3. Cmder.exe を選んで実行します.

Settings

この辺 が参考になった(雑).

文字コード問題

デフォルトの文字コードWindows-31J (CP932) ですが,これを UTF-8 (CP65001) にします.

次のコマンドを打つだけでおkです.

$ chcp 65001

こいつを Cmder 起動時に勝手に実行させるため,右下のアイコンSettingsStartupTasks{cmd::Cmder} を選び,右下に

&& chcp 65001

を追記します.

make コマンドを使えるようにする

何かと使う make がデフォルトでは入っていないので,入れておきます.

手順

  • 公式 から Complete package, except sources を選択してダウンロード && インストール. ※ 執筆時点で make-3.81.exe が最新.
  • PATH を通します. ※ PATH の通し方
    • コントロールパネルシステムシステムの詳細設定環境変数PATH新規 で追加.
    • C:\Program Files (x86)\GnuWin32\bin とかを書きます.

VSCode

Installing

公式 よりインストーラーをダウンロードしてインストール.

基本的にイエスマンでいいのですが,次の赤枠はチェックしておくと,後々使いやすいかもしれません. (というか,後で設定し直すには,再インストールするかレジストリを直接弄る必要があるっぽい.)

VSCode 関連のファイルは,(私の場合) C:\Users\<USER NAME>\AppData\Roaming\Code\ に生成されています. 以下,断りなく Code と書いた場合,ここを指します.

Settings

ファイル基本設定設定 (もしくは Ctrl + ,)で,.json という気味の悪い拡張子のファイル Code\User\settings.json が開くので,これに色々書いていきます.例えば次みたいな感じ.

{
    // Basic settings <- JSON5 なのでコメントも書ける
    "editor.wordWrap": "on",
    "editor.fontLigatures": true,
    "editor.fontFamily": "MyricaM M",
    "editor.fontSize": 14,
    "editor.renderWhitespace": "none",
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "files.autoGuessEncoding": true,
}

VSCode 上で key にマウスオーバーすると詳細を教えてくれるので,詳細は省略します.

フォントはさしあたり MyricaM にしておきました. 普段は Migu フォントを使っているが,後述のターミナルのフォントに設定しようとすると「等幅じゃないよ!」って怒られるので,断念.

KayBinding

Emacs キーバインド拡張を入れる

基本的なキーバインドEmacs のものを使いたいので, Emacs Friendly Keymap を使います.

同じような拡張がいくつかありますが,2018年7月現在,おそらく一番開発が続けられてるのがコレです.

手動でキーバインドを設定する

キーバインドの設定は Code\User\keybindings.json に記述する.

手始めに,カーソル移動を Ctrl + (h|j|k|l) に当ててみます.

基本的な流れは

  1. 既存のキーバインドを外す.
  2. 新たなキーバインドを設定する.

みたいな感じ.

キーバインドを外す

ファイル基本設定キーボード ショートカット で現在の割り当てを確認できます.

キーバインドの検索 という窓から,例えば ctrl h で検索すると,Ctrl + h置換 に当てられていることがわかります.

これを選択して,Delキーバインドを外せる.外すと,Code\User\keybindings.json が自動的に更新され,次のようになっています.

[
    {
        "key": "ctrl+h",
        "command": "-editor.action.startFindReplaceAction"
    }
]

キーバインドを設定する

先程の Code\User\keybindings.json に書き足していきます.

Ctrl + h に「カーソルを左へ移動」を当てたいので,次のように書き足します.

[
    {
        "key": "ctrl+h",
        "command": "-editor.action.startFindReplaceAction"
    },
    {
        "key": "ctrl+h",
        "command": "cursorLeft",
    }
]

同じように,他のカーソル移動も設定します.

ついでに,元々 Ctrl + h に当てられていた 置換 は間違いなく今後多用するので,Ctrl + r に当て直す.

[
    // 前略
    {
        "key": "ctrl+r",
        "command": "-workbench.action.openRecent"
    },
    {
        "key": "ctrl+r",
        "command": "-workbench.action.quickOpenNavigateNextInRecentFilesPicker",
        "when": "inQuickOpen && inRecentFilesPicker"
    },
    {
        "key": "ctrl+r",
        "command": "editor.action.startFindReplaceAction"
    }
]

こんな感じで設定していきます.

VSCode v1.27 あたり?から,ほぼ GUI での設定ができるようになりました.

VSCode 上で Cmder するために

cmder\vscode.bat を作成し,次のように編集します.

@echo off
SET CMDER_ROOT=C:<cmder までの path>
"%CMDER_ROOT%\vendor\init.bat"

さらに,settings.json に次を書き足します.

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": 
[
    "/k",
    "C:<cmder までの path>\\vscode.bat"
]

\エスケープしてあげなとダメ.

これだけではやはり Windows-31J なので,こっちはこっちで起動時に UTF-8 にしてやる必要があります.

よって, terminal.integrated.shellArgs.windows を次のように編集します.

"terminal.integrated.shellArgs.windows": 
[
    "/k",
    "C:<cmder までの path>\\vscode.bat",
    "&&",
    "chcp",
    "65001"
]

ついでにターミナルのフォントに関する設定.

"terminal.integrated.fontFamily": "MyricaM M",
"terminal.integrated.fontSize": 15,
"terminal.integrated.lineHeight": 1.5,