今回は、Powershellの開発環境の紹介を行います。
Windowsには標準で[Windows Powershell ISE]と呼ばれるPowershellの開発環境はインストールされています。
しかし、Powershell開発には色々と不足する部分があるため、私は別のエディタを使用しています。
愛エディター遍歴
高校→大学→現在までの間に、様々なエディタを使用してきました。
Vimを使用していた、というよりはLinuxのCLIにデフォルトで入っているため、使用させられていた。といった感じです。
多分サーバ周りをやっている方はVi or Vimを使用している方は多いと思います。
初めて触るとファイルを編集できない、保存ができない謎のエディタというのは誰しも通る道なのではないでしょうか?
Vimと来ればEmacsですね。
いつの時代もVi vs Emacsの戦争は開かれていました。大学時代の半分ぐらいはEmacsを触っていて色々とカスタマイズして遊んでいました。
Vim・Emacsの2強のエディタに第3のエディタとして踏み込んできた勇気あるエディタです。
VimやEmacsと根本的に異なる部分として、GUIを前提としたUIの作りこみ。GUIが使える環境であればだいたい動くというクロスプラットフォームが素晴らしいということで、一時期話題になりました。
このSublime Textの登場以降、VimやEmacsから乗り換えた人もいるのではないでしょうか?
このエディタはGitHub謹製のエディタということで話題になりました。私も使用していましたが、sublime→ATOMと同じようなGUIエディタの乗り換えなのでそこまで大きな感動はしませんでした。
この頃はプロ生ちゃんのプラグインを入れてにぎやかにしていました。
真打ち登場です。
Microsoftからエディタが出るということで、話題になりました。
クロスプラットフォーム、日本語対応、無料ということでかなり使い勝手が良いです。
VSCodeのPowershell開発環境
WindowsにはデフォルトでPowershell ISEが提供されていますが、開発環境をカスタマイズすることができないので、普段はVSCodeを使用しています。
私の場合、VSCodeでPowershellスクリプトを開発する場合、最低限以下の設定をしています。
- Japanese Language Pack for Visual Studio Code : エディタの日本語化
- PowerShell : VSCodeのPowershellプラグイン
- Vibrant_Ink Theme : エディタのカラーテーマ
- Default Character Code : UTF8→sjis
- 設定同期
上から解説していきます。
Japanese Language Packについては、VSCodeのメニューなどを日本語表示にするために導入しています。英語でも問題ない場合は、入れなくても問題ありません。
Powershellについては、VSCodeでPowershellを開発する際には必須となります。
VSCode上でPowershellの実行やデバッグ、Powershellのコンソールをエディタ上に登場させることで、コーディング→デバッグ→修正の流れが非常に早くなります。
Vibrant_Ink Themeについては、エディタの見てくれのため、ご自由にどうぞ。なのですが、SublimeやATOM時代にこのテーマと出会ってから、ずっとこのテーマを使用しています。
コメントアウトが紫になり、好みが別れますがコメントアウトがかっこいいという理由で使用しています。
Default Character Codeについては、Powershellで日本語を扱う際にUTF8だと文字化けしたり、Powershell ISEでコーディングされた環境だとデフォルトでsjisになるため、文字化け対策として設定しています。(そもそも日本語を使うなと言う話はなしです。)
設定同期については、最近のバージョンでリリースされました。
MSアカウントやGitHubアカウントでVSCodeにログインすると自動的に設定を同期してもらえるそうです。
我が家の開発環境は1箇所にまとめているのですが、OSやキーボードの関係上、完全に1箇所にはまとめられず、複数箇所で開発環境を持っているため、導入しています。
また、これは必須ではありませんが、Powershellスクリプトの開発だとCSVを頻繁に扱う機会が多いため、CSVのViewer等を入れても良いと思います。
まとめ
今回は、箸休め的な内容を記事にしました。
自分の愛エディタ遍歴などは誰が見て得なのかわかりませんが、Powershellスクリプト開発をしてみたい。や今Powershell ISEで開発してるけど、他の人はどのようなエディタを使っているのだろうか?など、疑問に思うことがあるかもしれないということで、記事にしてみました。(なかなかないと思われ・・・)
コメント