読者です 読者をやめる 読者になる 読者になる

座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

Visual Studio Code でLinuxデスクトップにPowerShellデバッグ環境を構築

PowerShell

Windows環境でPowerShellのコードを書くときにはPowerShell ISEを使っているが, インデントしてくれなかったりで, 操作性に少し不満がある. Visual Studio CodeとPowerShell用の拡張を試したみたら, さすがに優れたエディタだけあって操作性は問題なし. とはいっても, PowerShell ISEはPowerShell専用のIDEなので, 気になるところがそれなりにありそうで, Visual Studio Codeへ完全移行とはいかなさそうだった.

ところで, Visual Studio Code はけっこう前からクロスプラットフォーム対応していて, WindowsだけではなくMacLinuxデスクトップ向けにもリリースされている. いつぞやの記事にPowerShellのアルファ版リリースをUbuntuで動かしてみたこと, 足りないのはPowerShellのコーディングをサポートするエディタだけだと書いていたが, Visual Studio Codeがそのエディタになるのではないかと. それをちょっと検証してみた.

検証に使った環境とソフトウェア

Ubuntu 14.04 x86_64, LXDEデスクトップで検証した.

PowerShellVisual Studio Code どちらもMicrosoftが配布しているdebパッケージを使用.

PowerShell をインストールする

PowerShell/PowerShell: PowerShell for every system!

PowerShellUbuntu向けのdebパッケージは, Releaseからダウンロードできる.

PowerShellをインストールする前に libunwind8 というパッケージをインストールしておく必要がある.

# apt-get install -y libunwind8

debパッケージは, dpkg コマンドでインストールする.

# dpkg -i powershell_6.0.0-alpha.10-1ubuntu1.14.04.1_amd64.deb

依存パッケージを入れていなければ, dpkgコマンド実行時に必要なパッケージ名が表示されるので, そこでも確認できる.

PowerShellがインストールできていることを, サンプルコードの実行で確認する.

root@560a97d882b1:~/tmp# cat <<EOF > hello.ps1
> Write-Host "Hello world."
> EOF
root@560a97d882b1:~/tmp# powershell -f hello.ps1
Hello world.
root@560a97d882b1:~/tmp#

ここまでは, 以前に検証したことと同じである.

Visual Studio Code をインストールする

Visual Studio Code

Visual Studio Codeは上のリンクを開いて ".deb" をクリックすると, ダウンロードできる.

Visual Studio Codeの依存パッケージである libnotify4 を先にインストールしておく.

# apt-get install -y libnotify4

Visual Studio Codeは, PowerShellと同じように dpkg コマンドを使ってインストールする.

# dpkg -i code_1.5.3-1474533365_amd64.deb

アプリケーションメニューからVisual Studio Codeを起動出来ることを確認する.

PowerShell Extension をインストールする

Visual Studio Code から, PowerShell用の拡張機能をインストールする.

F1キーを押して ext install を入力し, 出てくる候補Extensions: Install Extensions を選んでエンター.

f:id:zashikiro:20160925010251p:plain

左にインストール可能な拡張機能候補が表示されるので, PowerShell を探して, Install を押す.

f:id:zashikiro:20160925010322p:plain

インストールできたら, 続けて Enable を押す. メッセージにしたがって, Visual Studio Codeを再起動する.

f:id:zashikiro:20160925010331p:plain

デバッグ実行してみる

デバッグ実行を試してみる.

ここからはVisual Studio Codeの使い方の話題になってくるので, 簡単に述べるが, 次の手順でデバッグ実行を試した.

  1. 適当なフォルダを作る
  2. Open Folder で作ったフォルダを開く
  3. フォルダに拡張子 .ps1 で適当なスクリプトを作る
  4. F5キー押下でデバッグ実行 (最初にlaunch.jsonというファイルが作られる. デバッグ実行に必要)

f:id:zashikiro:20160925010341p:plain

こんな感じでデバッグ実行が可能で, ブレークポイントや変数の確認を行える.

所感

PowerShellそのものがアルファ版リリースであり, Visual Studio CodeのPowerShell拡張のバージョンが0.2.0であることを考えれば, 細かく触っていけばいろいろ気になることが出てくると思う. それを差し引いても, 現時点では十分な実用性があるんじゃないかな.

使用感はWindows版のそれとほとんど変わらないし, そういうところにMicrosoftによるPowerShellクロスプラットフォームへの対応に本気を感じる. 自宅でちょっとPowerShellのコードを試しに動かしたいときには, そのたびにVirtualBoxを立ち上げていたけど, 標準のアセンブリで事足る程度のコードなら, Linuxでも試せそう.

一番の問題は, LinuxPowerShellを採用する場合, bash, zsh, python, perl……, 数多の競合相手に対してPowerShellにどういう利点があるのか, かな. PowerShellを普段使いしている人には朗報だと思うけど, 実際はMicrosoftによる.NETのOSS化戦略の一端なんだろうから, あえてLinux環境でPowerShellを採用する理由はあまりなさそう.

広告を非表示にする