Visual Studio Code – Insiders 俺得カスタム -VSCode-Insiders x Powershell-

もともとエディタいじりとかシェルいじりは大好きなんですが、いつもそれに必死になりすぎて使うことを忘れあれよあれよといろんなエディタ、シェルに浮気しまくってた僕ですがついに落ち着けるお相手が見つかりそうです。

ちょうど去年の今頃まだベータ版のVisual Studio Codeを触り始めてUnity対応とかをガシガシやっておりまして、毎度のアップデートのたびに自分の非公式カスタマイズは消され、対応し、消され、対応し…とバージョンアップのたびにやんややんややってた思い出があります。

でもしばらくしたらUnityとVSCodeが仲良くなり始めて、公式でサポートし始めたりUnityのデバッグができるようになったりUnityエディタ拡張出して来たりとぐんぐん仲良くなって、しまいにはWindowでのUnityはたしか5.2からVisual Studioが公式コードエディタとなりました。

そのころにはもうVSCodeへの熱は完全に冷め切っていて、あえてさかのぼってAtom触ってみたりElectron触ってみたりcloud9さわってみたりまあいろいろ系列は似ていれどフラフラしてたんですが、結局またVisual Studio Codeに戻ってきてしまいました。

きっかけはこのツイート

気づかないうちに、Visual Studioの新しい仲間で”Insiders”が追加されてたみたいです。

Evolution of the Insiders Build

アーリーアダプター向けのVSCodeでもりもり新しい機能が実装されて行ってるみたいです。

Insidersの特徴はシェルを利用可能なターミナル機能が統合されていることでシームレスに開発が可能なのがいいらしいですね
https://blogs.msdn.microsoft.com/ayatokura/2016/05/31/vscode_insiders_1-2-0/

ちょうどエディタ拡張でシェルの機能を探していた自分にはピッタリ!

実際自分もエディタとシェルを行ったりきたり、エディタ内包型のシェル(ViやEmacs等)にはどうしても抵抗感があったんですが、シェル内包型のエディタならええなと思って個人的にVSCode-insidersをカスタマイズしてみたら想像以上にやばめなエディタができてしまったので紹介します。
最初に機能の説明をして、具体的なコードや導入は最後に載せときます!

 

個人的なエディタ,シェルに対する要件

  1. OSがWindowsなので、シェルはPowershell
  2. かわいくしたい
  3. grep,touchコマンド使いたい
  4. 最近はWebがメイン
  5. でもネイティブも書くっちゃ書く
  6. シェル使うけどそれだけで生きていけるほど強くない
  7. エディタはViやEmacsよりもVScodeやatomのほうが好き
  8. エディタ<->シェルの行き来はまじでめんどくさいのでやめたい
  9. ウィンドウが乱立しまくるのもやめたい
  10. gitはコマンドでやりたい

というところ
これらを踏まえたシェル内包型エディタをカスタマイズしてみました

◆機能◆

■環境

エディタ:Visual Studio Code – Insiders v1.6.0
シェル:Microsoft Windows Powershell

■vscode-insiders

既定の端末をpowershellにする

Ctrl + Shift + @で端末が立ち上がります。

設定にはvscode でsetting.jsonをいじってあげる必要があります。デフォルトの端末はコマンドプロンプトになっているのでpowershellに変更します

default

一度設定したら次からは必要ありません

codeコマンド

powershellはもともと外部アプリケーションを呼べますが[code-insiders]は長いので[code]にしました。
code [file名] でコマンドをたたくと新しくタブが開いて編集画面になります。

デフォルトでは新規ウィンドウが立ち上がってしまうのですがsetting.json内の”window.openFilesInNewWindow”をfalseにすると現在のウィンドウで新規タブを開くようになります。

また指定のディレクトリ内で code . とコマンドを打つとそのディレクトリで新規vscode-insidersウィンドウを開きます

tcodeコマンド

touchとcodeを同時にやるコマンドがあったらいいなーと思ったので実装しました。
tcode [ファイル名]でファイルを新規作成して編集画面に入ります。

個人的にこれはめっちゃ便利

基本的にはシェルはpowershellがはめ込んであるだけなので、gitやcygwin, pythonなどはこれまで通り使用可能です。

■Powershell

かわいくする

Powershellはかわいくしてなんぼなのでprofileは自分用にアレンジしてます。
参考 かわいい PowerShell プロンプト
cry
エラーが返ってくると泣きます。一回の操作ごとに線を引くようにすると見やすくて楽なので自分みたいなシェル初心者にはおすすめです。

grepコマンド

Windowsにはgrepコマンドがなく似たコマンドでSelect-Stringがありました。とりあえず長いしうつのめんどくさいのでSet-aliasでgrepコマンドに

grep

touchコマンド

こちらも同様。Powershellには類似したコマンドでniコマンドが実装されてますがItemTypeを聞かれてワンクッション置くので、Linuxのtouchコマンドと同様にtouch filename.txtでファイル作成までやってくれるような処理にしました。

touch

$profileで完結させたかったんですがコマンドに引数が付属して空白が生まれる場合$profileではアンパサンドが呼べなかったので外部スクリプトにおいて呼んであげるような実装にした方がよいみたいです。

◇導入方法◇

gitに導入方法含めあげてます。
https://github.com/TsudaRyotaro/vscode-insiders_config

  1. Visual Studio Code – Insiders (以下vscode-insiders)をインストール
    こちらからインストールできます。
  2. vscode-insidersのユーザー設定画面を開く
    Ctrl-Shift-P(mac cmd-shift-p)で検索からsettingsで出てきます。
    任意のユーザー設定は右タブのsettings.jsonに記述
  3. setting.jsonをコピペ
  4. デフォルトの端末をpowershellにするために”terminal.integrated.shell.windows”:のパスを通す。
  5. 次にPowershellの設定。管理者権限でPowershellを実行。
  6. profileを作成。
    $profile

    と入力、出てきたパスに同様の名前のファイルを新規作成する

  7. 実行ポリシーの関係から外部スクリプトが実行できないので実行ポリシー変更
    Set-ExecutionPolicy RemoteSigned
  8. profileを編集。
    notepad $profile

    とPowershellに入力。

  9. 空のnotepadが出てくると思うので、そこに以下のprofile.ps1をコピペ
  10. コピペしたらpowershellを閉じる。vscode-insidersを管理者権限で起動。
  11. vscode-insidersから端末を起動。ショートカットキーはCtrl-shift-@
  12. ポリシー関係のエラーが出てきたら7の行程をもう一度
  13. touch.ps1, touchcode.ps1を$profileと同じ階層に作成
  14. touch.ps1を以下からコピペ
  15. touchcode.ps1を以下からコピペ
  16. $profileの下の方にtouch.ps1とtouchcode.ps1のパスがあるので変更して記述する
  17. 完成!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA