Ich habe neulich etwas gemacht, von dem ich bis dahin nicht wusste, dass es möglich ist. Ich hatte einen Projektordner in VS Code geöffnet, wie ich es immer tue, und habe ein anderes, separates Stammverzeichnis zum Fenster hinzugefügt. Ich ging immer davon aus, dass es, wenn man ein Projekt geöffnet hat, nur ein oberstes Stammverzeichnis gibt und das war's. Wenn man einen anderen Ordner woanders öffnen müsste, würde man das in einem separaten Fenster tun. Aber nein!
Wir haben bei CodePen eine Art "Duo-Repo"-Konfiguration (eines ist die Haupt-Ruby-on-Rails-App, und eines sind unsere Microservices), und jetzt kann ich beide zusammen öffnen

Jetzt kann ich in beiden Projekten suchen und im Grunde so tun, als wäre es ein einziges großes Projekt.
Wenn man das zum ersten Mal macht und dann das VS Code-Fenster schließt, wird man gefragt, ob man einen "Workspace" speichern möchte. Meh, vielleicht später, dachte ich immer. Ich wusste, was es bedeutet, aber ich war zu faul, mich darum zu kümmern. Es wird eine Datei erstellt, dachte ich, und ich habe keinen richtigen Ort für solche Dateien. (Ich würde das Repo selbst meiden, einfach weil ich niemandem mein System aufzwingen möchte.)
Nun, ich habe mich endlich dazu durchgerungen und es getan. Ich habe alle meine .code-workspace-Dateien in einen lokalen Ordner verschoben. Sie sind tatsächlich recht nützlich als Dateien, denn ich kann die Dateien in mein Dock legen und meinen Workspace mit einem Klick so öffnen, wie ich es mag.
Benutzerdefinierte Workspace-Icons
Workspace-Dateien haben spezielle kleine Icons wie dieses

Da ich diese in mein Dock packe, sah ich darin eine coole Gelegenheit, sie in benutzerdefinierte Icons zu verwandeln! Das macht es für mich super klar und ein bisschen angenehmer zu benutzen, da ich sie wahrscheinlich viele Male am Tag benutzen werde.
Inspiriert vom Original habe ich das SVG-Logo geschnappt und es unten rechts auf meinen Projektlogos platziert.

Logos unter macOS zu ändern ist so einfach wie "Informationen abrufen" für die Datei, auf das Logo in diesem Fenster zu klicken und dann das Bild einzufügen.
Jetzt kann ich sie in meinem Dock aufbewahren und alles mit einem einzigen Klick öffnen

Terminalbefehle beim Öffnen eines Projekts ausführen
Jetzt, wo ich diese sehr praktischen Ein-Klick-Icons zum Öffnen meiner Projekte habe, dachte ich: "Wie cool wäre es, wenn sie auch gleich die Befehle zum Starten des Projekts ausführen!" Anscheinend sind dafür Tasks da, und es war nicht allzu schwer einzurichten (danke, Andrew!). Direkt neben dieser Konfigurationsdatei, unter .vscode/tasks.json, befindet sich das hier
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Gulp",
"type": "shell",
"command": "gulp",
"task": "default",
"presentation": {
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
},
"runOptions": {
"runOn": "folderOpen"
}
}
]
}
Das führt den Befehl gulp für mich aus, wann immer ich diesen Workspace öffne. Ich schätze, man muss den Task einmal manuell ausführen (Terminal → Task ausführen), damit er die richtigen Berechtigungen hat, dann funktioniert er von da an.

Überschreibungen
Ich glaube nicht, dass dies unbedingt spezifisch für Workspaces ist, aber ich mag es wirklich, wie man eine Datei wie .vscode/settings.json in einem Projektordner haben kann, um VS Code-Einstellungen für ein bestimmtes Projekt zu überschreiben.
Zum Beispiel habe ich hier bei CSS-Tricks ein sehr einfaches Sass-Setup, bei dem Gulp .scss in .css vorkompiliert. Das ist in Ordnung, aber es ist wahrscheinlich, dass ich irgendwann nach einem Selektor suche. Ich muss ihn nicht in .css sehen, weil ich nicht in Vanilla CSS arbeite. So gut wie nie. Ich kann das in diese Einstellungsdatei einfügen und weiß, dass es nur für dieses Projekt und nicht für alle meine Projekte gilt
{
"search.exclude": {
"**/*.css": true,
}
}
Ich mag diesen Leitfaden, er ist großartig und ich beabsichtige, ihn auszuprobieren.
Aber hast du dir die Project Manager-Erweiterung angesehen? Ich benutze sie seit Jahren und sie ist großartig, da sie wirklich keine Dateien speichern muss.
Ich glaube, du hast den besten Teil für zuletzt aufgehoben :-)
Das sind Features, die ich gelesen habe und dachte "oh, das ist irgendwie cool" und dann vergessen habe. Sie alle so zusammenzusehen und plötzlich sehe ich in meiner Git(hub|lab)-Zukunft ein privates/persönliches Projekt-Meta-Projekt.
Hey! Eine großartige Sache, die ich als Alternative zu einem Workspace-Ordner gemacht habe.
Speichere deine Workspace- und VSCode-spezifischen Dateien unter deinem Projekt-Repo in einem .VSCode-Ordner. Dann konfiguriere deine lokale gitignore-Datei so, dass sie dieses Verzeichnis ignoriert, und dann kannst du darauf zugreifen und es bearbeiten, während es sich in deinem Workspace befindet und Git den gesamten Ordner ignoriert, damit du deine persönlichen Task-Konfigurationsdateien nicht auf deinen Remote-Host hochlädst!
Ich würde dir vorschlagen, es auszuprobieren! Es ist wirklich praktisch. Wenn du diese Verknüpfungen immer noch auf deinem Desktop haben möchtest, kannst du Verknüpfungen erstellen (oder einen Schritt weiter gehen und Soft-/Hardlinks zur vorhandenen .workspace-Datei im Projektordner erstellen).
Cooler Beitrag! Ich liebe die Liebe zum Detail, kleine Dinge machen eben glücklich
Hilfreiche Tipps – Ich mag die Idee, die Workspaces ins Dock zu legen
Ich schätze, dass du dir die Zeit genommen hast, diese Tipps aufzuschreiben. Wie so viele andere habe ich Dinge wie Workspaces beiseitegelegt, während ich VS Code für Projekte nutzte, aber die Möglichkeit, Dinge wie das Starten von Projekten über mein Dock zu nutzen oder benutzerdefinierte Einstellungen und Tasks einzurichten, ist sehr praktisch.
Wow, ich bin wirklich interessiert daran, wie man das Taskleisten-Icon pro Projekt unter Windows replizieren kann!
Wie kannst du einen Workspace in dein Mac-Dock packen?
So wie das
Die Sache, die Geoff erwähnt hat, bezieht sich auf das Hinzufügen von Leerräumen zu einem Dock, aber man braucht das nicht wirklich, um einen Workspace im Dock zu platzieren. Der Teil des Docks, der Dateien akzeptiert, ist rechts (oder unten) nach dem Trennstrich. Auf dem Teil mit dem Papierkorb.
Das ist großartig und passt auch zu meinem Workflow. Ich habe eine App in Apple Automator erstellt – diese öffnet meinen Workspace, Local by Flywheel, Github Desktop und Codekit alles mit einem Klick. (Ich habe auch eine App erstellt, die all diese Apps am Ende des Tages schließt)
Wie bekommt man dann ein Workspace-Icon mit einem benutzerdefinierten Icon auf der Windows-Taskleiste?
Oder sprichst du nicht darüber, weil es nur eine Verknüpfungsdatei wäre?
Ich spreche nicht darüber, weil ich nie Windows benutzt habe. Wenn du es tust und versucht und Erfolg hattest, könntest du es teilen?
Man kann einen Link (lnk) zu jeder Datei erstellen. Ein Link zu einer Datei öffnet die Standardanwendung (in diesem Fall VSC). Ziehe einfach den Workspace mit der rechten Maustaste. Wähle dann ein Icon in den Eigenschaften der lnk-Datei aus und fertig.
Du kannst lnk im Schnellstartmenü platzieren. Also in
So sieht das aus:
https://ibb.co/cyLqC7k
Offensichtlich kannst du viel besser als ich, wenn du ein Icon erstellst.
Du kannst eine Verknüpfung mit dem Befehl 'Code.exe C:\Projekt\MeinProjekt.code-workspace' erstellen und diese Verknüpfung dann an die Taskleiste anheften. Du kannst mit der rechten Maustaste darauf klicken, Eigenschaften auswählen und das Icon ändern. Du musst dies tun, wenn VS Code bereits an deine Taskleiste angeheftet ist, da das angezeigte Standard-Icon dasselbe wie VS Code ist.
Du kannst natürlich auch die Verknüpfung auf dem Desktop erstellen und sie zuerst anpassen und dann anheften. Der Punkt ist, dass es einfach zu machen ist.
Was das Nicht-Suchen in CSS angeht, würde ich kontern, dass deine Build-Dateien wahrscheinlich nur in einem Build-Ordner existieren sollten, der von Git ignoriert wird und daher sowieso nicht in Suchergebnissen erscheint (wenn die Option ausgewählt ist, ignorierte Dateien auszuschließen, was wahrscheinlich der Fall ist, um nicht in node_modules usw. zu suchen).
Durchsucht VS Code automatisch keine Dateien, die in einer
.gitignore-Datei aufgeführt sind? Das ist nett. In meinem Fall committe ich meine .css-Dateien. Wahrscheinlich sollte ich das nicht tun, aber nicht alle Build- und Deployment-Prozesse sind ideal und perfekt.Dieser Hinweis zur Verwendung der "runOn"-Option der VS Code Tasks-Funktion könnte der Auslöser sein, der mich endlich dazu bringt, Workspaces zu nutzen (ich war auch im "Meh, vielleicht später"-Lager)! Sehr praktisch.
Für das, was es wert ist, kann ein Workspace seine eigenen Einstellungen haben, die in der
.code-workspace-Datei gespeichert werden, anstatt in einem.vscode-Unterverzeichnis. Dies könnte ideal sein, wenn du dein Setup nicht mit anderen teilen möchtest, die am selben Repo arbeiten, oder wenn der .gitignore-Ansatz für dein Setup nicht funktioniert.Wenn du die
.code-workspace-Datei in VS Code bearbeitest (öffne sie im Editor, ich meine — gibt es eine bessere UI-Möglichkeit, in diese rohe JSON-Konfiguration für den Workspace zu gelangen? Ich konnte sie nicht finden…), kannst du sowohl deine projektspezifischen Einstellungen als auch Tasks wie folgt einrichtenDu musst immer noch die Sache mit
Automatische Tasks in Ordner zulassenmachen, nachdem du dies zum ersten Mal eingerichtet hast, aber ansonsten scheint es wie am Schnürchen zu funktionieren, und keine lästige.vscode-Datei im Repo!Ich wurde nicht aufgefordert, Berechtigungen zu aktualisieren, nachdem der Task einmal manuell ausgeführt wurde (Terminal → Task ausführen). Ich musste
Automatische Tasks in Ordner zulassenmanuell aus der Befehlspalette aufrufen.Beim nächsten Öffnen des Workspaces funktionierte es wie am Schnürchen! Danke für den Artikel!