駄文。

プログラマーの日常でつまずいたこと・気づいたことなどの記録です

VSCodeのリモート開発環境とSSH

開発者としての筆記用具として、エディターはもう好みがはっきり分かれるもの。 昔はEmacs一筋だった私ですが、時代と共に今はVisual Studio Codeなしには やっていけない状況です。

マイクロソフトはそんなに好きではないのですが、Visual Studio Code, VSCodeは別です。 でも、Visual Studioはそんなに好きではないです。

なにがいいかというと、いろいろあるのですが、最近お気に入りはリモート開発環境, (remote development environment, RDE)です。 リモートのサーバやコンテナ上でVSCodeがあたかも動いているように手元のデスクトップ環境で動作させることができるのです。

この接続方法が至れり尽くせりで本当に痒いところに手が届いているので、手放せなくなっています。 単純な接続方法にSSHを使ったものがありますが、よく使っていて助かっています。

ただ一点だけ、ちょっと改善してほしいなと思っていたことがありました。 SSH接続時に.ssh/configに定義されているホスト名を一覧に出したり入力時に補完してくれるのですが これがconfigファイルに書かれているものだけで、Include文で外部のファイルを参照したものは含まれ なかったのです。

まぁ、なくても困らなかったのですが先日一念発起してネットを探してみるとやっぱり同じことを思う 同志は多くネットでもいろいろ取り上げられていました。

なかでも、Include xxx/*.confといった形でワイルドカード指定だとダメだというものがあり、 実際にいままでワイルドカード指定だったのでこれを普通にファイル指定に直してみましたが 改善がなかった。

ように見えたのですが、数個Include先のホストが表示されるようになって若干糸口が見えた 感じですが。

その上で表示されるものとされないものをよくみると、設定でHostを宣言している部分を 全て大文字のHOSTと書いていると認識していないことがわかりこれを修正するとあっさり 表示されるようになった。なぜか、ほぼHOSTで書いていたため全く対応されていなかった のだ。

ふと、これが原因?と考えてIncludeをワイルドカードに直してみるとこちらもあっさり 表示された。

つまりこれが原因。

Host:と宣言する部分はHOST:でもhost:でもダメで、正しくHost:と書く必要がある ということだった。

ネットではIncludeには対応していないとか、ワイルドカードは対応していないとか ありましたが、最新版ではちゃんと対応されていたのだった。

CLIsshで直接ホストを指定する時には全くどの表記でも認識していたのでまさかのオチに びっくりだが、これからはかなり楽にホスト指定ができるようになって嬉しい。

ただ、昔の設定ファイルでHostに修正したものを最後に試したら、ダメだった。 もうちょっとダメな理由があるかもしれない。

なので、これで全てOKではないとは思うがこれをみてリモート開発環境であと一つ直して くれたらなと同じ思いを持っている人がいたら試してもらえるといいかも。