はじめに
VSCodeにはRemote Developmentと呼ばれる拡張機能があり,SSHで接続した先のファイルを手元のVSCodeで編集する便利機能があります.
リモート接続については過去の記事をご覧ください.
VSCodeのRemote Developmentを使ってみる
本記事では,SSHで接続したリモート側のエディタ設定(settings.json)について述べます.メモ的な感じです・・・
結論としては,SSHリモート接続先のsettings.jsonが存在するので,そちらに設定を書かなければならない機能も存在するということです.
環境
- VSCode実行マシン:MacOS 10.15
- 接続先マシン:Ubuntu 18.04
ことの始まり
フォーマッタをインストールしてC++のコードを自動的にきれいに整形してくれるようにしていました.
しかし,リモートで接続すると,これが効かないのです.そこで,settings.jsonを開いてみると,以下のようなメッセージが出ていました.
この設定は,このウィンドウでは適用できません.ローカル ウィンドウを開いたときに適用されます.

つまり,リモート接続した先ではこの設定は効かない,と・・・
設定は別だった
リモートで接続して動作する拡張機能に関しては,リモート用の設定ファイルに記載しなければならなかったようです.
GUIで設定したい場合は,Code > 基本設定 > 設定,を開くと,”リモート”タブがあるのでこちらに設定します.

settings.jsonで設定ファイルで設定したい場合は,command + shift + pでコマンドパレットを開いて,settingsと入れると,"リモート設定を開く"があるので選択します.

これで開いたリモート用の設定ファイルにSSH接続先のマシンで動作する拡張機能の設定を書けば良いようです.今回のフォーマッタの設定はこれでうまくいきました.
おわりに
VSCodeの拡張機能では,
- ローカルにインストールすれば適用されるもの(カラー設定など)
- リモートにもインストールが必要なもの(C/C++など)
があります.リモートマシンの機能を使用するような拡張機能だとおそらく,リモート側の設定をする必要があるのかもしれません.