Estoy intentando depurar el código de Nodejs utilizando las funciones de depuración disponibles en WebStorm en una distribución Ubuntu o Debian Linux instalada en el subsistema de Windows para Linux.
Seguí las instrucciones que figuran en los sitios web a continuación, pero mi instalación de WebStorm se niega a detectar las distribuciones de Linux que he instalado en mi sistema y ya configuré una distribución predeterminada usando wslconfig.exe.
- https://stackoverflow.com/questions/51912772/how-to-use-wsl-as-default-terminal-in-webstorm-or-any-other-jetbrains-products
- https://blog.jetbrains.com/webstorm/2018/06/webstorm-2018-2-eap-182-3208/
Además, parece que no tengo una manera de decirle a WebStorm manualmente que tengo distribuciones de Linux instaladas en mi sistema.
Vea la captura de pantalla a continuación:
Preguntas:
- ¿Hay alguna opción de configuración que me falta para WebStorm en relación con su detección de distribución WSL?
- ¿Cómo puedo hacer que WebStorm detecte mis distribuciones de Linux?
Tenga en cuenta:Esto es para romper las capacidades de depuración usando WebStorm y no solo el uso de terminal. Pude ejecutar el terminal sin problemas, pero necesito las funciones de depuración disponibles en WebStorm.
Respuesta1
puedes intentar agregar tus distribuciones ~\.WebStorm2019.1\config\options\wsl.distributions.xml
manualmente. Verhttps://youtrack.jetbrains.com/issue/PY-32424#focus=streamItem-27-3332472.0-0,https://www.jetbrains.com/help/ruby/configuring-remote-interpreters-using-wsl.html#custom_wslpara más información. Tenga en cuenta que debe especificar la ruta completa a los ejecutables. Los nombres cortos funcionan únicamente con las raíces de instalación predeterminadas.
Respuesta2
Esto puede convertirse en un problema si ejecuta versiones de WSL que no están instaladas mediante la tienda de Windows. JetBrains tiene una solución oficial, pero si desea un método diferente para instalar distribuciones de Linux de forma predeterminada, puede ejecutar el siguiente código en PowerShell:
$REGKEY="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
$REGITEM = "DoNotConnectToWindowsUpdateInternetLocations"
function Set-RegistryItem {
param (
# Registry key to set
[Parameter(Mandatory=$true)]
[string]
$RegistryKey,
# Registry item to set
[Parameter(Mandatory=$true)]
[string]
$RegistryItem,
# Value to Set
[Parameter(Mandatory=$true)]
[string]
$Value,
# Value type to Set
[Parameter(Mandatory=$true)]
[string]
$Type
)
if ($(Get-ItemProperty -Path Registry::$RegistryKey -Name $RegistryItem)) {
New-ItemProperty -Path Registry::$RegistryKey -Name $RegistryItem -PropertyType $Type -Value $Value -Confirm -Force
}
}
Set-RegistryItem `
-RegistryKey "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" `
-RegistryItem DoNotConnectToWindowsUpdateInternetLocations `
-Value 0 `
-Type DWord
Set-RegistryItem `
-RegistryKey HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsStore `
-RegistryItem AutoDownload `
-Value 4 `
-Type DWord
Set-RegistryItem `
-RegistryKey HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsStore `
-RegistryItem RemoveWindowsStore `
-Value 0 `
-Type DWord
Esto habilitará temporalmente la tienda de Windows y le permitirá instalar los programas que pueda necesitar (distribuciones de Linux). Si su política de grupo impide la ejecución de PowerShell, no tiene suerte.
Además, la tienda de Windows se desactivará cuando reinicie su computadora si la política de grupo lo desactiva.
Una vez que se instala una distribución de Linux de forma predeterminada a través de la tienda de Windows, JetBrians la selecciona casi de inmediato.