VSCode + Remote - SSHでRaspberry Pi開発

Visual Studio Code拡張のRemote Developmentの中の1つ、Remote - SSHが、知らぬ間にARM/ARM64に対応していたので、どんな感じで動くか試しました。

VSCode拡張 Remote Development

リモートマシンのフォルダ(ディレクトリ)やDockerコンテナを、都度ファイルコピーとかの操作をすることなく遠隔で表示、編集などをするための、VSCode拡張パックです。

marketplace.visualstudio.com

これはパックで、中身は3つのVSCode拡張が入っています。

  1. Remote - SSH
    物理/仮想のリモートマシンにSSHで接続して、ソースコードを表示、編集などをすることができます。
  2. Remote - Containers
    Dockerコンテナ (略
  3. Remote - WSL
    WSL(Windows Subsystem for Linux) (略

Remote DevelopmentできるLinux

リリース当初はx86_64しか対応していなかったと思うのですが、、、
なにげなくドキュメントを見ていたら、ARM/ARM64が追加されていました!!

code.visualstudio.com

f:id:matsujirushix:20190908192114p:plain

こりゃ、いいじゃん!
ってことで、試すことに。

いざ接続!

VSCodeを最新(1.38.0)にして、Remote - SSHが最新(0.46.0)になっていることを確認。

configをこんな感じに設定して、
f:id:matsujirushix:20190908193455p:plain

Remote ExplorerRaspberry Piに接続しようとすると、自動的にVSCode ServerをRaspberry Piにインストールされて、
f:id:matsujirushix:20190908202643p:plain

Raspberry Piのファイルを、母艦から編集できるようになりました。
f:id:matsujirushix:20190908203833p:plain

IntelliSense

何故か、IntelliSenseが機能しない。

VSCodeのExtensionsを見ると、SSH: RASPILOCALに分かれていて、LOCALのC# ExtensionにInstall in SSH: raspiの文字が。
f:id:matsujirushix:20190908204123p:plain

なんだろ、VSCode Server側にExtensionが入る必要があるのかな?

Install in SSH: raspiをクリックしてみたところ、SSH: RASPIのところにC# Extensionが追加された、
f:id:matsujirushix:20190908204412p:plain

けど、IntelliSense機能せずorz

Terminal

ターミナルは普通に動きます。
f:id:matsujirushix:20190908204816p:plain

Debugging

うーむ、launch.jsonをがんばって設定してみるが、動かん。
f:id:matsujirushix:20190908210216p:plain

Issue: Feature request: support Linux ARM

余談

言語がC#(NETCore)じゃなくてPythonだと、デバッグもできるみたい。(Scott Hanselmanのブログ)