2016年7月9日土曜日

Visual Studio Code のターミナルを Cygwin に設定する方法

How to change VScode terminal from cmd.exe to Cygwin Bash

2016年6月、マイクロソフトがオープンソースソフトウェアとして開発・公開しているテキストエディター Visual Studio Code (以下VScodeと略します) のバージョン1.2が公開されました。
このバージョンから「ターミナル」機能が追加されました。
初期設定はVScodeのウィンドウ内でWindowsならコマンドプロンプトが、LinuxやMacならシェルが利用できます。
Windows版VScodeの設定を変更してターミナルからCygwinのBashが使えたのでその方法をまとめました。

blog.fujiu.jp  Visual Studio Code のターミナルをCygwinに設定する方法


環境

  • Windows
  • Visual Studio Code 1.2.0


設定方法

Cygwinは D:\cygwin にインストールされているとします。

VScodeを起動し
ファイル - 基本設定 - ユーザー設定
を開き settings.json に次の1行を追加します。



設定項目が複数ある場合はカンマで区切ります。

blog.fujiu.jp Visual Studio CodeのターミナルをCygwinに設定する方法

これでメニューの
表示 - Toggle Integrated Terminal
をクリックすると画面下半分にCygwinが表示されBashが使えるようになりました。

実際に bashスクリプト のコーディングに使ってみた様子がこちらの画像です。


Cygwinを使うメリット

CygwinはWindows上でPOSIX環境を再現するアプリケーションです。
devカテゴリーを全てインストールと、GCC・Perl・Python・Luaなど広く使われるコンパイラーやプログラミング言語を利用することができます。
ターミナルをCygwinに設定すればVScodeだけでこれらのプログラミング言語をコーディングしデバッグ・実行することがきるようになり、効率化が期待できます。


VScodeのターミナルでCygwinを使うときの注意点

ターミナル操作中にEscキーを押すと、ターミナルのウィンドウが隠れます。
Cygwinでviやvimを起動中にEscキーを押すとターミナルのウィンドウを隠す処理にフックされ、viやvimのモード切替ができませんでした。
VScode利用者がviやvimを使うことはないと思いますが、Escキーの操作がBashに効かない点に注意が必要です。
バージョン 1.3.0で修正されました 2016年7月13日追記

逆に Ctrl+C や Ctrl+V はVScodeにフックされずショートカットキーでのコピー・貼り付けができません

ちなみに、このブログを書いている時点では全角文字(CJK character)がターミナルに正しく表示されません。下の画像は
echo あいうえお
を実行した結果です。
バージョン 1.3.0で修正されました 2016年7月13日追記

そのほか、Cygwinは
  • Unix系の操作を覚える必要がある
    各コマンドやパーミッションなど
  • ファイルのパスの書き方がWindowsと異なる
    例: C:\ は /cygdrive/c/ と書くなど
  • このブログを書いている時点ではCygwinからVScodeの起動ができない
などの特徴があります。


関連ブログ

bashスクリプトの変数のスコープにはまったところと対処方法
Visual Studio Community 2015 をISOファイルからWindows10にインストールする方法
[Android] Xamarin でアプリを作ってみました

以上、参考になれば幸いです。

2 件のコメント:

  1. 自分で PATH 通した覚えないけど、PATH に "C:\Program Files (x86)\Microsoft VS Code\bin" が入ってるので code で VScode 起動するけど?

    返信削除
  2. Did you manage to start Cygwin in the current project directory?

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。