Ich versuche, Node.JS-Code mithilfe der in WebStorm verfügbaren Debugfunktionen auf einer Ubuntu- oder Debian-Linux-Distribution zu debuggen, die auf dem Windows-Subsystem für Linux installiert ist.
Ich habe die Anweisungen auf den folgenden Websites befolgt, aber meine WebStorm-Installation erkennt die auf meinem System installierten Linux-Distributionen nicht und ich habe mit wslconfig.exe bereits eine Standarddistribution festgelegt.
- 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/
Darüber hinaus habe ich anscheinend keine Möglichkeit, WebStorm manuell mitzuteilen, dass auf meinem System Linux-Distributionen installiert sind.
Fragen:
- Gibt es eine Konfigurationseinstellung, die ich für WebStorm im Zusammenhang mit der Erkennung der WSL-Verteilung vermisse?
- Wie kann ich WebStorm dazu bringen, meine Linux-Distributionen zu erkennen?
Bitte beachten Sie:Dies dient zum Unterbrechen von Debugging-Funktionen mit WebStorm und nicht nur zur Verwendung des Terminals. Ich konnte das Terminal problemlos zum Laufen bringen, brauche aber die in WebStorm verfügbaren Debugging-Funktionen.
Antwort1
Sie können versuchen, Ihre Distributionen manuell hinzuzufügen ~\.WebStorm2019.1\config\options\wsl.distributions.xml
. Siehehttps://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_wslfür weitere Informationen. Beachten Sie, dass Sie den vollständigen Pfad zu ausführbaren Dateien angeben müssen. Kurznamen funktionieren nur mit standardmäßigen Installationsstammverzeichnissen.
Antwort2
Dies kann zu einem Problem werden, wenn Sie WSL-Versionen ausführen, die nicht über den Windows Store installiert wurden. JetBrains hat einen offiziellen Fix, aber wenn Sie Linux-Distributionen auf eine andere Weise als die Standardmethode installieren möchten, können Sie den folgenden Code in PowerShell ausführen:
$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
Dadurch wird der Windows Store vorübergehend aktiviert und Sie können Programme installieren, die Sie möglicherweise benötigen (Linux-Distributionen). Wenn Ihre Gruppenrichtlinie die Ausführung von PowerShell verhindert, haben Sie Pech gehabt.
Darüber hinaus wird der Windows Store beim Neustart Ihres Computers deaktiviert, sofern er durch die Gruppenrichtlinie deaktiviert wurde.
Sobald eine Linux-Distribution auf die Standardmethode über den Windows Store installiert ist, erkennt JetBrians sie fast sofort.