記事の内容に不備 (@lunateaさん、@yumetodoさんにご指摘いただきました) & @yumetodo さんの過去投稿記事とネタかぶりがありましたので、以下記事は参考にしないでください……orz
VSCodeを使うときに統合ターミナル画面が便利なので常時開きながら使っています。
MacなりLinuxなりだとBashなりなんなりとまともなターミナルが使えるのですが、Windows7だとデフォルトでcmd.exeとなるのが辛いところ。
なのでMSYS2を入れて快適なターミナル環境で使おうとしたけれど、ちょっとハマりどころがあるので共有します。
必要なもの
手順
-
VSCodeはインストールされているものとします
-
MSYS2を
C:\msys64
にインストールします -
VSCodeの統合ターミナル機能で利用するシェルの指定をします
ユーザ設定に素直に設定すると以下のようになると思いますが
{
...
"terminal.integrated.shell.windows": "C:\\msys64\\msys2.exe",
...
}
これでは上手く動作しません。
で、どうするかというと
(12/18追記)
ここから↓ よろしくないようです。
{
...
"terminal.integrated.shell.windows": "C:\\msys64\\vscode_bash.bat",
...
}
と設定して、C:\msys64
フォルダの下に
@echo off
set CHERE_INVOKING=1 set MSYSTEM=MINGW64 & C:\\msys64\\usr\\bin\\bash.exe --login -i
というbatファイルを用意します。
これで無事VSCodeの統合ターミナル機能からmsys2を呼ぶことが出来るようになります。
ここまで↑ よろしくないようです。
コメント欄で @lunatea さん、 @yumetodo さんに指摘していただいたところによると、引数なども指定できるようでした。
{
...
"terminal.integrated.env.windows": {
"CHERE_INVOKING": 1,
"MSYSTEM": "MINGW64"
},
"terminal.integrated.setLocaleVariables": true,
"terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
"terminal.integrated.shellArgs.windows": [
"-i"
],
...
}
で行けるようです。
あと"terminal.integrated.setLocaleVariables": true
を指定することでpacman等が日本語表示されました。
詳細は @yumetodo さんの「Visual Studio Code 15.1の統合シェルをMSYS2のbashにする」をご参照ください。
それでは良いVSCodeライフを!