Estou tentando depurar o código nodejs usando os recursos de depuração disponíveis no WebStorm em uma distribuição Ubuntu ou Debian Linux instalada no subsistema Windows para Linux.
Segui as instruções listadas nos sites abaixo, mas minha instalação do WebStorm se recusa a detectar as distribuições Linux que instalei em meu sistema e já defini uma distribuição padrão 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/
Além disso, parece que não tenho como informar manualmente ao WebStorm que tenho distribuições Linux instaladas em meu sistema.
Veja a captura de tela abaixo:
Questões:
- Há alguma configuração que estou faltando para o WebStorm em relação à detecção de distribuição WSL?
- Como posso fazer com que o WebStorm detecte minhas distribuições Linux?
Observe:Isso é para recursos de depuração de interrupção usando WebStorm e não apenas para uso de terminal. Consegui fazer o terminal funcionar sem problemas, mas preciso dos recursos de depuração disponíveis no WebStorm.
Responder1
você pode tentar adicionar suas distribuições ~\.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/configurando-remote-interpreters-using-wsl.html#custom_wslpara mais informações. Observe que você precisa especificar o caminho completo para os executáveis. Os nomes curtos funcionam apenas com raízes de instalação padrão.
Responder2
Isso pode se tornar um problema se você estiver executando versões do WSL que não foram instaladas na loja do Windows. JetBrains tem uma correção oficial, mas se você quiser um método diferente para instalar distribuições Linux da maneira padrão, você pode executar o seguinte código no 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
Isso ativará temporariamente a Windows Store e permitirá que você instale programas necessários (distros Linux). Se a sua política de grupo impedir a execução do PowerShell, você estará sem sorte.
Além disso, o Windows Store será desabilitado quando você reiniciar o computador, se desabilitado pela política de grupo.
Depois que uma distribuição Linux é instalada da maneira padrão por meio da loja do Windows, JetBrians a escolhe quase imediatamente.