Ich habe neulich etwas Kleines 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 dann habe ich einen weiteren, anderen Stammordner zum Fenster hinzugefügt. Ich ging immer davon aus, dass man, wenn man ein Projekt geöffnet hat, nur einen Stammordner auf der obersten Ebene hat und das war's. Wenn man einen anderen Ordner woanders öffnen wollte, würde man das in einem anderen Fenster tun. Aber nein!
Wir haben bei CodePen so etwas wie "Duo-Repos" (eins ist die Haupt-Ruby-on-Rails-App und eins sind unsere Microservices), und jetzt kann ich sie beide zusammen öffnen.

Jetzt kann ich beide Projekte durchsuchen und so tun, als wäre es ein einziges großes Projekt.
Wenn du das zum ersten Mal machst und dann das VS Code-Fenster schließt, wirst du gefragt, ob du einen "Workspace" speichern möchtest. Meh, vielleicht später, dachte ich immer. Ich wusste, was gemeint war, aber ich war zu faul, mich darum zu kümmern. Es wird eine Datei erstellt, dachte ich, und ich habe keinen richtigen Platz für solche Dateien. (Ich würde das Repo selbst vermeiden, nur weil ich niemandem meine Systeme aufzwingen möchte.)
Nun, ich habe mich endlich überwunden und es getan. Ich habe alle meine .code-workspace-Dateien in einen lokalen Ordner gesteckt. Sie sind tatsächlich recht nützlich als Dateien, weil ich die Dateien in mein Dock legen kann und mit einem Klick meinen Workspace so öffnen kann, wie ich es mag.
Benutzerdefinierte Workspace-Icons
Workspace-Dateien haben spezielle kleine Icons wie dieses.

Da ich diese in mein Dock lege, 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 wahrscheinlich viele Male am Tag danach greifen werde.
Mit ein wenig Inspiration vom Original habe ich mir das SVG-Logo geschnappt und es unten rechts auf meine Projektlogos geklatscht.

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

Terminalbefehle beim Öffnen eines Projekts ausführen
Nachdem ich jetzt diese wirklich praktischen Ein-Klick-Icons zum Öffnen meiner Projekte habe, dachte ich: "Wie cool wäre es, wenn es auch die Befehle zum Starten des Projekts auslöst!" Offenbar sind dafür Tasks da, und es war nicht allzu schwer einzurichten (danke, Andrew!). Direkt neben dieser Einstellungsdatei, unter .vscode/tasks.json, habe ich 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 denke, man muss den Task einmal manuell ausführen (Terminal → Task ausführen), damit er die richtigen Berechtigungen hat, dann funktioniert es von da an.

Überschreibungen
Ich glaube nicht, dass das unbedingt spezifisch für Workspaces ist, aber mir gefällt sehr gut, 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 vorverarbeitet. Das ist alles gut und schön, 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 gilt und nicht für alle meine Projekte.
{
"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 aufgespart :-)
Das sind Funktionen, über die ich gelesen und dachte "Oh, das ist irgendwie cool" und dann vergessen habe. Wenn ich sie alle so zusammen sehe, bin ich plötzlich dabei, ein privates/persönliches Projekte-Meta-Projekt in meiner Git(hub|lab)-Zukunft zu sehen.
Hey! Eine großartige Sache, die ich als Alternative zum Hosten eines Workspaces gemacht habe.
Speichere deine Workspace- und VSCode-spezifischen Dateien in deinem Projekt-Repo in einem .VSCode-Ordner. Dann konfiguriere deine lokale gitignore-Datei, um dieses Verzeichnis zu ignorieren, und dann kannst du darauf zugreifen und es bearbeiten, während du in deinem Workspace bist, und Git ignoriert den gesamten Ordner, damit du deine persönlichen Task-Konfigurationsdateien nicht zu deinem Remote-Host pushst!
Ich würde vorschlagen, dass du es ausprobierst! Es ist wirklich praktisch. Wenn du immer noch diese Verknüpfungen auf deinem Desktop haben möchtest, kannst du Verknüpfungen erstellen (oder einen Schritt weiter gehen und Soft-/Hard-Links zur vorhandenen .workspace-Datei im Projektordner erstellen).
Cooler Beitrag! Ich liebe die Liebe zum Detail, kleine Dinge bereiten eben Freude.
Hilfreiche Tipps – ich mag die Idee, die Workspaces ins Dock zu legen.
Ich schätze es, dass du dir die Zeit genommen hast, diese Tipps aufzuschreiben. Wie so viele andere habe ich Dinge wie Workspaces als unwichtig abgetan, während ich VS Code für Projekte verwendete, 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 Taskbar-Icon pro Projekt unter Windows replizieren kann!
Wie kannst du einen Workspace mit einem benutzerdefinierten Icon im Mac-Dock ablegen?
So wie das
Das, was Geoff erwähnt hat, betrifft das Hinzufügen von Leerzeichen zu einem Dock, aber du brauchst das nicht wirklich, um einen Workspace ins Dock zu legen. Der Teil des Docks, der Dateien akzeptiert, befindet sich 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 Automatizor erstellt – das ö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 lege ich ein Workspace-Icon mit einem benutzerdefinierten Icon auf die 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 es versucht und geschafft hast, könntest du es dann teilen?
Du kannst einen Link (lnk) zu jeder Datei erstellen. Ein Link zu einer Datei öffnet die Standardanwendung (in diesem Fall VSC). Ziehe einfach den Workspace per Rechtsklick. Wähle dann ein Icon in den Eigenschaften der lnk-Datei aus und fertig.
Du kannst die lnk im Schnellstartmenü ablegen. Also in
So sieht das aus:
https://ibb.co/cyLqC7k
Offensichtlich kannst du beim Erstellen eines Icons viel besser sein als ich.
Du kannst eine Verknüpfung mit dem Befehl 'Code.exe C:\Project\MyProject.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. Das musst du tun, wenn VS Code bereits an deine Taskleiste angeheftet ist, da das angezeigte Standard-Icon das gleiche wie das von 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 dagegenhalten, dass deine Build-Dateien wahrscheinlich nur in einem Build-Ordner existieren sollten, der von Git ignoriert wird und daher sowieso nicht in den Suchergebnissen erscheint (wenn die Option zum Ausschließen von ignorierten Dateien ausgewählt ist, was wahrscheinlich der Fall ist, um das Suchen in node_modules usw. zu vermeiden).
Durchsucht VS Code automatisch keine Dateien, die sich in einer
.gitignore-Datei befinden? Das ist nett. In meinem Fall committe ich meine .css-Dateien. Das sollte ich wahrscheinlich nicht tun, aber nicht alle Build- und Deploy-Prozesse sind ideal perfekt.Dieser Hinweis zur Verwendung der "runOn"-Option der VS Code Tasks-Funktion ist vielleicht das, was mich endlich dazu bringt, Workspaces zu nutzen (ich war auch im "Meh, vielleicht später"-Lager)! Sehr praktisch.
Nur so am Rande: Ein Workspace kann eigene Einstellungen haben, die in der
.code-workspace-Datei gespeichert werden, anstatt in einem.vscode-Unterverzeichnis. Das 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 in den Editor, meine ich - gibt es eine bessere UI-Möglichkeit, um in diese rohe JSON-Konfiguration für den Workspace zu gelangen? Ich konnte keine finden...), kannst du sowohl deine pro-Workspace-Einstellungen als auch Tasks wie folgt einrichten:Du musst nach der ersten Einrichtung immer noch die Option
Automatische Tasks im Ordner zulassenausführen, aber ansonsten scheint es wie am Schnürchen zu funktionieren, und kein lästiger.vscode-Ordner im Repo!Ich wurde nach dem ersten manuellen Ausführen des Tasks (Terminal → Task ausführen) nicht aufgefordert, die Berechtigungen zu aktualisieren. Ich musste
Automatische Tasks im Ordner zulassenmanuell über die Befehlspalette auswählen.Beim nächsten Öffnen des Workspaces funktionierte es einwandfrei! Danke für den Artikel!