ICT Diary

Network(主にCisco系)、Server(RedHat系)、Program(適当)を気まぐれにUPしていく。

VS Codeのターミナルにcygwinを使用する

前提

  • 事前にCygwinをにPCインストールしておく
  • WindowsPCでの設定 (当たり前だが...)
  • Cygwinのインストール先(bash.exeの場所)を確認しておく
  • よく使うディレクトリとショートカット用のキーワードを考えておく

VS Codeの設定

ターミナルの登録と設定

  • Terminal名を[Cygwin]として登録
  • Terminalへのパスを[C:\cygwin64\bin\bash.exe]で指定
  • 起動中Terminal一覧の表示名を登録名で上書き (overrideName)
  • 起動中Terminalのアイコンカラーを指定 (color)
  • 起動オプションを指定 (args)
{
    //...etc Setting

    "terminal.integrated.profiles.windows": {
        "Cygwin":{
            "path": "C:\\cygwin64\\bin\\bash.exe",
            "overrideName": true,
            "color": "terminal.ansiBlue",
            "args": [
                "--login",
            ]
        }
    }

    //...etc Setting
}

デフォルトで使用するターミナルの指定

  • ターミナルをCygwinに指定
{
    //...etc Setting
    "terminal.integrated.defaultProfile.windows": "Cygwin",
    //...etc Setting
}

Cygwinの設定

Aliasの設定

  • よく使うディレクトリを設定
  • Cygwin環境からWindowsディレクトリ(Desktop,Download等)にアクセスするのは面倒
  • 設定ファイルは /home/[USERNAME]/.bashrc
  • 念の為ファイルのバックアップを行う
  • 設定を追加する
cp /home/[USERNAME]/.bashrc /home/[USERNAME]/.bashrc.org    #バックアップ
code /home/[USERNAME]/.bashrc                               #ファイルをVS Codeで開く

# 以下設定を末尾に追加
alias ex='exit'                                             #ターミナル終了を短縮
alias sudo='cygstart.exe --action=runas mv hosts hosts.back'#管理者権限昇格
alias cdr='cd /cygdrive/c'                                  #WindowsのCドライブ
alias gdr='cd /cygdrive/g/マイドライブ'                      #GoogleDrive (設定で仮想ドライブとして設定時)
alias onedr='cd /cygdrive/c/Users/[USERNAME]/OneDrive/'     #OneDrive
alias udir='/cygdrive/c/Users/[USERNAME]/'                  #ユーザのディレクトリ
alias dkdir='/cygdrive/c/Users/[USERNAME]/Desktop/'         #デスクトップディレクトリ
alias dldir='/cygdrive/c/Users/[USERNAME]/Downloads/'       #ダウンロードディレクトリ

起動時のカレントディレクトリ変更

  • デフォルト(変更前)ではログイン中ユーザのホームディレクトリ(Cygwin環境)となる
  • 変更後はターミナルを起動した場所をカレントディレクトリとして起動
  • 設定ファイルは /etc/profile
  • 念の為ファイルのバックアップを行う
  • 該当の設定箇所をコメントアウトする
cp /etc/profile /etc/profile.org    #バックアップ
code /etc/profile                   #ファイルをVS Codeで開く

# 以下ファイル編集

# 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

~~~~~ 変更後 ~~~~~
# if [ ! -z "${CHERE_INVOKING}" ]; then
#   unset CHERE_INVOKING
# else
#   cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!"
# fi

おまけ

  • ターミナルからVS Codeでファイルを開く (存在しない場合新規作成) bash code [FILENAME]
  • ターミナルを起動するショートカット ctrl + @