WSLでIntelliJ IDEAのRemote Developmentを試す
EAP版IDEAでphpリモート開発ができるのか
結論から言うとメインで使うのはまだまだ先になりそうだ。
WSL上でJetbrains IDEAを使おうとすると、
Windows上にインストールして、
プラグイン経由でWSL上のインタプリタやツールチェインにアクセスする形になるのだが、
ファイル自体はWindows上にあるので、
どうしても開発がやりにくい状態になる。
(改行コードとか、改行コードとか、改行コードとか、あとファイルのパスとか)
ご存じの通りWSLの弱点にLinux <=> WindowsのIO問題がある。
LinuxからWindows側のディレクトリにアクセスすると、
速度が非常に遅くなる。
VSCodeではそのあたりを良い感じにするRemote Develop機能があって、
WSL上にVSCodeのエージェントを設置して、
それを経由でWindows側で開発できる。
これならばファイルはLinux上にありながらWindows上で開発できる。
Jetbrainsでもできないだろうか?
そんな折以下の情報が入ってきた。
SSH越しにリモート開発機能を実装できるようにするとのこと。
(゚-゚) ならWSLでもいけんじゃね?
ってことでWSL上のRustでリモート開発できるか試してみよう。
現状、JetbrainsIDEAとGoLandが対象のようだが、
プラグイン入れればなんとかなるやろ。
ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪
------------------- ↓ 本題はここから ↓-------------------
事前準備
WSLを使えるようにしておく
今回はまっさらなUbuntuを用意
パスワード設定と最新版への更新は済ませておく。
あと、IPを取得するためにnet-toolsをインストールしてifconfigを使えるようにしておく
wsl --install -d ubuntu
sudo apt update && sudo apt upgrade -y
sudo apt install net-tools
SSHDを起動する
リモート接続は現状SSH経由のみなので、
WSL側にSSHを設定しておく。
ubuntuはデフォルトでopenssh-serverがインストールされているのでそちらを利用。
まずはパスワードログインを有効にする。
sudo nano /etc/ssh/sshd_config
- #Port 22
- #ListenAddress 0.0.0.0
- PasswordAuthentication no
+ Port 2222
+ ListenAddress 0.0.0.0
+ PasswordAuthentication yes
続いてSSHキーを作成
sudo ssh-keygen -A
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
起動
sudo service ssh start
* Starting OpenBSD Secure Shell server sshd
これでWindows側から localhost:2222で接続できるはず。
JetBrains Gatewayをインストール
以下よりJetBrains GatewayのWindows版をインストール
ちょっとわかりにくいが以下の箇所だ。
インストールして起動すると以下の画面になるので、
「Connect via SSH」を選択
「⚙」よりSSHのサーバー設定をすると以下のようになるので、
「Check Connection and Continue」を押下
IDE versionで「IntelliJ IDEA」を選択し、
Linux上の適当なディレクトリ(予め作成しておく)を選択、
「Download and Start IDE」を押下
IDEのダウンロードとインストールが始まり、
完了するとIDEが起動する。
(・∀・) やったか!?
------------------- ↓ 後書はここから ↓-------------------
プラグインがインストールできない
これは時間の問題だと思うが、
現状プラグインがインストールできなかった。
PHPは一見インストールできそうさが再起動ボタンが押せない。
Rustはインストールすらできず。
マシンパワーがかなりいる
エージェント側にかなりの高負荷を要する状態になっていて、
動作も反応も遅い。
今回はWSLでやったとはいえ、
仕事で使うには時期尚早なのは間違いない。
まだまだ使い物にはならない状態だった。
VSCodeのレベルには程遠い。
これからの開発に期待したい。
今後もアップデートには注視していこう
Discussion