IntelliJ IDEAとWSLで開発したい時、
開発環境の構成パターンはいくつかあるので、
それぞれについて整理したメモを、このエントリに残しておきます。

UI、IDE、実行環境をWindows側・WSL側(Linux)のどちらで動かすかで整理すると、
以下のような構成パターンがあります。
他にもあるかも知れないですが

パターンUIIDE実行環境
1. WSLは使わないWindowsWindowsWindows
2. リモートデバッグWindowsWindowsWSL
3. JetBrains GatewayWindowsWSLWSL
4. WSLgでLinux版IDEAを利用WSLWSLWSL


開発するものによって違いますが、
現時点では「1,2の組み合わせ」「4」のどちらかで開発するのが良いかなと思います。

1. WSLは使わない

これは素直にWindowsで全て動かすパターン。

開発するコードがLinuxで動かす前提の場合は、
環境の差異に気をつける必要があります。

2. リモートデバッグ

実行環境のみWSLで動かすパターン。
Ultimate版のIntelliJ IDEAが必要です。

いろいろな構成方法がありますが、
インタプリタの構成やらDeploymentやらを理解して使わないと混乱すると思います。

参考: IntelliJ IDEAのSSHインタープリターの設定を理解するための整理 https://takemikami.com/2022/01/06/IntelliJ-IDEASSH.html

参考サイト

チュートリアル: リモートデバッグ | IntelliJ IDEA
https://pleiades.io/help/idea/tutorial-remote-debug.html

リモート Python インタープリターの構成 | IntelliJ IDEA
https://pleiades.io/help/idea/configuring-remote-python-sdks.html

Python インタープリターを構成する | PyCharm
https://pleiades.io/help/pycharm/configuring-python-interpreter.html

3. JetBrains Gateway

実行環境とIDEをWSL上で動かして、WindowのUIから接続するパターン。
まだBETA版です(2023/05時点)。

少し使ってみましたが、BETA版ということもあり未だ不安定な印象です。

参考サイト

JetBrains Gateway
https://www.jetbrains.com/ja-jp/remote-development/gateway/

4. WSLgでLinux版IDEAを利用

これは全てWSL上で動かすパターン。

何がWindowsで、何がLinuxで動いているかを意識する必要がないので、
混乱がないことがメリットだと思います。

WSLgのセットアップが必要な点と、
日本語入力したい場合にMozcなどのセットアップが必要な点が手間かと思います。
それと、WSLgとWindowのUIの違いが気になるかも知れないです。

参考: WSLgでPyCharmを動かすまでの手順メモ
https://takemikami.com/2022/11/16/WSLgPyCharm.html

以上。