IDEA-343180 Enable execution process in WSL with IJent

The registry flag wsl.use.remote.agent.for.launch.processes becomes true

All processes that are started in WSL through WSLDistribution.patchCommandLine will be running through IJent.

IJent is a new daemon running on a remote machine that communicates with an IDE via RPC. IJent takes control on running processes on WSL, including a shell in a terminal.

GitOrigin-RevId: beedd39ef1743f5c7875c59e6c18362dffad01d0
This commit is contained in:
Vladimir Lagunov
2024-01-22 19:19:53 +00:00
committed by intellij-monorepo-bot
parent 4e9b0f7557
commit 005032695d
4 changed files with 4 additions and 4 deletions
@@ -15,7 +15,7 @@ import java.util.List;
public final class WSLCommandLineOptions {
private boolean myLaunchWithWslExe = !Registry.is("wsl.use.remote.agent.for.launch.processes", false);
private boolean myLaunchWithWslExe = !Registry.is("wsl.use.remote.agent.for.launch.processes", true);
private boolean myExecuteCommandInShell = true;
private boolean myExecuteCommandInInteractiveShell = false;
private boolean myExecuteCommandInLoginShell = true;
+1 -1
View File
@@ -13,7 +13,7 @@
key="wsl.use.remote.agent.for.launch.processes"
os="windows"
restartRequired="false"
defaultValue="false"/><!-- IMPORTANT:
defaultValue="true"/><!-- IMPORTANT:
When the default value is changed, usages of the key should be inspected too. The default value still may be hardcoded
somewhere else. Hardcoded values were introduced to prevent failures of some unit tests. They must not affect production. -->
</extensions>
@@ -25,7 +25,7 @@ class ProductionWslIjentManager(private val scope: CoroutineScope) : WslIjentMan
override val isIjentAvailable: Boolean
get() {
val id = PluginId.getId("intellij.platform.ijent.impl")
return Registry.`is`("wsl.use.remote.agent.for.launch.processes", false) && PluginManagerCore.getPlugin(id)?.isEnabled == true
return Registry.`is`("wsl.use.remote.agent.for.launch.processes", true) && PluginManagerCore.getPlugin(id)?.isEnabled == true
}
@DelicateCoroutinesApi
@@ -86,7 +86,7 @@ class WSLDistributionTest {
myExecuteCommandInLoginShell = true
myExecuteCommandInShell = true
myInitShellCommands = []
myLaunchWithWslExe = true
myLaunchWithWslExe = false
myPassEnvVarsUsingInterop = false
myRemoteWorkingDirectory = null
mySleepTimeoutSec = 0.0