LoginSignup
5

More than 5 years have passed since last update.

IntelliJ IDEAのTerminalウィンドウでmsys2を使う

Last updated at Posted at 2017-12-17

はじめに

IntelliJのTerminalがcmd.exeのままだと何かと不便だったりするので変更してみたのですが苦労したので記録を残しておきます。

環境
win10
IntelliJ IDEA 2017.3

インストール

http://www.msys2.org/ ここからmsys2をインストールしてください。
フォルダを解答したら任意の場所にmsys64フォルダを置いてください。
このあと環境変数にmsys_rootのような名前でパスを通しておくと便利です。
環境変数を追加したあとに再起動するのを忘れないで下さいね。

とりあえず設定を変更する

file > Settings > Tools > Terminal からShell Pathをmsys2.exeに変更してみます。
そのあとIntelliJ上でTerminalを開こうとすると、

msys.PNG

別ウィンドウでmsys2が開いてしまいました。

違う……そうだけど、そうじゃないんだ……

結論

結論としては、msys64フォルダまでのパスをmsys_rootとして環境変数にパスを通したあとで、file > Settings > Tools > Terminal から設定画面を出し、

キャプチャ.PNG

Shell pathを

cmd.exe

から

"cmd.exe" /k ""%msys_root%\usr\bin\bash.exe"" --login -i

に変更するとTerminal画面の中でmsysが動きます。
これでlsとか使えるようになるよ!やった!

aaa.PNG

ただしこのやり方だとカレントディレクトリがホームになってしまうので作業ディレクトリまで自分で移動しないといけません。色々試してみたのですがいい解決方法が見つかりませんでした。もっといいやり方をご存知の方がいらしたら教えいただけると幸いです。

追記

コメントで教えていただいたVisual Studio Code 15.1の統合シェルをMSYS2のbashにするの記事を参考にカレントディレクトリを作業ディレクトリにすることができました!

  # Start MSYS in selected folder
  # c:\msys\usr\bin\bash -c "cd '%curdir'; export
  # CHERE_INVOKING=1; exec /usr/bin/bash --login -i"
  #
  # Make sure we start in home unless invoked by CHERE
  if [ ! -z "${CHERE_INVOKING}" ]; then
    unset CHERE_INVOKING
  else
    cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!"
  fi
}

上記の記述にあるように、CHERE_INVOKINGという変数がシェルの起動時にHOMEディレクトリに行くかどうかを決めているようなので、環境変数にCHERE_INVOKING1で設定するといい感じに作業ディレクトリでシェルが開いてくれました!

参考

https://syon.github.io/refills/rid/1498646/
https://qiita.com/rnurakami/items/59355faaac2f6698cc2c
https://qiita.com/nana4gonta/items/717a4508fa585a454690
https://qiita.com/k-takata/items/2220ba2e8dd5bcba3961
https://qiita.com/milu0_0_0/items/86322beac22501c9ddfe
https://meiji-ncc.tech/161026_developent-primer-with-python/contents/Python%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%82%88%E3%81%86/Tips/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%82%BD%E3%83%95%E3%83%88.html

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5