Ich bin von macOS zu Windows zurückgekehrt und habe PowerShell Core verwendet, weil dort "Eingabeaufforderung, zumindest PowerShell" stand. Übrigens fiel mir ein, dass es WSL (Windows Subsystem for Linux) gab. Ich habe mich entschieden, WSL vollständig für die Entwicklungsumgebung zu verwenden. Notieren Sie sich daher das Verfahren.
Die Entwicklungsumgebung bezieht sich hier auf die Entwicklung des Frontends der Webanwendung mit Angular und des Backends mit node.js (und da ich mit Linux, WSL, Distribution und Shell nicht wirklich vertraut bin Ich bin zuversichtlich, dass es verwirrt ist.)
Führen Sie die WSL unter Bezugnahme auf ein.
Windows Terminal ist ein Terminal-Client für Windows, und obwohl es sich noch in der Vorschau-Version befindet, finde ich es toll, weil es einfach zu bedienen und hochgradig anpassbar ist.
Wenn Sie WSL installieren, wird in Ihrem Windows-Terminal ein zusätzliches Profil mit dem Namen "Ubuntu" angezeigt.
Um Ubuntu Terminal beim Starten von Windows Terminal standardmäßig zu öffnen, drücken Sie Strg +, um profile.json
zu öffnen und defaultProfile
zu ändern.
Andere,
colorScheme
ein, um die Farbe zu ändern und die Sichtbarkeit zu verbessern launchDirectory
ein Tastenkombinationen
hinzu, damit Sie mit Strg + c
und Strg + v
kopieren und einfügen können (standardmäßig Strg + Umschalt + c / v
).Verändert sich. Windows Terminal macht Spaß, da Sie es auf verschiedene Arten anpassen können, indem Sie diese profile.json
bearbeiten. Als Referenz werde ich meine Einstellungen veröffentlichen.
profiles.json
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",
"profiles":
[
<Ausgelassen>
{
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
"hidden": false,
"name": "Ubuntu",
"colorScheme": "Campbell",
"cursorShape": "emptyBox",
"acrylicOpacity": 0.85,
"useAcrylic": true,
"cursorColor": "#FFFFFF",
"fontFace": "Cascadia",
"fontSize": 12,
"startingDirectory": "C:\\dev",
"source": "Windows.Terminal.Wsl"
}
],
"schemes": [
{
"name": "Campbell",
"foreground": "#F2F2F2",
"background": "#0C0C0C",
"colors": [
"#0C0C0C",
"#C50F1F",
"#13A10E",
"#C19C00",
"#0037DA",
"#881798",
"#3A96DD",
"#CCCCCC",
"#767676",
"#E74856",
"#16C60C",
"#F9F1A5",
"#3B78FF",
"#B4009E",
"#61D6D6",
"#F2F2F2"
]
}
<Ausgelassen>
],
// Add any keybinding overrides to this array.
// To unbind a default keybinding, set the command to "unbound"
"keybindings": [
{ "command": "copy", "keys": [ "ctrl+c" ] },
{ "command": "paste", "keys": [ "ctrl+v" ] }
]
}
Mit der Einführung der WSL hat sich "wsl" auch im Terminal von Visual Studio Code erhöht. Ändern Sie es daher mit "Strg + Umschalt + P" in "wsl" → "Terminal: Standard-Shell auswählen".
Es scheint, dass Sie das Terminal für jeden Arbeitsbereich wechseln können, indem Sie Terminal in ".code-workspace" angeben, aber ich empfehle es nicht, da es einige Umgebungen gibt, in denen wsl nicht enthalten ist.
Selbst wenn ich das Standardterminal von VScode in WSL ändere, scheinen die Aufgaben von VScode auf der Windows-Seite ausgeführt zu werden, und ich möchte sie auch auf der WSL ausführen. Um dies zu lösen, müssen Sie leider "WSL-abhängige Aufgaben" schreiben.
./vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "ng-serve",
"type": "shell",
"isBackground": true,
"command": "ng serve",
"problemMatcher": {
"owner": "custom",
"pattern": {
"regexp": "^$"
},
"background": {
"activeOnStart": true,
"beginsPattern": ".*Angular Live Development Server.*",
"endsPattern": ".*Compiled successfully.*"
}
}
},
{
"label": "ng-serve-wsl",
"type": "shell",
"isBackground": true,
"command": "\"ng serve\"",
"options": {
"shell": {
"executable": "C:\\Windows\\System32\\wsl.exe",
"args": [ "bash -ic" ]
}
},
"problemMatcher": {
"owner": "custom",
"pattern": {
"regexp": "^$"
},
"background": {
"activeOnStart": true,
"beginsPattern": ".*Angular Live Development Server.*",
"endsPattern": ".*Compiled successfully.*"
}
}
}
]
}
Zum Beispiel definiert das obige Beispiel task.json
eine Aufgabe namens ng-serve
zum Debuggen von Angular, funktioniert aber unter Windows Darüber hinaus gibt es eine Aufgabe namens "ng-serve-wsl" mit Einstellungen, die auf der WSL ausgeführt werden sollen.
Der Unterschied zwischen der WSL-Version besteht in den Informationen von wsl.exe
, die in options: {}
festgelegt sind. Dies ist die Eingabeaufforderung.
wsl.exe bash -ic "ng serve"
Entspricht der Ausführung.
Das Wichtigste ist das Bash-Ausführungsargument -i
, andernfalls wird .bashrc
nicht gelesen (= PATH ist nicht gesetzt), sodass ng
zu einem Befehl führt, bei dem kein Fehler gefunden wurde. Ich werde am Ende.
Für die Entwicklung erforderliche Tools wie git, node, npm, angle, python, aws-cli, firebase-cli usw. werden in die WSL gestellt. Für Ubuntu wird es normalerweise mit apt-get installiert.
Ich habe mich gefragt, ob ich bis WSL2 warten kann, aber es war sehr praktisch, es auch mit WSL1 zu verwenden.
Terminal und VSCode, die häufig während der Entwicklung verwendet werden, können jetzt fast ausgegeben werden, ohne zu wissen, dass es sich um Windows handelt. Die Skripte usw. sind fast die gleichen wie bei macOS, und es ist einfacher geworden, CI unter Linux zu proben.
Die Interoperabilität mit Windows ist höher als erwartet, und wenn ich dem Befehl ".exe" hinzufüge, kann ich den Windows-Befehl über die WSL ausführen, sodass ich das Gefühl hatte, den juckenden Ort (über die WSL) erreichen zu können. Sie sollten in der Lage sein, .NET-Apps zu erstellen, die nur unter Windows ausgeführt werden, indem Sie auf "msbuild.exe" klicken. Natürlich können Sie die Funktionsweise von .NET-Programmen überprüfen, die plattformübergreifend ausgeführt werden, indem Sie .NET Core zunächst auf die WSL-Seite stellen. Ist möglich).
Als etwas überflüssig,
Manchmal drücke ich den Befehl git in bash, manchmal verwende ich eine Git-Client-App (wie GitKraken oder VSCode) und weiß, wie man den Anmeldeinformationsspeicher allgemein macht. Ich habe es nicht, also merke ich es mir vorerst in beiden.
Um "den Pfadnamen in Windows Explorer und" cd "in bash zu kopieren", benötigen Sie einen Befehl ähnlich dem folgenden:
cd $(wslpath -u "C:\dev\hoge")
Sie können eine Windows-Pfadzeichenfolge mit der Funktion "wslpath" in einen UNIX-Pfad konvertieren, also beiße ich sie und verschiebe das Verzeichnis.
Wenn Sie ein Skript unter der Annahme schreiben müssen, dass es in der Umgebung funktioniert, müssen Sie PowerShell zusammen verwenden, um den Betrieb zu überprüfen, und schließlich müssen Sie den Knoten auch auf der Windows-Seite installieren. Nun, das ist eine Teamsituation. Trotzdem ist Windows Terminal einfach zu verwenden, da Sie sowohl WSL als auch PowerShell in Registerkarten verwalten können.
Angenommen, VSCode kann mithilfe von Remote --WSL Extension die gesamte Projektentwicklung in WSL durchgeführt werden. Sie werden es schaffen. Das oben beschriebene Terminal und die Aufgabenausführung sind alle.
Derzeit handelt es sich noch um eine Preivew-Version, daher ist die Stabilität ungewiss. Die WSL scheint langsam (subjektiv) zu sein, da es sich um eine Remote-Prämisse handelt. Die VS-Code-Erweiterung muss je nach Objekt für Remote weiter installiert werden. Ich habe es ein wenig versucht und auf Eis gelegt, weil es einige Punkte gibt, auf die ich neugierig bin.
Recommended Posts