Vscode: Unterst√ľtzung f√ľr das √Ėffnen mehrerer Projektordner im selben Fenster hinzuf√ľgen

Erstellt am 21. Nov. 2015  ¬∑  380Kommentare  ¬∑  Quelle: microsoft/vscode

Im Moment scheint es nicht möglich zu sein, mehrere Projektordner im selben Fenster zu öffnen, was imho etwas einschränkend ist. Wenn Sie an modularen modernen Projekten arbeiten, muss dies produktiv sein.

feature-request workbench-multiroot

Hilfreichster Kommentar

Sublime, Atom, Webstorm - sie sind auch "leichte" Code-Editoren (au√üer vielleicht Webstorm) und erm√∂glichen das √Ėffnen mehrerer Stammordner von verschiedenen Orten aus. Diese Editoren sind wahrscheinlich 99% dessen, was Webentwickler verwenden.
Code kann mit ihnen mit viel besserer Typescript-Unterst√ľtzung konkurrieren (und es wird sehr beliebt sein, wenn man bedenkt, dass Angular 2 kommt), aber nur, wenn es Entwicklern das gibt, was sie jetzt als grundlegende Funktionalit√§t verwenden.

Alle 380 Kommentare

stimme zu, aber vielleicht ist es eine optimierte L√∂sung f√ľr den Speicher

+1

Ich bin mir nicht sicher, ob ich die Frage verstehe. Es ist ein leichtgewichtiger Code-Editor, keine IDE. Warum sollten Sie mehrere "Projekt" -Ordner √∂ffnen m√ľssen, die nicht hierarchisch sind (wo Sie den Arbeitspfad zu einem gemeinsamen √ľbergeordneten Element festlegen k√∂nnen)?

Wenn Sie an Modulen arbeiten, die unterschiedlich auf der Festplatte gespeichert sind und in diesem Ma√üe irgendwie miteinander interagieren, sind sie zun√§chst zu eng miteinander verbunden ... sind Ihre Projekte Geschwister? Wenn ja, √∂ffnen Sie einfach den √ľbergeordneten Ordner oder den √ľbergeordneten / √ľbergeordneten Ordner ... wo immer sich das Stammverzeichnis Ihrer "L√∂sung" befindet.

Wenn Sie eine Reihe von Modulen haben (die sich alle in ihrem eigenen Git-Repository befinden), die unabh√§ngig voneinander sind, aber ein Repository haben, das diese Abh√§ngigkeiten verwendet, ist es sinnvoll, diese unabh√§ngigen Ordner √∂ffnen und entsprechende √Ąnderungen vornehmen zu k√∂nnen reflektiert werden, damit Sie es lokal testen k√∂nnen. Das w√§re immer noch ein leichter Code-Editor, aber imho ein n√ľtzlicherer!

Das Hauptproblem beim Festlegen des Projekts als √ľbergeordnetes Element besteht darin, dass die Git-Integration wegf√§llt. Es gibt jedoch auch andere g√ľltige Anwendungsf√§lle, die √ľber die gemeinsame Nutzung eines √ľbergeordneten Projekts hinausgehen.

@stoffeastrom klingt wie ein Anwendungsfall f√ľr Submodule; Ich bin mir nicht sicher, wie Ihr Projekt auf ein anderes verweisen w√ľrde, es sei denn, Sie haben einen Aliasing mit einem Mechanismus durchgef√ľhrt, z. B. npm-Verkn√ľpfung usw. Dieses Problem sollen haupts√§chlich von Paketmanagern gel√∂st werden. Wenn die Module eng miteinander verbunden sind, sind sie wirklich keine isolierten Module. Sie w√§ren nicht in der Lage, zuverl√§ssig √Ąnderungen vorzunehmen, um ein Projekt zu unterst√ľtzen, ohne sich Sorgen dar√ľber zu machen, dass die √Ąnderung sp√§ter Konsequenzen f√ľr andere Verbraucher hat. Selbst bei Submodulen sind sie aus genau diesem Grund standardm√§√üig schreibgesch√ľtzt.

Auf jeden Fall ist das, was @Tyriar gerade erw√§hnt hat, einer der Gr√ľnde, warum ich vorsichtig bin, diese Art von Schnittstelle f√ľr mehrere Arbeitspfade in einer einzelnen Instanz / einem einzigen Fenster zu haben: Sie m√ľssen Integrationen (wie Git), Erweiterungen, Refactoring, Debugging, etc, etc, etc. alles auf isolierte Weise. Zum Beispiel:

Wenn ich die Git-Integration zum Festschreiben verwende, verpflichte ich dann Projekt A oder Projekt B?
Wenn ich einen Klassennamen in TypeScript umgestalte, sollte er in Projekt A oder Projekt B oder in beiden umgestaltet werden? Was ist, wenn in beiden Projekten derselbe Klassenname mit unterschiedlichen Bedeutungen vorhanden ist? Was ist, wenn einer den anderen lose referenziert?

Dies sind nur einige Beispiele daf√ľr, wie etwas scheinbar Einfaches sehr schnell sehr kompliziert werden kann. Ich denke, es w√§re viel verwirrender und ehrlich gesagt weniger n√ľtzlich, als zwischen ein paar separaten Instanzen von VSCode Alt-Tab / Cmd + Tab zu wechseln, wobei jede ihren eigenen isolierten Arbeitspfad ohne zus√§tzlichen Aufwand und Randfallprobleme verwaltet.

Ich sage nicht, dass es nicht gelöst werden konnte, aber ich verstehe nicht ganz, warum das Wechseln zwischen mehreren Fenstern und / oder Instanzen ein Problem ist. Vielleicht fehlt mir etwas ...

Sublime, Atom, Webstorm - sie sind auch "leichte" Code-Editoren (au√üer vielleicht Webstorm) und erm√∂glichen das √Ėffnen mehrerer Stammordner von verschiedenen Orten aus. Diese Editoren sind wahrscheinlich 99% dessen, was Webentwickler verwenden.
Code kann mit ihnen mit viel besserer Typescript-Unterst√ľtzung konkurrieren (und es wird sehr beliebt sein, wenn man bedenkt, dass Angular 2 kommt), aber nur, wenn es Entwicklern das gibt, was sie jetzt als grundlegende Funktionalit√§t verwenden.

+1

+1

Als Go-Entwickler finde ich diese Funktion in Sublime oder IntelliJ Idea √§u√üerst n√ľtzlich. Zum Beispiel importiert mein kleines Projekt Code aus der Go-Kernbibliothek oder importiert m√∂glicherweise eine Bibliothek eines Drittanbieters. Ich muss also in der Lage sein, schnell zu ihnen zu navigieren und diesen Code zu lesen.

+1. Multi-Git-Repo-Microservice-Lösungen sind derzeit in VS Code sehr schmerzhaft, da stattdessen eine andere Typescript-fähige IDE gefunden werden soll.

Wir brauchen definitiv eine Art "Lösung". Ich bin ein nativer Entwickler, und dies beinhaltet fast immer das Erstellen einer Reihe von Bibliotheken / DLLs und das anschließende Verweisen auf diese aus einem Host-App-Projekt.
Sobald wir mehrere Projekte haben, ben√∂tigen wir auch ein Startprojekt, wenn wir auf "Ausf√ľhren" klicken.

Ich m√∂chte auch Unterst√ľtzung f√ľr Projekte und mehrere Git-Wurzeln. Der Code, den ich h√§ufig verwende, befindet sich in mehreren Git-Repos und es ist anstrengend, nicht zwischen ihnen wechseln zu k√∂nnen, ohne meinen aktuellen Arbeitsbereich zu schlie√üen und einen anderen zu √∂ffnen, nur um sich umzudrehen und diesen zu schlie√üen, um den vorherigen zu √∂ffnen. Wenn ich den √ľbergeordneten Ordner hinzuf√ľge, in dem sich alle meine Repos befinden, kann ich in meinen Dateien navigieren und suchen, aber ich verliere die Git-Integration. Es ist ein echter Mist.

Die Linie zwischen "Texteditor" und "IDE" ist ziemlich verschwommen und es ist mir egal, als was VS-Code bezeichnet wird. Was mich interessiert, ist, was ein Werkzeug kann und wie schmerzlos es ist, es zu benutzen. Ich denke, das Hinzuf√ľgen von Projektunterst√ľtzung w√ľrde f√ľr Leute wie mich viel Reibung lindern.

Ich w√ľrde auch gerne sehen, dass die Git-Integration funktioniert, wenn Ihr Arbeitsbereich mehrere Repos enth√§lt, aber ich m√∂chte nur sicherstellen, dass Leute wie @ Loren-Johnson erkennen, dass mehrere vs-Code-Fenster gleichzeitig ge√∂ffnet sein k√∂nnen.

Dies ist eine Reaktion auf: "Ich kann nicht zwischen ihnen wechseln, ohne meinen aktuellen Arbeitsbereich zu schließen."

Du meinst, # 2686 ist ein Duplikat davon?

Entschuldigung, ich habe die Beschreibung falsch gelesen und diese wieder geöffnet.

+1

Gibt es Fortschritte in diesem Bereich oder zumindest eine Erklärung, ob dies jemals umgesetzt wird? Gibt es einige Entscheidungen auf niedriger Ebene im Code, die mehrere Wurzeln in einem Projekt verhindern?

Dies ist so ziemlich der einzige Grund, warum ich nicht von ST3 zu VSCode wechsle.

+1

+1

+1

+1 das w√§re sehr hilfreich. Der Vorschlag, Git-Submodule zu verwenden, ist sehr unpraktisch. W√ľrde gerne diese Funktion haben.

Ein anf√§nglicher leichter Ansatz w√§re √§hnlich wie die Erweiterung von git-project-manager . Der Ansatz k√∂nnte darin bestehen, den Kontext / das Stammverzeichnis f√ľr das zu √§ndern, was git als √Ąnderungen ansieht, ohne jedoch den Kontext / das Stammverzeichnis f√ľr das zu √§ndern, was der Dateibrowser sieht. Diese Erweiterung funktioniert perfekt, ben√∂tigt nur eine engere Integration, um das Umschalten zu beschleunigen.

+1

+1 - Ich habe angefangen, Git-Submodule zu verwenden, aber es f√ľhlt sich eher nach einem Hack als nach einer tats√§chlichen L√∂sung an.

+1

+1

Ich verwende die Erweiterung git-project-manager, um zwischen Ordnern zu wechseln, w√ľrde aber gerne die Option haben, mehrere Ordner gleichzeitig zu √∂ffnen.
+1

Ich m√∂chte nur sagen, dass der Eigent√ľmer der Project Manager-Erweiterung auch auf dieses Problem wartet.

In Bezug auf einige der Kommentare (oben) m√∂chte ich nur sagen, dass wir alle unterschiedlich sind und alle unsere besonderen M√∂glichkeiten haben, unsere Arbeit an unseren speziellen Projekten auszuf√ľhren. Diese Tatsache macht UX wichtiger als es bereits ist.

Wir alle wussten, dass "Ordner öffnen ..." nur der erste kleine Schritt war, um unweigerlich Projektmanagement in vscode mit Dingen wie "Projekt öffnen ..." und so weiter zu haben. Genau wie alle anderen Editoren da draußen, insbesondere SublimeText (woher ich komme).

F√ľr mich ist dieses Problem eine Verbesserung der UX des Produkts. Und wir alle wissen, dass UX K√∂nig ist.

Ich bin fast der Meinung, dass solche Dinge das Gesetz sein sollten, und daher sollte das Tag "Feature Request" stattdessen "Feature Reminder" sein.

Dieses Problem sollte Vorrang vor allen anderen Problemen in vscode haben. Nicht nur, weil UX König ist, sondern weil ich momentan keine anderen Probleme mit vscode habe als dieses ... technisch.

Urspr√ľnglich wollte ich Microsoft bitten, diese projekt√§hnlichen Erweiterungen zu √ľbernehmen und direkt in VSCode zu integrieren und die Benutzeroberfl√§che zu verbessern, beispielsweise durch Hinzuf√ľgen von "Projekte ..." zum Men√ľ.

Vielen Dank,
+1

+1

Mein Anwendungsfall f√ľr diese Funktion wird hier beschrieben: # 9515. (Es wurde als Duplikat dieser Ausgabe geschlossen.)

Ich hoffe, dass diese Funktion passiert!

+1

@ poidl, @ mastrauckas , @mdedgjonaj , @alanleite , @Xcorpio , @mibanez , @josebalius & @brusbilis :
Vor einiger Zeit stellte GitHub die schöne Funktion "Add your react" vor (siehe den Smiley in jeder oberen rechten Ecke eines Kommentars oder das Problem selbst?).
Diese dienen dazu, das VSCode-Team √ľber Ihr Interesse zu informieren, verhindern jedoch bedeutungslose +1 -Kommentare. Es verhindert auch, dass andere Personen, die ein bestimmtes Problem oder MR abonniert haben, eine Benachrichtigung erhalten, und spart somit wertvolle Zeit. Ein weiterer Bonus ist, dass Probleme / MRs nach most reaction sortiert werden k√∂nnen, wodurch f√ľr das VSCode-Team sofort sichtbar wird, was f√ľr die Benutzer relevant ist. Dar√ľber hinaus gibt es sogar ein Uservoice f√ľr VSCode .

Dieser Kommentar selbst ist meta und daher auch bedeutungslos. Es tut mir leid, aber ich dachte, es sei f√ľr Bildungszwecke notwendig. Jede direkte Antwort auf diesen Kommentar (= mehr Meta) f√ľhrt dazu, dass ich den Benutzer blockiere.
Lassen Sie uns trainieren, indem wir auf diesen Kommentar nur mit der Funktion reaction reagieren!

Zu @poidls Antwort: Dann antworte √ľberhaupt nicht!

Ich sehe diesen Smiley nicht. Zumindest auf dem Handy. Viel Spaß beim Blockieren!

@poidl Ja, die Reaktionsfunktion ist auf der mobilen GitHub-Website leider nicht verf√ľgbar (zusammen mit vielen anderen Funktionen). Sie k√∂nnen auf Mobilger√§ten darauf zugreifen, indem Sie unten auf der Website auf die Schaltfl√§che "Desktop-Version" klicken.

@ dj-hedgehogs Rat ist jedoch genau richtig. GitHub-Reaktionen erm√∂glichen es uns, das Interesse der Community an etwas effektiverem als der Anzahl der Kommentare zu messen. Dar√ľber hinaus planen wir, User Voice zu verwerfen, damit GitHub-Probleme und -Reaktionen unsere Wahrheitsquelle f√ľr Feature-Anfragen sind.

+1

+1

Meine L√∂sung f√ľr dieses Problem: Erstellen Sie einen symbolischen Link zu meinem Projektstamm.
Also wenn ich habe:
project/modules/gitmodule

Ich gehe in meinen Gitmodule-Ordner und mache:
ln -s ../../../project .project

Jetzt kann ich meinen gitmodule-Ordner in vscode √∂ffnen und habe weiterhin Zugriff auf den √ľbergeordneten Projektordner.
Ich verwende einen Punkt im Dateinamen, damit er im Explorer ganz oben auf meiner Liste steht.
Nat√ľrlich w√ľrde ich das lieber nicht tun m√ľssen, aber ich dachte, es k√∂nnte f√ľr einige von Ihnen n√ľtzlich sein.

Fast vergessen: Vergessen Sie nicht, den symbolischen Link zu Ihrem .gitignore hinzuzuf√ľgen

+1

Dies ist eine wirklich wichtige Funktion f√ľr einen modernen Texteditor. Bitte l√∂sen Sie dieses "Problem" bitte.
F√ľr eine Weile musste ich alle Verzeichnisse kopieren und einf√ľgen, die in meinem eigentlichen Arbeitsordner verwendet werden, und dies in Sublime Text ist so trivial.

Projekt> Ordner zum Projekt bei Sublime Text hinzuf√ľgen erh√∂ht einen neuen Pfad zur Json-Struktur.

Schauen Sie unten:
{ "folders": [ { "path": "~/cpp" }, { "path": "~/python" } ] }

Wenn Sie beispielsweise mit einem Koch arbeiten, sehen Sie häufig eine Ordnerstruktur wie:

‚ĒĒ‚ĒÄ‚ĒÄ cookbooks
    ‚Ēú‚ĒÄ‚ĒÄ cookbook1
    ‚Ēú‚ĒÄ‚ĒÄ cookbook2
    ‚Ēú‚ĒÄ‚ĒÄ cookbook3
    ‚ĒĒ‚ĒÄ‚ĒÄ cookbook4

Wobei die Kochb√ľcher (z. B. Kochbuch1) unter dem Stammordner (Kochb√ľcher) die unabh√§ngigen Git-Repos sind. Das ist sehr h√§ufig. Jetzt m√ľssen Sie an Kochbuch4 arbeiten, aber es enth√§lt Kochbuch2 und Kochbuch3. Sie m√ľssen h√§ufig alle 3 √∂ffnen, entweder um einfach auf Code zu verweisen oder um Code in allen 3 tats√§chlich zu bearbeiten oder umzugestalten.

Die 2 normalen Optionen (keine Symlink-Hacks) stellen Probleme dar, die kein Entwickler w√ľnscht:

  1. Wie oben oft erw√§hnt, m√ľssten Sie jetzt mehrere Fenster √∂ffnen (nicht gut)
  2. Wenn Sie Kochb√ľcher als root √∂ffnen, um alle 3 zu sehen, verlieren Sie die Git-Integration, da der Kochbuchordner kein Got-Repo ist (auch nicht gut).

+1, Eclipse IDE-Benutzer hier mit vollständiger Steuerung des Arbeitsbereichs.

Visual Studio Code ist keine IDE. Es ist ein leichter plattform√ľbergreifender Editor wie Atom oder Sublime. Eclipse, Xcode, Visual Studio et. Alle sind im Vergleich Giganten.

Entschuldigung, ich bin mir nicht sicher, ob Sie gegen oder f√ľr diese Funktion argumentieren ... Mit Atom, Sublime, VIM und Emacs k√∂nnen Sie mehrere Ordner in einer Instanz √∂ffnen. Leicht oder nicht, es ist eine gute Funktion. Mit IntelliJ IDEA - einer IDE - k√∂nnen Sie beispielsweise noch nicht mehrere Projekte √∂ffnen.

@dmccaffery Die hier angeforderten Funktionen sind allen _editors_ gemeinsam, von denen Sie sagten, dass Visual Studio Code _like_ ist.

Atom, Sublime und andere leichtgewichtige Editoren können mehrere Ordner öffnen.

Es ist mir persönlich egal, ob diese Funktion im Produkt landet oder nicht - ich verstehe, warum manche Leute sie wollen, aber ich möchte darauf hinweisen, dass dadurch alles etwas komplizierter wird. Zum Beispiel: Wenn ich mit einem regulären Ausdruck suche - welchen Arbeitsbereich suche ich? einer? alle?

Was ist, wenn ich einen Ordner mit einem NodeJS-Projekt habe, in dem meine Tabulatorbreite normalerweise 2 Leerzeichen betr√§gt, und einen Ordner ein Dotnet-Projekt, in dem meine Tabulatorbreite 4 Leerzeichen betr√§gt? Der Code muss die Arbeitsbereichseinstellungen f√ľr jeden Ordner kennen und den gesamten Kontext beibehalten.

Dies sind nur einige Beispiele daf√ľr, wo mehrere Arbeitsbereiche innerhalb einer einzelnen Instanz schwierig sein k√∂nnen. Ich sage nur, dass diese Funktion weitaus umfangreicher ist, als nur mehrere Pfade im Explorer anzuzeigen.

@dmccaffery nicht

Hier ist eine Tatsache, ob es Ihnen gef√§llt oder nicht, und es hat nichts mit dem zu tun, was Sie oder ich wollen. Wenn andere √§hnliche Software zu √§hnlichen Preisen (in diesem Fall kostenlos) bessere oder mehr Funktionen haben und der Entwickler diese Tatsache vernachl√§ssigt, wird diese Software zur√ľckgelassen.

Ich jedenfalls w√ľrde nicht wollen, dass dies diesem Editor passiert. Ich denke, dieser Editor hat ein sehr gutes Potenzial und kann f√ľr einige Zeit relevant bleiben, wenn die Entwickler auf die W√ľnsche / Bed√ľrfnisse seiner Benutzerbasis h√∂ren.

Nochmal; Ich argumentiere nicht daf√ľr oder dagegen - denken Sie nur daran, dass dies ein sehr neuer Editor ist, der weitaus mehr Out-of-the-Box-Kontext als seine Konkurrenten hat - geben Sie ihm etwas Zeit.

Selbst in Ihrem Beispiel mit der Integration von Chefkoch und Git - wie pflegen Sie den Kontext, zu welchem ‚Äč‚ÄčRepo Sie sich verpflichten? Die aktuelle Benutzeroberfl√§che m√ľsste sich an die st√§ndige Kontextumschaltung anpassen - dasselbe gilt f√ľr OmniSharp, das einen Server und Roslyn verwendet, um Syntaxhervorhebungen usw. f√ľr CoreCLR-Projekte bereitzustellen. Die Auswirkungen sind weitreichend und m√ľssen sehr gut durchdacht werden.

Kein Argument f√ľr die Idee, dass Features gut geplant und durchdacht sein m√ľssen. Das ist eine Selbstverst√§ndlichkeit, w√ľrde ich denken. Ich denke, alle Benutzer w√ľrden sich freuen, wenn die Antwort hier "Es steht auf der Roadmap" oder "Wir arbeiten auf dieses Ziel hin" lautet. Ich sage nur, dass ein "Nein" wahrscheinlich einige Benutzer √ľber Nacht t√∂ten w√ľrde.

In Bezug auf Kontextwechsel und Git-Repos in Chefkoch stimmte ich zu ... das ist alles wahr und alles bereits in anderen Open-Source-Editoren erreicht. Sie kennen das Tolle an Open Source, es ist offen! Schauen Sie sich den Code an, holen Sie sich Ideen, verwenden Sie sogar einen Teil davon (stellen Sie sicher, dass Sie die Lizenzierung nach Bedarf einschlie√üen). Das ist eines der gro√üartigen Dinge in Bezug auf Foss (kostenlose Open Source-Software), Zusammenarbeit und Wissensaustausch. Da dieser Editor bereits Atomcode verwendet ... w√ľrde ich denken, dass dies auch eine Selbstverst√§ndlichkeit ist.

Ich fand dies in https://github.com/Microsoft/vscode/wiki/Roadmap erwähnt

VS Code ist ein junges Produkt und es fehlen noch Funktionen und Erfahrungen, nach denen Sie fragen und die wir liefern möchten.
....
....

  • Mehrere Ordner in einem Arbeitsbereich

Ich denke, niemand sagt, dass diese Funktion einfach ist (da wir alle Entwickler sind, k√∂nnen wir erkennen, was ge√§ndert werden muss), und ich als Gast kommentiere dieses Ticket nur, um zu zeigen, wie wichtig es ist, wie wichtig es sein sollte. und wie man diese Funktion mit einigen VS Code-Br√ľdern vergleicht (Atom, Sublime zum Beispiel).

Aber da dies bereits in der Roadmap enthalten ist (jeder kann best√§tigen, dass die Wiki-Seite immer noch korrekt ist), sollten wir dar√ľber diskutieren, wie dies implementiert werden kann, anstatt nur zu sagen, wie wir es brauchen und wie wichtig es ist (wie ich wieder denke, das VS Code-Kernteam bereits wissen, wie wir es brauchen und wie wichtig diese Funktion ist).

Ich bin mit VS Code-Quellcode nicht vertraut. Kann mir jemand sagen, ob ich diese Funktion implementieren möchte. Wo soll ich zuerst suchen? Im ersten Schritt möchte ich nur mehrere Ordner öffnen und in der linken Leiste anzeigen.

@nvcnvn Es ist nicht so trivial, wie es aussehen mag, um dies zu implementieren, da viele vscode davon ausgehen, dass nur ein einziger Ordner ge√∂ffnet werden kann. Als solches muss es UX durchlaufen und wahrscheinlich viele Teile der Codebasis ber√ľhren, was m√∂glicherweise auch Auswirkungen auf die Erweiterungs-API hat.

Ich erinnere mich, als Atom herauskam, mit der gleichen Einschr√§nkung f√ľr einen einzelnen Ordner. Die Beschwerden waren auch die gleichen, insbesondere die Vergleiche mit Sublime. Als dann die Unterst√ľtzung f√ľr mehrere Ordner freigegeben wurde, waren einige Pakete (Erweiterungen) aufgrund der neuen API fehlerhaft. Andere haben nicht gebrochen, aber auch nicht unterst√ľtzt. Es dauerte einige Zeit, bis es im gesamten √Ėkosystem stabil wurde.

Wie @Tyriar sagte, wird es einige Auswirkungen auf die

Was genau wird hier argumentiert?
Ich meine, alles was ich sehe ist "keine Verbesserungen vornehmen, weil es Dinge kaputt machen könnte" ...

Hinweis:
ALLE VERBESSERUNGEN IM CODE K√ĖNNEN ETWAS BRECHEN!

Das ist der Punkt des Debuggens, Refactorings, Pre-Releases (Alpha, Beta, RC, etc ...)
Komm schon, ernst? Ich habe noch nie einen ernsthaften Programmierer getroffen, der Angst hatte, Code zu verbessern, weil er etwas kaputt machen könnte. Sei vorsichtig, ja, nimm dir Zeit und sei sicher, ja, aber sag niemals "Nein, es könnte Dinge kaputt machen" lol

@ddreggors Ich gebe nur einige Informationen zu dem Problem an. Ich sagte, was ich sagte, damit @nvcnvn nicht versucht, eine PR daf√ľr zu erstellen, da dies aufgrund der Liste der Stakeholder vom Team durchgef√ľhrt werden muss.

Wie @nvcnvn hervorhob , steht dieses Problem auf der Roadmap, was bedeutet, dass das Team es bald pr√ľfen wird. Wir sind ein relativ kleines Team, das viel zu besprechen hat, sodass einige Dinge verz√∂gert werden m√ľssen.

@ Tyriar Verstanden, ich sehe immer wieder diese Kommentare von mehreren Leuten, die anscheinend darauf

Ich kann die Sorge verstehen, dass diese PR nicht vollst√§ndig ist, aber es k√∂nnte ein guter Anfang sein ... diese √Ąnderung in einem Zweig zusammenf√ľhren und als Basis verwenden. Verwenden Sie dies, um Br√ľche zu erkennen und zu beheben.

@ddreggors Es wäre eine UX-Meetings besprochen wurde

Fair genug, Sie w√ľrden es am besten wissen. Es ist sch√∂n zu wissen, dass dies diskutiert wird. :-)

Vielen Dank f√ľr Ihre Bem√ľhungen und den Start eines sehr guten Editors.

Es scheint auch eine vergebliche Anstrengung zu sein, dieses Thema f√ľr Ihre UX-Meetings vorzuschlagen :‚Äď)

Ich habe vor√ľbergehend wieder auf Atom umgestellt, da es in Version 1.9 viel stabiler geworden ist. Es st√ľrzte fr√ľher ab, wenn eine gro√üe Datei ge√∂ffnet wurde, und das war der Hauptgrund, warum VSCode irgendwann ausgecheckt wurde. Ich freue mich wirklich darauf, mehrere Projekte in einem Fenster zu sehen - anscheinend habe ich nichts zu tun, als diesem Thread bis dahin zu folgen.

Warum konzentrieren sich Microsoft-Leute nicht darauf?

+1

+1

Ich liebe VS Code wirklich. Es ist mein Hauptredakteur geworden, aber die Schwierigkeit, in mehr als zwei Projekten gleichzeitig zu arbeiten, wird verwirrend. Bei diesen beiden offenen Fragen gibt es einen Doppelschlag: diesen und die Konfiguration der Titelleisteninformationen .

Eine dieser Funktionen w√ľrde das Problem l√∂sen (obwohl ich im Idealfall beide m√∂chte!). Es macht mir nichts aus, alles, mit dem ich arbeite, unter einem einzigen Ordner abzulegen und zu √∂ffnen - aber dann funktioniert die Git-Integration nicht und es gibt keine einfache M√∂glichkeit, nur innerhalb eines Projekts zu suchen oder Ergebnisse nach Projekt zu organisieren.

Es macht mir nichts aus, jedes Projekt in einem anderen physischen VS-Code-Fenster zu √∂ffnen und mein Betriebssystem die Instanzen verwalten zu lassen. Da in der Titelleiste jedoch zuerst der Name der ge√∂ffneten Datei und nicht eine Stammordner- / Projektkennung angezeigt wird, ist ein Wechsel nicht m√∂glich ein anderes spezifisches offenes Projekt, ohne jede aktive Instanz zu √∂ffnen und zu betrachten. Es macht etwas, das m√ľhelos sein sollte, zu einem st√§ndigen √Ąrger.

Bitte - gibt es eine M√∂glichkeit, dass das Hinzuf√ľgen einer dieser beiden Funktionen zur Priorit√§t wird? Ich habe alles versucht, was ich mir vorstellen kann, um das Problem zu umgehen. Ich habe sogar eine Stunde lang nach einer Windows-Taskleistenalternative gesucht, mit der ich Fenster aus einer Liste ausw√§hlen kann, in der m√∂glicherweise mehr Text in der Titelleiste angezeigt wird, die ich jedoch nicht finde etwas.

Wenn jemand Vorschl√§ge hat, wie mehrere offene VS Code-Projekte effektiv verwaltet werden k√∂nnen, w√ľrde ich sie gerne h√∂ren.

Wichtig in Atom ist, dass Plugins wie eslint weiterhin auf Projektebene funktionieren sollten. Wenn also Projekt A seine eigenen Eslint-Regeln hat, sollte Projekt B von diesen Regeln nicht betroffen sein und umgekehrt. Ich kann es kaum erwarten, eine solche UX im Code zu haben. Dies ist definitiv eine der derzeit gr√∂√üten Adoptionsh√ľrden.

Dies ist das einzige, was mich dazu bringt, es zu √ľbernehmen.

Ich wei√ü, dass Sie m√∂glicherweise viele andere Probleme beheben und andere Funktionen implementieren m√ľssen, aber zumindest eine grundlegende Unterst√ľtzung f√ľr den Einstieg w√§re fantastisch.

Vielen Dank f√ľr die harte Arbeit an VSCode!

+1

Bis diese Funktion implementiert ist (falls jemals), kann ich vorschlagen, dass Sie einfach die M√∂glichkeit hinzuf√ľgen, die Titelleiste so zu konfigurieren, dass der Projektname vor dem Dateinamen angezeigt wird. Auf diese Weise kann zumindest zwischen den verschiedenen vscode-Fenstern unterschieden werden, die f√ľr die verschiedenen Projekte ge√∂ffnet sind. Siehe # 1723 .

Dies ist auch f√ľr mich ein Show Stopper. Ich sehe, einige Entwickler fragen sich, warum Sie mehrere Git-Repos gleichzeitig haben. Dies geschieht mit fast jeder Sprache, die Module des dritten Teils verwendet. Schauen Sie sich einfach PHP - Composer, JS - Bower, Node - Npm, Golang usw. an. Es ist sehr √ľblich, ein Projekt zu starten, das einige Ihrer Module verwendet, und Sie m√∂chten die √Ąnderungen im Umfang des Projekts bearbeiten und festschreiben.

Gibt es zumindest Unterst√ľtzung f√ľr das Erkennen von .vscode/settings.json in verschachtelten Verzeichnissen? Wenn Sie an einem einzelnen Projekt arbeiten, gibt es m√∂glicherweise Teilb√§ume mit unterschiedlichen Einstellungen, die aus unterschiedlichen (Git-) Repositorys stammen. z.B

root/
    server/
        .vscode/
            settings.json // <== affects all files in the server/ directory
        code/
            tsconfig.json
            foo.ts
    client/
        .vscode/
            settings.json // <== affects all files in the client/ directory
        code/
            tsconfig.json
            foo.ts
    .vscode/
        settings.json // for any file not in server/ or client/

Ich w√ľrde erwarten, dass vscode die Einstellungen des n√§chstgelegenen √ľbergeordneten Verzeichnisses wie viele Konfigurationsdateien √ľbernimmt (und m√∂glicherweise zusammenf√ľhrt) ( .eslint , .gitignore , .editorconfig , tsconfig.json , 'package.json` ....).

Wenn ich also /root √∂ffne, sollte jede Datei in root/server/ so behandelt werden, als w√ľrde ich root/server/ direkt √∂ffnen. Die einfachste L√∂sung w√§re, die Suche nach Einstellungen in √ľbergeordneten Verzeichnissen zu beenden, sobald eine .vscode/settings.json -Datei gefunden wird.

Das ist wirklich nötig.

+1. Dealbreaker f√ľr mich.

Das ist wirklich nötig. +1

Es gibt eine Problemumgehung, um Ordner unter einem vscode-Arbeitsbereich zu verschachteln. Nur um einen Symbollink zum Ordner des Arbeitsbereichs zu erstellen, wie folgt: mklink /d link target

Ich stimme zu - ich denke, diese Anfrage ist eine definitive Anforderung.
Sie haben nicht immer ein Projekt in einem einzigen Ordner - Sie k√∂nnen Neben- und Geschwisterordner haben, und diese Funktion nicht zu haben, ist f√ľr mich gerade jetzt ein echter Deal Breaker - deshalb muss ich sublime verwenden.
Bitte f√ľge es hinzu!

Auf der linken Seite zeigen Sie den Ordner, in dem Sie sich als Projekt befinden. Dies k√∂nnte funktionieren, wenn Sie es dort h√§tten, wo Sie jeden Ordnerbereich (Projekt) sehen k√∂nnen, der dort ge√∂ffnet ist. Sie k√∂nnen es wie jetzt erweitern und reduzieren (jedoch f√ľr mehrere Ordnerbereiche).

Ein großartiger Editor, wenn ich nur zwischen zwei Projekten wechseln könnte. Ein echter Dealbreaker.

Hallo zusammen, ich empfehle die Git Project Manager- Erweiterung, wenn Sie in der Zwischenzeit viel zwischen Projekten wechseln. Es durchsucht ein Verzeichnis nach Verzeichnissen, die einen .git -Ordner enthalten, und ermöglicht einen schnellen Wechsel zu diesen. Ich benutze es seit einigen Wochen und es macht es auf jeden Fall einfacher.

Wenn ich Projekte wechsle, gehe ich entweder:

  1. Strg + Alt + P.
  2. Geben Sie den Projektstart ein, z. "vsc" f√ľr vscode
  3. eingeben

Oder wenn ich das Projekt in einem anderen Fenster √∂ffnen m√∂chte, dr√ľcke ich vorher Umschalt + n . Sie k√∂nnen die Erweiterung so konfigurieren, dass sie immer in einem neuen Fenster ge√∂ffnet wird, wenn dies auch Ihre Sache ist.

untitled-1

Dies ist ein Screenshot davon, wie Sie problemlos mehrere Projekte erstellen können.

@ soljohnston777 Das Problem ist, dass die Git-Integration (oder eine andere Art von VS-Code-Konfiguration) auf

Das Problem ist, dass die Git-Integration (oder eine andere Art von VS-Code-Konfiguration) auf Ordnerebene nicht unterst√ľtzt wird.

Huh wirklich? Hat VSCode die Fehler wiederholt, die Eclipse beim Arbeitsbereichskonzept gemacht hat? Das w√§re √ľberraschend, wenn man w√ľsste, dass einige Mitglieder des VSCode-Teams Teil des Eclipse-Kernteams waren.

Hat VSCode die Fehler wiederholt, die Eclipse beim Arbeitsbereichskonzept gemacht hat?

Ich kann hier nicht mit der Philosophie der Architekten sprechen, aber diese Tatsache (diese Konfiguration ist pro Instanz und nicht pro Ordner) ist der ganze Grund f√ľr dieses Problem und diese Diskussion.

Sie k√∂nnen separate VScode-Fenster f√ľr Projekte verwenden. Warum implementieren Sie es nicht so in VSCode? (Separates Fenster pro Seite Projektschaltfl√§che - verweisen Sie einfach darauf). Es w√ľrde den Aufwand ersparen, es innerhalb des Programms zu codieren, aber die Projekte werden darin gezeigt, und es w√ľrde einfach zu integrieren und zu entwickeln sein.

Git kann f√ľr jeden Ordnerbereich f√ľr mehrere Projekte unabh√§ngig platziert werden ... Ich finde, dass das Git mit VSCode verwechselt wird, daher neige ich dazu, sowieso nur die Befehlszeile zu verwenden (was anscheinend in VSCode m√∂glich sein sollte).

Ein √ľbergeordneter Ordner mit Unterordnern, die unabh√§ngige Git-Repositorys sind, ist sehr hilfreich, wenn sie alle zum selben Projekt geh√∂ren. M√∂chte dies verf√ľgbar sehen, zumindest mit einem optionalen Konfigurationsflag in den Einstellungen.

Ich m√∂chte auch mein starkes Interesse an der Unterst√ľtzung von Git f√ľr mehrere Git-Repos zum Ausdruck bringen.

+1. Dies ist eine Hauptfunktion, die verhindert, dass ich VSCode als Haupteditor verwende.

+1

+1 - Dies ist der Schl√ľssel, insbesondere f√ľr Personen, die mit Microservice- / Many-Repo-Codebasen arbeiten. (Schl√ľssel: Nicht alle auf einmal √∂ffnen, sondern zwischen ihnen wechseln und den Editor merken, welche Dateien in welchen Arbeitsbereichen ge√∂ffnet waren.)

+1
Unser Setup ist so etwas wie Kerncode in GIT-Repo, regionaler Code in einem anderen Repo und projektspezifischer Code in einem anderen Repo. Wenn Sie also an einem Projekt arbeiten, m√ľssen Sie aus allen drei (oder mehr) Repos codieren. Nicht in der Lage zu sein, ein "Projekt" mit seinen eigenen spezifischen Einstellungen zu haben und die M√∂glichkeit, mehrere Ordner aus mehreren Quellen hinzuzuf√ľgen, ist der K√∂nig eines Blockers.

@danechitoaie Woher wissen Sie, dass eine √Ąnderung, die Sie an Ihrem Kern-Repo vornehmen, niemanden kaputt macht, der sich f√ľr eine andere Region oder Projektcodebasis darauf verl√§sst? Scheint eine gef√§hrliche Art zu arbeiten; Es sollte eine separate Versionsverwaltung unter Verwendung eines Paketverwaltungssystems oder dergleichen geben.

Nicht gegen eine Implementierung von Arbeitsbereichen zu argumentieren, aber ein vollwertiges Projektsystem erhöht die Komplexität erheblich.

Stimmen Sie zu, es ist und sie sollten / k√∂nnten viel viel besser machen, aber ... es liegt au√üerhalb unserer Kontrolle √ľber "sterbliche Benutzer" oder der F√§higkeit, Entscheidungen zu treffen ...

Verstanden. Ich liebe es, wenn so etwas passiert.

b2r1ifriyaa-bnh
Wie wäre es damit?

F√ľr mich reicht ein einfacher Schaltknopf einfach nicht aus. Wenn wir nur so einfache, offene 2 Instanzen ben√∂tigen (Strg-Umschalttaste N), verwenden Sie Ihren Betriebssystem-Hotkey, um zwischen Fenstern / Arbeitsbereichen zu wechseln.
Ich mag es, etwas zu haben, das das Vergleichen von Dateien, die Projektstruktur und etwas erleichtert, das mir hilft, schnell kleinere √Ąnderungen vorzunehmen und alle Unterschiede auf demselben Bildschirm zu erstellen und beizubehalten, um die √Ąnderungen f√ľr alle Projekte, mit denen ich arbeite, r√ľckg√§ngig zu machen.

+1

+1

Art der Problemumgehung f√ľr macOS Sierra.

Eine Registerkarte pro Projekt in einem Fenster, indem Sie in den Dock-Einstellungen Prefer tabs when opening documents auf Always . Aber es wird auch das Verhalten anderer Apps beeinflussen.

+1

Das wird f√ľr mich zum Killer. Ich liebe das Programm, aber Mann, ich mag es nicht, wenn man nur ein Fenster hat ...

Ehrlich gesagt musste ich aufhören, Code zu verwenden, weil es, so sehr ich es mag, zu umständlich wurde, Fenster zu wechseln.

Wenn dies in Zukunft behoben wird, werde ich es erneut versuchen. Bis dahin ist dies ein Show-Stopper f√ľr mich und jede Person, die ich getestet habe.

+1

+1

Bitte bevorzugen Sie: +1: Reaktionen auf den urspr√ľnglichen Problemkommentar, da dies uns bei der Priorisierung hilft und keine Benachrichtigungen an alle sendet, die das Problem zur Aktualisierung anh√∂ren.

+1

Ich verwende derzeit Sublime und probiere Code aus. Es sieht gut aus und f√ľhlt sich gut an, aber die Git-Integration eines einzelnen Projekts ist ein Deal Breaker. Ich habe ein Hadoop / Oozie-Projekt und daher ein Repo mit Code und ein weiteres mit Arbeitsnotizen. In Sublime habe ich beide im selben Fenster ge√∂ffnet und kann f√ľr jedes das entsprechende Git-Repo festlegen

es wird also gut sein, hinzuzuf√ľgen

+1 Ja, kritisch in der Microservice-Welt ist es √ľblich, dass 3..4 Repos gleichzeitig ge√∂ffnet sind

Wöchentliche Erinnerung: Veröffentlichen Sie keine Kommentare mehr mit +1. Geben Sie stattdessen einen Daumen hoch bis zur ersten Ausgabe, die tatsächlich gezählt wird.

Ich weiß, dass Sie alle gut gemeint haben. Sie können also Ihren + 1-Kommentar löschen, damit er auch in diesem wichtigen historischen Datensatz keinen Platz beansprucht!

@ Jamietre Ich habe versucht ... hart:

screen shot 2016-11-18 at 6 28 16 am

Vielleicht besteht eine andere Alternative darin, dieses Problem zu beheben, aber offen zu bleiben, bis es behoben ist? Auf diese Weise wissen wir, wie wichtig das Problem ist (ich w√ľrde sagen, wir haben bereits genug +1 daf√ľr), k√∂nnen aber die Unordnung / Redundanz nicht erh√∂hen (z. B. kein Kommentieren mehr zul√§ssig).

Obwohl dies meiner Meinung nach eine selten verwendete Funktion ist, bin ich nur auf die Sperrung eines öffentlichen Projekts / Repos auf Github gestoßen.

Die Sperre kann bei Bedarf entsperrt werden, wenn dies als notwendig erachtet wird.

@daluu so funktioniert das / aspnet / ansage repo; Jedes Problem wird sofort gesperrt. Abgesehen davon sollte GitHub etwas in der Benutzeroberfl√§che tun, um die Leute zumindest zu Alternativen zu bewegen, die √ľber "+1" hinausgehen, da jetzt Reaktionen bestehen. ūüĎć

Es ist sehr hilfreich, die Multi-Fenster-Funktion insgesamt zu betrachten, wenn Sie die Dokumente von mehr als zwei Projekten betrachten.

interessante Herangehensweise an das Problem. Ich war viele Jahre ein VB / .net-Programmierer, liebte die Sprachen und Werkzeuge, war aber einige Jahre in Hadoop / Spark / Scala / Intellij / Sublime-Land unterwegs. Ich h√∂re immer noch DotNetRocks, m√∂chte auf dem Laufenden bleiben und war interessiert, von dieser Code-App zu h√∂ren. Positiv zu vermerken ist, dass es sich um einen sehr netten Editor mit einigen gut aussehenden Git-Funktionen handelt, aber das ist leider v√∂llig irrelevant. Da Git nicht f√ľr mehrere Projekte im selben Arbeitsbereich verarbeitet wird, wie es Sublime sehr elegant tut, kann ich es einfach nicht verwenden

Das passiert. Was mich am meisten √ľberrascht, ist die Reaktion hier, zuerst zu behaupten, dass dies kein notwendiges Feature ist, und dann scheint der gr√∂√üte Teil der Diskussion jetzt um "Wie k√∂nnen wir verhindern, dass Leute +1 posten?"

Ich werde Ihnen sagen, wie Sie das tun - Sie beheben ein grundlegendes Problem, das vor einem ganzen Jahr zum ersten Mal angesprochen wurde! Es hei√üt "Feedback h√∂ren". Nur weil Sie nicht pers√∂nlich von einem Problem betroffen sind, hei√üt das nicht, dass es nicht existiert. Wenn Sie nicht m√∂chten, dass eine bestimmte Gruppe von Benutzern die App verwendet, dann ist das in Ordnung, aber geben Sie uns keinen Feedback-Mechanismus. Dann bestreiten Sie unser Problem und √§rgern Sie sich dar√ľber, dass wir immer wieder danach gefragt haben.

Ich benutze wieder Sublime

Das Problem "+ 1" kann mit dem folgenden Code behoben werden: if (post_message == "+1") {add_smiley_reaction (); delete_post_message (); }}

Lieber GitHub, ich kann gemietet werden.

Ja, das wird niemals behoben, oder? Es ist weitaus einfacher, "+1" -Kommentare zu verspotten und zu ignorieren, als das Kernproblem tatsächlich anzugehen. Software wird an einen bestimmten Teil der Entwickler vermarktet, der nicht das tut, was er braucht, um produktiv zu sein ...

Lesen Sie einfach diesen Artikel. "Jede direkte Antwort auf diesen Kommentar (= mehr Meta) f√ľhrt dazu, dass ich den Benutzer blockiere." - So verwalten Sie Feedback! Stecke deine Finger in deine Ohren und sage "Ich kann dich nicht h√∂ren!"

lieber Herr

@ kryps1 dann f√ľgen die Leute "+ 1" oder "++ 1" oder "1+" oder "Sto√ü" oder "Ja, bitte. +1" hinzu. Was auch immer Sie tun w√ľrden, die Leute werden einen Weg finden, das zu umgehen. Ist nicht so einfach wie du denkst.

Stoppen Sie mit der nutzlosen Debatte √ľber +1 bitte ... Konzentrieren Sie sich auf das, was hier ben√∂tigt wird, n√§mlich mehrere Projekte im Explorer.

F√ľr das git -Problem muss es nur so aufgeteilt werden, wie es der Explorer ist (dh per cwd).

Beginnen wir keinen Flammenkrieg um das +1 Zeug. Es w√§re auf jeden Fall sch√∂n, wenn diesem Thema Vorrang einger√§umt w√ľrde.

Aber ich m√∂chte der Community mitteilen, dass PRs und Beitr√§ge willkommen sind ;-) Jemand kann den Code patchen / reparieren, wenn die Kernentwickler nicht dazu kommen. Ich habe einige meiner Projekte verbessern lassen (mit Gabeln), weil der Benutzer / Entwickler es lieber selbst macht, als auf mich zu warten, um Verbesserungen vorzunehmen, die er mir vorschlagen m√∂chte. Also, wer sich √ľber dieses Problem ge√§rgert hat und f√§hig / geschickt genug ist, bitte beheben (dann eine PR einreichen)? lol

Und zur√ľck zum Thema +1: Es ist gut, das Problem zu l√∂sen und Ihre Meinung hinzuzuf√ľgen, aber die +1 ist eine lahme Methode, wenn andere Methoden wie die Daumen hoch-Funktion verf√ľgbar sind. Betrachten Sie einen Facebook-Beitrag oder den urspr√ľnglichen Google+ Beitrag, und Benutzer / Leser f√ľgen einen + 1-Kommentar hinzu, anstatt auf "Gef√§llt mir" (oder eine der neuen Reaktionen von Facebook) oder +1 f√ľr Google+ zu klicken. Mit der Zeit ist das ein langer Kommentarthread von lahmen + 1s, in dem ich als Leser m√∂glicherweise scrolle, um interessante Kommentare anzuzeigen, aber am Ende sehe ich eine Reihe von + 1s. Dies ist, was hier geschah. Ich w√ľrde es vorziehen, diese +1 nicht zu sehen / durchzulesen, egal ob ich ein Projektentwickler oder nur ein Benutzer bin (oder dieses Projekt auf m√∂gliche Verwendung recherchiere).

In einem ähnlichen Zusammenhang ist hier eine dumme (aber gute Absicht) Verwendung eines GH-Problems, Gott sei Dank, die Leute haben jedoch nicht alle +1 darauf gesetzt: https://github.com/sinatra/sinatra/issues/920

Ich gehe davon aus, dass PRs und Beiträge willkommen sind

Nicht wirklich. Siehe diesen Kommentar vom August: https://github.com/Microsoft/vscode/issues/396#issuecomment -241806158

Anscheinend ist dieses Problem zumindest seitdem in der Roadmap enthalten , aber es wurden keine Fortschritte erzielt. Es wäre schön, eine Statusaktualisierung vom VSCode-Team zu hören.

F√ľr mich, und dies versucht, das Thema wieder in Gang zu bringen, werden mehrere Projektordner ben√∂tigt.

In Atom unterst√ľtzt es GIT, und ich verwende es nur, um festzustellen, welche Dateien √Ąnderungen aufweisen. Ich habe einen Rackspace-Server, der SSH nicht zul√§sst, also gehe ich zum manuellen Hochladen. Ich kann jedoch mehrere Projektordner in der Seitenleiste haben, und es macht es so viel einfacher, auf Code zu verweisen, den ich in einem fr√ľheren Projekt verwendet habe. Oder schalten Sie auf ein anderes Projekt um, wenn ich eine Verschnaufpause brauche.

Bei VSCode ist das Problem, das mich am Wechseln hindert, und der Mann, den ich wechseln möchte, das Fehlen mehrerer Projektordner in der Seitenleiste.

Ich denke, ich k√∂nnte einfach den Stammordner √∂ffnen, um ihn vor√ľbergehend aufzul√∂sen, aber wenn ich nur 3/20 Ordner ben√∂tige und die losen Dateien nicht sehen m√∂chte, sollte dies eine einfache Implementierung sein, oder?

Update: Das gro√üe Workbench-Update, das in K√ľrze verf√ľgbar sein wird, ist Hot Exit (Nr. 101). W√§hrend wir an Hot Exit arbeiten, haben wir dieses Problem aktiv diskutiert, um sicherzustellen, dass das Design mehrere Ordner ber√ľcksichtigt.

Dieses Problem ist derzeit die Nummer 2 in Bezug auf: +1: Reaktionen aller Probleme (Nummer 1 bei weitem als Workbench gekennzeichnet). Daher ist dies sehr wahrscheinlich die n√§chste gro√üe Arbeit f√ľr die Workbench nach dem Hot-Exit.


Ein: +1: Kommentare; Sie dienen nur dazu, die √ľber 80 Abonnenten des Problems zu √§rgern. Die Abstimmung √ľber das Thema mit einer Reaktion ist jedoch eines der m√§chtigsten Dinge, die Sie tun k√∂nnen, um das Projekt zu beeinflussen.

Denken Sie auch daran, dass wir ein relativ kleines Team sind und dass die Sauberkeit der Codebasis und die Leistung von vscode sehr wichtig sind. Daher brauchen die Dinge Zeit, um richtig zu arbeiten. Insbesondere f√ľr so etwas, das eine grundlegende √Ąnderung der bisherigen Erstellung von vscode darstellt, gibt es in dieser Ausgabe einiges an Arbeit.

+1

In der Tat wäre das eine praktische Funktion.

Ich habe von Atom gewechselt und es hat mir sehr gut gefallen, aber ich arbeite an zwei UI-Anwendungen und zwei weiteren SDKs, aber die Unf√§higkeit, schnell zwischen diesen Projekten (oder Ordnern) zu wechseln, ist ein wichtiger Mangel. Ich denke, ich sollte bis dahin zu Atom zur√ľckkehren wurde gel√∂st

Ich freue mich sehr auf dieses Feature ~~~

Ich bin ein Golang-Entwickler, der vscode verwendet. Ich hoffe, dies hat ein Gerät, danke!

Ich versuche von Sublime zu VScode zu wechseln. Und bald stellte ich fest, dass VScode, der nicht mehrere Ordner in einem "Projekt" -Konzept unterst√ľtzt, wirklich ein Problem darstellt, das mich daran hindert, dies zu tun.

Ich liebe die anderen Funktionen dieses "leichten" Editors wirklich. In der Zwischenzeit glaube ich, dass die Unterst√ľtzung mehrerer Ordner in einem "Projekt" VScode nicht "√ľbergewichtig" oder "IDE-√§hnlich" machen w√ľrde. Dies w√ľrde es Entwicklern, die andere Editoren verwenden, nur bequemer machen, den √úbergang weniger schmerzhaft zu gestalten.

Ich hoffe auf diese Verbesserung. Vielen Dank!

Auch wenn das Team die M√∂glichkeit hinzuf√ľgen kann, projektbasierte Einstellungen zu speichern, die Standardeinstellungen √ľberschreiben, ist dies gro√üartig. Der Anwendungsfall ist, wenn ich verschiedene Dolmetscher f√ľr verschiedene Projekte haben kann. In √§hnlicher Weise helfen auch unterschiedliche Registerkartengr√∂√üen usw. Bitte lassen Sie mich wissen, ob dies bereits auf irgendeine Weise erreicht werden kann.

Als Entwickler arbeiten wir immer an mehreren Projekten und haben eigene Nebenprojekte. Das Anpassen der Projekteinstellungen (Arbeitsbereichseinstellungen f√ľr vscode) bei jedem Projektwechsel ist ein gro√ües Problem.

@bajubullet Sie sollten https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig ausprobieren. Sie sind sich nicht sicher, ob es alles abdeckt, was Sie benötigen, aber es ist ein Anfang.

@ Danechitoaie danke f√ľr die Antwort. EditorConfig hilft zwar nicht, ich kann Eigenschaften pro Dateityp angeben, aber wenn ich sie als Projekteinstellungen speichern kann, wird es einfacher und ich mag es nicht, .editorconfig f√ľr jedes Projekt zu haben. Auch bei Erweiterungen wie der Python-Erweiterung, mit der wir den zu verwendenden Interpreter bereitstellen, hilft dies nicht, da python.pythonPath nicht √ľber editorconfig unterst√ľtzt wird. Bitte lassen Sie mich wissen, wenn mir hier etwas fehlt. Anregungen sind herzlich willkommen.

Ich stimme zu, ich freue mich auch sehr auf projektspezifische Einstellungen und darauf, mehrere "Root" -Ordner öffnen zu können. Es sind die einzigen Dinge, die ich von Sublime vermisse.

Dies wird bald implementiert!

Sie m√ľssen diesen Beitrag also nicht st√§ndig erg√§nzen. Wenn Sie andere Probleme haben, erstellen Sie einen neuen Thread. Vielen Dank!

Dies ist ein ziemlich langer Thread, und ich habe vielleicht ein Drittel davon durchgelesen, m√∂chte aber nur meine Unterst√ľtzung aussprechen. Ich habe gerade VS Code mit https://github.com/JuliaEditorSupport/julia-vscode als m√∂glichen Ersatz f√ľr Atom / Juno installiert. Es ist wundersch√∂n! ūüėć

Bei der Entwicklung von Julia-Code halte ich es jedoch f√ľr ziemlich wichtig, mehrere Pakete in verschiedenen Ordnern √∂ffnen zu k√∂nnen. Im Prinzip k√∂nnte ich den Ordner oben √∂ffnen, aber das w√ľrde die Hunderte von Julia-Paketen offenlegen, die ich installiert habe. Ich k√∂nnte auch mein LOAD_PATH √§ndern, aber ich w√ľrde eine VS-Code-L√∂sung sehr bevorzugen.

Ich hoffe aufrichtig, mehrere Ordner √∂ffnen zu k√∂nnen. Vielen Dank f√ľr die Bem√ľhungen ūüĎć

Hallo allerseits, wie Sie vielleicht bemerkt haben, untersuchen wir die Implementierung dieses Problems während dieser Iteration.

Von https://github.com/Microsoft/vscode/issues/17608

Untersuchen Sie Multi-Root-Arbeitsbereiche in den verschiedenen Komponenten @team

Ich m√∂chte mit 3-5 von Ihnen √ľber Ihre Anwendungsf√§lle sprechen, w√§hrend wir die Implementierungsdetails durchdenken. Bitte melden Sie sich f√ľr ein 15 - min√ľtigen Zeitfenster am n√§chsten Dienstag , wenn Sie k√∂nnen. Ich w√ľrde gerne plaudern.

Das Wechseln zwischen meiner API und UI macht mich verr√ľckt ... :-(

@ehartford Gibt es einen Grund, warum sie keinen gemeinsamen Elternteil haben?

Ja. Die Git-Integration funktioniert nicht, wenn ich nur das √ľbergeordnete Verzeichnis √∂ffne.

@ehartford guter Grund: Lächeln:

@waderyan suchen Sie nur _end user_ Anwendungsfälle oder _extension Entwickler_ auch?

Als Endbenutzer war die Unterst√ľtzung f√ľr mehrere Ordner meistens f√ľr Suchzwecke n√ľtzlich. Ich habe Projekte erstellt, in denen verschiedene Ordner aus verschiedenen APIs hinzugef√ľgt wurden, um die Suche zu vereinfachen (einheitlich). Ich w√ľrde sagen, ich vermisse heute nicht so viel und st√∂re mich nicht, heute mehrere VSCode-Fenster zu haben, insbesondere nachdem der Befehl Switch Window hinzugef√ľgt wurde: +1:

Als _Erweiterungsentwickler_ habe ich einige Erweiterungen, die auf _Project Context_ basieren, wie context.workspaceState , activationEvents/workspaceContains . Und auch Project Manager , der √ľbrigens bereits damit begonnen hat, die Interna so umzugestalten, dass sie mehrere Ordner unterst√ľtzen. Ich w√ľrde gerne wissen, wie sich dies auf die Erweiterungen auswirkt

Vielen Dank

Um das oben Gesagte zu erg√§nzen (https://github.com/Microsoft/vscode/issues/396#issuecomment-270326917), verwende ich tats√§chlich Git-Submodule. Wenn ich also an meinen eigenen (privaten) Paketen arbeite, ist dies der Fall Es macht durchaus Sinn, sie zu b√ľndeln, aber da Julia noch relativ jung ist (relativ gesehen), muss ich oft neben meinen eigenen an anderen Paketen arbeiten. Ich sehe keinen zwingenden Grund, diese anderen Pakete als Submodule hinzuzuf√ľgen (obwohl ich k√∂nnte).

Im Allgemeinen h√ľpfe ich bei der Entwicklung von Julia-Paketen st√§ndig √ľber Pakete, sodass es gro√üartig w√§re, mehrere Projektordner zu haben: +1:

PS: MS, bitte schenke Julia mehr Aufmerksamkeit;)

Einfachster Anwendungsfall: Microservices

Haha. Ja @saada ūüĎć Es waren tats√§chlich Microservices, die uns zu VS Code gebracht haben. Wir verwenden Azure Service Fabric und mein Partner hat die ersten Microservices in .NET und Rust erstellt. Ich arbeite an den Julia Microservices. Mein Partner ist ein VS-Typ und mochte VS Code for Rust. Er schlug vor, VS Code f√ľr Julia auszuprobieren. Vielen Dank!

@saada definitiv auf dem Radar. K√∂nnen Sie diese Fragen beantworten, damit ich die Anforderungen besser erf√ľllen kann?

  1. Teilen Ihre Mikrodienste einen √ľbergeordneten Ordner? Warum oder warum nicht?
  2. Ist jeder Microservice in ein eigenes Git-Repository unterteilt? Warum oder warum nicht?
  1. Ist jeder Microservice in ein eigenes Git-Repository unterteilt? Warum oder warum nicht?

@waderyan Ein möglicher Grund ist, dass einige beliebte PaaS-Plattformen wie Heroku erfordern, dass sich jede App (Microservice) in einem separaten Git-Repo befindet. Deploy-via-Git-Push ist zu einer beliebten Strategie geworden.

@waderyan Ich Bezug auf solche Anwendungsfälle ist unser ähnlich.

Wir sind eine gro√üe Organisation, haben eine private npm-Registrierung und ver√∂ffentlichen unsere eigenen Module, die innerhalb der Organisation gemeinsam genutzt werden. Wir haben eine Reaktions-App mit einer Client-Codebasis, bei der es sich um eine gro√üe App handelt, die einige g√§ngige Module verwendet (z. B. Dienstprogrammbibliotheken, gemeinsam genutzte Komponenten), und eine Server-Codebasis, die ebenfalls aus mehreren Modulen besteht (Express-Server-App, Backend-Datendienstkomponenten, die von der Service-Schicht und die tats√§chlichen Services, die dem Client zur Verf√ľgung gestellt werden). Die aktive Entwicklung umfasst mindestens zwei (Client- und Serviceschicht), die Fehlerbehebung kann jedoch leicht ein halbes Dutzend Module umfassen.

Selbst wenn √∂ffentliche npm-Module verwendet werden, ist es gelegentlich n√ľtzlich, den Quellcode direkt zu verkn√ľpfen und in einer separaten VS-Code-Instanz zu √∂ffnen, um ein schwieriges Problem oder sogar einen Fehler in einem Modul eines Drittanbieters zu beheben. Meistens handelt es sich jedoch um unseren eigenen Code.

Jedes sind separate Git-Repos. Es ist kein Problem, sie in meinem Dateisystem unter einem einzigen Stammordner zu halten (ich w√ľrde es sowieso tun). Ich muss jedoch f√ľr jede Instanz eine separate Instanz von VS Code √∂ffnen, und das Hin- und Herwechseln ist schmerzhaft, da nur der Dateiname angezeigt wird - nicht der Name der Anwendung selbst. Es gibt keine M√∂glichkeit herauszufinden, welche Anwendung / welches Modul / welches Projekt in welchem ‚Äč‚ÄčFenster ge√∂ffnet ist. Der Dateiname selbst liefert nur sehr wenige n√ľtzliche Informationen zur Unterscheidung zwischen mehreren VS-Code-Instanzen.

Es gibt ein weiteres offenes Problem im Zusammenhang mit der Konfigurierbarkeit der Titelleisteninformationen, das ich ebenfalls viel kommentiert habe - und das auch ungel√∂st bleibt. Wenn es m√∂glich w√§re, den Namen des Stammordners in der Titelleiste linksb√ľndig zu lassen, w√§re das Problem, dass mehrere Projekte ge√∂ffnet sind, weitaus weniger problematisch, da ich beim Wechseln von Aufgaben zumindest sehen konnte, welche offene Instanz welche in Windows war. Dies scheint wirklich trivial zu sein, um konfigurierbar zu machen, und w√ľrde zumindest den Schmerz lindern, nicht in der Lage zu sein, mehrere Git-Repos in einer einzigen Instanz zu √∂ffnen, w√§hrend dies herausgefunden wird ...

@ Waderyan

  1. Meine Webprojekte werden von einem einzigen √ľbergeordneten Ordner verwaltet. Es ist auf diese Weise f√ľr die Organisation eingerichtet und enth√§lt schnelle Links f√ľr meine Repository-Ordner. Ich mache das auch, da es f√ľr mich einfach ist, in ein vorheriges / aktuelles Projekt zu wechseln, um Codebeispiele abzurufen, wenn sie wiederverwendet werden sollen. Im Gegensatz zum √Ėffnen eines anderen Fensters ist es einfacher, einen anderen Tab zu √∂ffnen, und in meinem Fall zeiteffizienter.

  2. Jedes Webprojekt hat seine eigene Git-Integration. F√ľr mich pers√∂nlich ist es jedoch nicht erforderlich, dass .git in meinen Code-Editor integriert wird. Es ist eine sch√∂ne Option f√ľr mich, aber keine Voraussetzung. Sie haben ihre eigene .git-Integration, weil sie jedes Webprojekt in meinem Repo-Host getrennt halten m√∂chten.

@nickmak @jamietre @pesho Danke, dass du deine Gedanken geteilt hast. Dies ist hilfreich und ich freue mich darauf, morgen mit vielen von Ihnen mehr zu chatten.

@alefragnani Ich konzentriere mich auf das Endbenutzerszenario. Wir haben dieses Problem aufgrund der Auswirkungen auf Erweiterungen vorsichtig angegangen. Wir werden vorsichtig vorgehen und alle API-√Ąnderungen mitteilen. Pingen Sie mich auf Twitter an, wenn Sie m√∂chten, und wir k√∂nnen einen Anruf t√§tigen, um weitere Informationen zu erhalten.

Sogar Notepad ++ unterst√ľtzt mehrere Ordner. Aus diesem Grund kann Notepad ++ nicht verlassen werden.
An diesem Tag muss die Arbeit mit Javascript mehrere Projekte öffnen.

Ich arbeite mit eingebetteter Software und normalerweise arbeite ich systemweit an einigen Ordnern. Zum Beispiel Anwendungscode, Herstellerbibliothek und Betriebssystemcode.

Ich m√∂chte hier meinen Anwendungsfall f√ľr mehrere Ordner im selben Fenster hinzuf√ľgen.

Ich bin ein Spieleentwickler und f√ľr unser aktuelles Spiel haben wir Mod-Unterst√ľtzung implementiert. Unser Spiel hat Client-, Server- und Master-Server-Projekte. W√§hrend der Bearbeitung der Mod-Dateien wird h√§ufig nur auf der Mod-Ebene des Spiels gearbeitet (anstelle der Kern- oder Native-Ebene des eigentlichen Spielcodes, z. B. nur in den Lua-Dateien anstelle von C ++ - und C # -Dateien f√ľr Server und Client jeweils). Die Ordner befinden sich h√§ufig nicht in einem gemeinsamen √ľbergeordneten Ordner.

In diesem Anwendungsfall haben wir in der Vergangenheit, wenn wir nur innerhalb der Mod-Dateien arbeiten, die Multifolder-Funktionalität von Sublime verwendet, um eine Projektansicht nur der Mod-Ordner der obersten Ebene von Client und Server zu erstellen. Dies ermöglicht es uns, die nativen Dateien (C # und C ++) zu vermeiden und Lua-Dateien in diesen beiden Projekten, die sehr eng miteinander verbunden sind, schnell zu bearbeiten.

Die Unterst√ľtzung mehrerer Ordner in VSCode w√ľrde es uns erm√∂glichen, dasselbe zu tun und die Einf√ľhrung von VSCode (das wir sehr lieben) erheblich zu vereinfachen.

Was kam aus dem Anruf, der letzte Woche stattfand? Ich bin auf einem Mac und kann nicht mehrere Instanzen von VSCode öffnen, was meiner Meinung nach eine Problemumgehung wäre.

Vielen Dank!

Ich hatte letzte Woche einen Anruf bei Wade, es ist offensichtlich und fair, dass dies kein war
fr√ľhe Priorit√§t, sie haben einen wirklich guten Editor gebaut, und jetzt hoffentlich
Sie erweitern es, um den unterschiedlichen Anforderungen der Entwickler gerecht zu werden. Das Entwicklerteam ist
Ich freue mich darauf zu sehen, wie sie vorgehen

Am Sonntag, den 15. Januar 2017 um 21:20 Uhr nowherenearithaca, [email protected]
schrieb:

Was kam aus dem Anruf, der letzte Woche stattfand? Ich bin auf Mac und kann nicht scheinen
mehrere Instanzen von VSCode zu √∂ffnen, was ich f√ľr eine Problemumgehung hielt.

Vielen Dank!

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/Microsoft/vscode/issues/396#issuecomment-272724576 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AA16yEIdTFJAnqXHLs_WUvrGBIR9G7f-ks5rSo2DgaJpZM4Gm3nX
.

auf große Anfrage
Kennzeichen

@nowherenearithaca Ich hatte tolle Anrufe mit einer Reihe von Benutzern und teilte das, was ich gelernt habe, mit dem Rest des Teams. Wir √ľberlegen uns noch die n√§chsten Schritte, aber ich w√ľrde erwarten, dass wir bald etwas in diesem Bereich unternehmen werden.

@ Waderyan , Entschuldigung f√ľr die sp√§te Antwort:

Teilen Ihre Mikrodienste einen √ľbergeordneten Ordner? Warum oder warum nicht?

Ja, der Einfachheit halber. Dies erleichtert das Auffinden verwandter Dienste, wenn sie sich im selben Verzeichnis befinden.

Ist jeder Microservice in ein eigenes Git-Repository unterteilt? Warum oder warum nicht?

Ja. Sie haben nicht nur unterschiedliche Repos, sondern auch unterschiedliche Flusen- und Debugging-Konfigurationen. Die Verwendung von Cmd + P zum Wechseln von Dateien zwischen Projekten ist au√üerdem sehr n√ľtzlich. Globale Suche √ľber verwandte Projekte hinweg, ...

Ich freue mich darauf, dies in Aktion zu sehen!

Eine Lösung wäre, einen Link zu dem Ordner zu erstellen, in dem sich die Dateien befinden, auf die Sie zugreifen möchten.
Es ist nicht ideal, aber es kann helfen.

_Beispiel:_

/home/myprojet
/home/mylibs
cd /home/myproject
ln -s /home/mylibs
code /home/myprojet

Ich habe 3 Monitore und m√∂chte VSCode f√ľr alle drei verwenden. Wenn ich nicht mehrere Instanzen √∂ffnen kann, unterst√ľtzen Sie zumindest das Abdocken der Registerkarten und das Ziehen in andere Fenster (√§hnlich wie in Visual Studio 2015).

Zustimmen.

Alle anderen Texteditoren machen das. Warum hat Microsoft nicht an etwas so Einfaches und Notwendiges gedacht?

@calloncampbell Diese Funktion ist in dieser Ausgabe enthalten: https://github.com/Microsoft/vscode/issues/2686

@calloncampbell @rsyring Ich weiß nicht, was ich falsch mache, aber mit code -n kann ich so viele Editorinstanzen öffnen, wie ich möchte.

Wenn ich das richtig verstehe, wird dies im Iterationsplan vom "Erste Untersuchung zur Implementierung von 'Multi-Root-Arbeitsbereichen', 'Multi-Ordner'-Arbeitsbereichen" untersucht :)

+1 ...
Ist das nicht mit einer alten Version von VSCode möglich oder habe ich nur Sublime verwendet? vergessen...
aber sehr praktisch.
Jetzt ist mein Mac √ľberall mit 6 Fenstern √ľbers√§t ...

Und nein, ich werde den Stammordner aller 6 Ordner, die ich ge√∂ffnet habe, nicht √∂ffnen, da der Explorer eine vertikale Schriftrolle ist und ich ewig brauchen w√ľrde, um die Dateien zu durchsuchen ...

@edmundtfy es ist in erhaben m√∂glich. Visual Studio Code hat diese Funktionalit√§t nie unterst√ľtzt.

@ min20 L√∂sung ist einfach perfekt !!! Multi-Ordner-Projekt, es w√ľrde stattdessen Multi-Windows √ľber Schaltfl√§chen verwaltet

@DeeJaVu in Anbetracht dessen , dass ... VSCode diese Mouseover-QuickInfo und Steuerung + Klick hat, um zur Definition zu gelangen. Ich habe einige Erweiterungen f√ľr Sublime heruntergeladen, aber das Mouseover- und Control + Click-Material funktioniert nicht so gut. Irgendwelche Empfehlungen?

Ich vermisse das wirklich, nachdem ich Sublime jahrelang benutzt habe. Im Moment arbeite ich mit Intershop (als Front-End) mit Hunderttausenden Dateien pro Kartusche. Wenn ich einen vollst√§ndigen Webshop laden muss, ist es sehr langsam, wenn Sie STRG + P √∂ffnen m√∂chten, um schnell zu einer Datei zu wechseln, oder wenn Sie suchen m√ľssen.

Außerdem möchte ich einfach nicht jeden Ordner eines Projekts in meinem Editor haben. Als Front-End-Entwickler brauche ich nicht alles. Nur die Ordner, die ich brauche, sind genug.

Ein weiteres Beispiel: Erstellen einer Wordpress-Site und gleichzeitiger Plugins daf√ľr. Warum sollte ich eine vollst√§ndige Wordpress-Site hinzuf√ľgen m√ľssen? Es verlangsamt nur Ihre Effizienz.

Ein weiteres Problem, das wir haben: Unser Front-End-Framework ist in verschiedene Git-Repos aufgeteilt. Mehr als 4 geöffnete Fenster zu haben, ist ein echtes Problem. Und SCSS Intellisense funktioniert dann nicht (IE. Variablen aus core> package)

TLDR; VScode ist f√ľr gro√üe / gro√üe Projekte unbrauchbar

+1, stellen wir uns vor, Sie entwickeln ein WordPress oder ein Drupal mit mehreren benutzerdefinierten Modulen.

Ihr Projektstamm ist der Stamm Ihrer Website, aber Sie möchten nicht, dass die gesamte Website ein Repo ist, sondern nur, dass Ihre verschiedenen Module oder Themen jeweils als eigenständiges Repo fungieren.

Sehr häufiger Anwendungsfall in der Webentwicklung, der auch von der kleinsten / leichtesten IDE abgedeckt werden sollte.

+1

+1 w√ľrde es mir erm√∂glichen, ein Projekt zu bearbeiten und nahtlos an seinen Submodulen zu arbeiten

+1

Dies ist das einzige Problem, das uns davon abhält, unser gesamtes 32-köpfiges Entwicklerteam auf VS zu migrieren.

Die Entwicklung von Mikrodiensten ist einfach nicht machbar, es ist schmerzhaft.

+1

+1, definitiv n√ľtzlich, ich entscheide mich, von sublime zu vscode zu wechseln, aber da diese Funktion fehlt, denke ich, dass ich sublime noch bis zu einem Tag verwenden w√ľrde.

Es ist eine sehr notwendige und grundlegende Funktion. Ich kann nicht glauben, warum Entwickler dieses großartigen Editors es ignoriert haben. Ohne diese Funktion ist es nutzlos. Dies hindert mich daran, von Atom zu VSCode zu wechseln.

Bitte f√ľgen Sie diese Funktion hinzu. Nach der Verwendung von Sublime und dann Atom ist dies f√ľr mich eine notwendige Funktion eines Editors. Nat√ľrlich ist es wegen der Git-Integration nicht so einfach, aber es ist etwas, das ich in meinem Lieblingseditor brauche.

+1

+1 dringender Bedarf

+1 Wie bereits gesagt, benötigen wir diese Funktion wirklich, um von Atom zu VSCode zu wechseln.

ACHTUNG VOR KOMMENTAR
* BITTE !!!! Stoppen Sie den Kommentar mit einem "+1"

Jeder Ihrer nutzlosen Kommentare lenkt nur mit diesem Thread mehr als hundert Menschen ab !!!
Wenn Sie diese Funktion unterst√ľtzen m√∂chten, hat sie Emotionen in der ersten Nachricht!
Wenn Sie Updates abonnieren möchten, klicken Sie auf die Schaltfläche "Abonnieren" rechts neben den Themen
Respektieren Sie die anderen Mitglieder, die gezwungen sind, Ihre "+1", "wirklich gebraucht" usw. Zu lesen

Als Referenz ist die Art und Weise, wie Sublime Text (als Beispiel) seine Projekte anordnet, das "Einschließen" von Ordnerbäumen mit eindeutigen Optionen pro "Ordner", die in Ihrem Projekt enthalten sind.

Um dies zu veranschaulichen, sieht der JSON einer Sublime Text-Projektdatei folgendermaßen aus:

{
    "folders":
    [
        {
            "name": "Front-End (web-forms)",
            "path": "source/www/forms",
            "file_exclude_patterns":
            [
                "*.sublime-*",
                ".gitignore"
            ],
            "folder_exclude_patterns":
            [
                "node_modules",
                ".idea",
                "bin",
                "fonts"
            ]
        },
        {
            "name": "CORE C# Server Components",
            "path": "Source/Server",
            "file_exclude_patterns":
            [
                ".gitignore",
                "*.resx",
                "*.designer.cs",
                "*.StyleCop",
                "*.testsettings",
                "*.cache",
                "*.user",
                "*.vsmdi"
            ],
            "folder_exclude_patterns":
            [
                "bin",
                "obj",
                "TestResults",
                "Service References"
            ]
        },
        {
            "name": "DB schemas & utility scripts",
            "path": "Source/Database"
        },
        {
            "name": "Grunt Build source",
            "path": "Build",
            "folder_exclude_patterns":
            [
                "dist",
                "node_modules",
                "TestResults"
            ]
        }
    ],
}

Wie Sie sehen k√∂nnen, ist jeder enthaltene Ordner relativ zum Projektpfad (im Fall von erhabenem Text ist dies der Pfad der Datei *.sublime-project ). Au√üerdem verf√ľgt jeder Ordner √ľber einen Abschnitt zum Ausschlie√üen von Datei- und Ordnermustern mit Platzhaltern. Hervorragend geeignet, um Testergebnisse, Bibliotheken, die Sie nicht bearbeiten sollten, Grafiken und viele andere Dinge zu ignorieren (wie oben zu sehen).

Dies ist der letzte Grund, warum ich nicht gewechselt habe.

Es ist sehr n√ľtzlich!

+1
Beispiel: Sie m√ľssen √ľberpr√ľfen, ob einige Funktionen in anderen Modulen, auf die die App verweist, noch nicht implementiert sind, damit ich keine Funktionen dupliziere

Offensichtlich werden die Module an anderer Stelle im Dateipfad gespeichert, nicht in der App selbst, und die Verwendung mehrerer Fenster ist mit nur einem Bildschirm schwierig, wenn Sie nur schnell auf eine Datei zugreifen und den Code lesen möchten
Ich spreche von AngularJS-Apps, die keine Bereitstellung oder ähnliches benötigen, sondern nur einen laufenden Server.
Warum sollte ich mich die M√ľhe machen, eine andere Dateistruktur zu entwickeln, wenn ich den App-Ordner direkt von Tomcat aus √∂ffnen und meine √Ąnderungen in Echtzeit wirksam werden lassen kann?

Und nein, es gibt keinen √ľbergeordneten Ordner, es sei denn, Sie schlagen vor, den Tomcat-Serverordner als Projekt zu √∂ffnen (was so ist, als w√ľrde ich meine gesamte Festplatte als Projekt √∂ffnen, da ich dann alle Dateien √∂ffnen kann).

Wow, ich habe atom deinstalliert, um VS auszuprobieren, und diese Funktion wurde seit 2015 nicht mehr hinzugef√ľgt.

stoffeastrom hat diese Ausgabe am 21. November 2015 eröffnet

Das ist deprimierend. :enttäuscht:

PS: Das √Ėffnen des Hauptordners ist nicht gerade eine L√∂sung, da es auch alle unerw√ľnschten Dateien √∂ffnet und den gesamten Zweck dieses Tickets √ľbertrifft.

Das ist in der Tat deprimierend. Aber andererseits nicht so deprimierend wie die Leute, die sich immer noch √ľber einen erstaunlichen, kostenlosen OpenSource- Editor beschweren (der jeden Monat eine Handvoll neuer Funktionen hinzuf√ľgt). Noch so deprimierend wie das Spammen aller, die diesen Thread mit Kommentaren zur eigenen Depression ansehen.

(Jetzt bin ich einer der Spammer, denke ich: grinsen :)

Update: Der aktuelle Plan sieht vor, dies in den Iterationen März / April zu untersuchen.

Den Iterationsplan f√ľr M√§rz finden Sie unter https://github.com/Microsoft/vscode/issues/21923 :

Untersuchen Sie Arbeitsbereiche mit mehreren Stammverzeichnissen @bpasero @Tyriar

+1

So teilen Sie ein Beispiel aus der Praxis, in dem die Funktionsbeschreibung verfeinert wird: Beispiel: WordPress Theme / Plugin dev.

In anderen Editoren habe ich mehrere Ordner als "Lesezeichen" eingerichtet, um zu einem ziemlich gro√üen und komplexen Dateibaum zu gelangen, der etwas einfacher zu verwalten ist. Eine davon ist die Webroot, die die Wurzel ist. Ich w√ľrde es vorziehen, wenn eine Debug- und Code-Vervollst√§ndigungsfunktion nachschlagen w√ľrde (die Umgebung). An zweiter Stelle steht das eigentliche Projekt, ein Themenordner oder ein Plugin-Ordner, der in meinem Workflow das Stammverzeichnis der Versionskontrolle ist. Gelegentlich richte ich zus√§tzliche Ordner als Referenz ein, z. B. ein √ľbergeordnetes Thema oder ein Vorlagenthema oder ein Plugin, in das ich integriere und das ich h√§ufig referenzieren / lesen muss.

Das hier festgelegte Feature ist also: 1. die M√∂glichkeit, das Git-Stammverzeichnis und das Suchstammverzeichnis an verschiedenen Orten festzulegen. 2. Ein Ordner-Lesezeichen-System, das rein visuell ist, um das Dateibaumfenster zu entschl√ľsseln.

F√ľr einige im Thread, in dem das Git-Stammverzeichnis und das Projektstammverzeichnis identisch sind, scheint es ausreichend zu sein, Submodule zu lernen und zu verwenden, und dann ist es nur etwa 2., um eine sch√∂ne, weniger √ľberf√ľllte Ansicht eines verschachtelten Ordners zu erhalten.

Ich bin mir sicher, dass einige im Thread tats√§chlich nach buchst√§blicher Unterst√ľtzung f√ľr mehrere Projekte fragen, aber ich w√ľrde annehmen, dass die meisten nur nach der einfacheren Idee f√ľr das Lesezeichen von Ordnern fragen.

Ich frage au√üerdem nach einer M√∂glichkeit, eine als Projektstamm (Suche / Debug) und eine andere als Git-Wurzel zu definieren. (F√ľhlen Sie sich frei, meine schlechte Benennung der Dinge zu ignorieren.)

Meine Problemumgehung besteht darin, einfach einen √ľbergeordneten Ordner zu erstellen und darin die symbolischen Links zu allen gew√ľnschten Projekten zu erstellen.
_z.B._

Ich habe diese Projekte

1. my-app-api
2. my-app-client

Ich erstelle einen Ordner mit dem Namen _my-app-all_ (der Name spielt hier keine Rolle) und erstelle zwei symbolische Links, die auf meine App-API und meinen App-Client verweisen. In VSCode muss ich nur öffnen. alle

Schritte

  1. mkdir my-app-all
  2. cd my-app-all
  3. ls -s ../my-app-api
  4. ls -s ../my-app-client

Anmerkungen:
Die Git-Integration funktioniert nicht

@DannyFeliz Dies sollte als Antwort auf dieses Problem markiert und oben veröffentlicht werden, damit jeder es sehen kann ... Ich habe dies auch unter Windows mit dem Befehl MKLINK getestet.
Anwendungsbeispiel:

  1. √Ėffnen Sie die Eingabeaufforderung mit Administratorrechten
  2. Gehen Sie zu Ihrem Projektordner
    3. [optional] Erstellen Sie einen Linkordner
  3. Verwenden Sie MKLINK / D "Linkname" "Pfad zu Ordner, auf den Sie verweisen möchten"

Wenn Sie das Projekt in VS-Code öffnen, werden der Ordner, auf den verwiesen wird, und alle darin enthaltenen Dateien / Ordner angezeigt.

Viel Spaß beim Codieren!

Dadurch kann die Git-Integration nicht funktionieren.

Am Montag, den 20. M√§rz 2017 um 14:42 Uhr, poparazvandragos [email protected]
schrieb:

@DannyFeliz https://github.com/DannyFeliz Dies sollte als markiert werden
Antwort auf dieses Problem und oben f√ľr alle sichtbar gepostet ... Ich habe getestet
Dies auch unter Windows mit dem Befehl MKLINK.
Anwendungsbeispiel:

  1. √Ėffnen Sie die Eingabeaufforderung mit Administratorrechten
  2. Gehen Sie zu Ihrem Projektordner
    3. [optional] Erstellen Sie einen Linkordner
  3. Verwenden Sie MKLINK / D "Linkname" "Pfad zu Ordner, auf den Sie verweisen möchten"

Wenn Sie das Projekt in VS-Code öffnen, wird der Ordner angezeigt, auf den verwiesen wird
und alle Dateien / Ordner darin.

Viel Spaß beim Codieren!

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/Microsoft/vscode/issues/396#issuecomment-287907310 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/ABEOBVKz2bqFsRdfvyOpcFW2e_26HV5bks5rnvLWgaJpZM4Gm3nX
.

@ehartford Ich sagte eine Antwort, nicht DIE Antwort, da die meisten von uns genau nach genau dieser Sache suchten und mehrere Verzeichnisse im selben VSCode-Fenster anzeigten, die sich an verschiedenen Orten befanden.
Symbolische Links tun genau das, aber wenn Sie unter Windows arbeiten, ist dies nicht die Lösung, die Ihnen in den Sinn kommt.
Es musste 2 Jahre dauern, bis ein Linux / OSX-Entwickler kam und uns die einfachste Problemumgehung zeigte.
Ich bin froh, dass ich mich entschlossen habe, endlich meinen Kommentar zu diesem Thema abzugeben, da ich eine Problemumgehung f√ľr das habe, was ich wollte
Nach nur 12 Tagen, als ich es am meisten brauchte.

Das Problem sollte nicht fallen gelassen werden, da viel mehr getan werden kann, wenn die Entwickler sich daf√ľr entscheiden, in die Angelegenheit einzugreifen.
Aber f√ľr die meisten von uns ist das befriedigend. Ich habe nur vorgeschlagen, dies irgendwie nach oben zu verschieben, damit die Leute keine Zeit damit verschwenden, alle anderen Kommentare zu lesen, bis sie diesen Kommentar erreichen. Einige √ľbersehen es m√∂glicherweise nur aufgrund der Gr√∂√üe des Threads.

Ich werde dies nur bearbeiten, wenn ich sehe, dass Leute bereits auf meinen R√ľcken springen, weil ich herausgefunden habe, wie ich das erreichen kann, was ich wollte, und versucht habe, es anderen leichter zu machen, eine Alternative zu sehen, auch wenn sie nicht perfekt ist. √úbrigens: Sie k√∂nnen jederzeit die in VSCode integrierte Eingabeaufforderung verwenden, um Dateien in einzelnen verkn√ľpften Ordnern abzurufen / festzuschreiben / zu verschieben. Warum sollten Sie sich jedoch mit Problemumgehungen zufrieden geben?

Ohne Git-Integration ist es ein totaler Nichtstarter. Ich halte dies keineswegs f√ľr eine akzeptable L√∂sung. Ich freue mich auf eine konkrete L√∂sung. Freundliche Gr√ľ√üe.

Wenn es hilft - Google Appengine NodeJS Client ist wie folgt aufgebaut:

https://github.com/GoogleCloudPlatform/google-cloud-node

Ich w√ľrde gerne in der Lage sein, in einer solchen L√∂sung zu √∂ffnen / zu debuggen / zu arbeiten (auch wenn es sich jeweils um ein Paket handelt). Ich w√ľrde gerne Typescript-basierte Projekte / Bibliotheken in diesem Stil schreiben k√∂nnen.

Danke f√ľr die tolle Arbeit!

Ich liebe VSCode, aber es ist Mist, mehrere Projekte zu bearbeiten. Aber ich kann verstehen, warum die Funktion verschoben wurde, da dadurch mehrere Dinge wie die Quellcodeverwaltung aufgrund von Verschachtelungen usw. komplizierter werden.

Ich w√ľrde mich √ľber eine Funktion zum schnellen Wechseln des Projekts oder √ľber die M√∂glichkeit freuen, mehrere vscode-Instanzen in einem Fenster zu tabulieren.

Stimmen Sie vollst√§ndig zu, unterst√ľtzen Sie das √Ėffnen mehrerer Projektordner im selben Fenster. Diese Funktion ist sehr wichtig.

@replete Es ist keine perfekte L√∂sung f√ľr Ihr Problem. Aber probieren Sie den Projektmanager aus , das hilft mir momentan teilweise.

@dariusrosendahl Ja , heute Morgen lustig genug entdeckt! Erledigt den Job vorerst.

Die Seitenleiste hat nur 5 Symbole. Das Hinzuf√ľgen einer Seitenleiste "Projekt" w√ľrde nicht viel kosten. Aber es scheint, dass vscode-Produktbesitzer sehr pingelig sind, wie minimal es ist. Zu minimale IMO, da sie jetzt zu einer IDE wird.

@replete froh zu wissen, dass es hilfreich ist ūüėĄ

Tats√§chlich gibt es in einer experimentellen API einen so genannten _Tree Explorer Contribution_ (genau wie in einem Symbolbedienfeld - https://github.com/Microsoft/vscode/issues/15485). Damit k√∂nnte die Erweiterung der Aktivit√§tsleiste ein Symbol hinzuf√ľgen.

Ich werde meiner Erweiterung mit Ihrem Vorschlag ein Problem hinzuf√ľgen, danke ūüĎć

+1

@dmccaffery

Es ist mir persönlich egal, ob diese Funktion im Produkt landet oder nicht - ich verstehe, warum manche Leute sie wollen, aber ich möchte darauf hinweisen, dass dadurch alles etwas komplizierter wird.

Dann dominieren Sie das Gespr√§ch vielleicht nicht mit negativen Kommentaren gegen die Funktion und dar√ľber, wie VSC keine IDE ist? Ich denke, eine einzige Antwort / negative Abstimmung ist genug oder im schlimmsten Fall zwei, wenn man eine Position weiter kl√§ren muss.

Au√üerdem ist das Argument "keine IDE" umstritten. Andere Nicht-IDEs ber√ľcksichtigen dies ebenfalls.

Zum Beispiel: Wenn ich mit einem regulären Ausdruck suche - welchen Arbeitsbereich suche ich? einer? alle?

Kein so großes Problem. Entweder alle durchsuchen oder einen Selektor haben, um die Suche auf einen der offenen Arbeitsbereiche zu beschränken. Wiederum behandeln andere "Nicht-IDEs" (sowie IDEs) diesen (und andere) Fälle bereits.

Ich habe dieses Problem in meinem eigenen Setup behoben, indem ich f√ľr jeden "Arbeitsbereich" ein Verzeichnis erstellt und eine Verkn√ľpfung zu den Projekten hergestellt habe, die in diesem Arbeitsbereich angezeigt werden sollen.

das habe ich gesehen

Erste Untersuchung von Multi-Root-Arbeitsbereichen mit mehreren Ordnern # 396

Wird laut https://github.com/Microsoft/vscode/issues/21923 irgendwelche Updates dazu durchgef√ľhrt? :) :)

Wir (Teilmenge des Teams) haben eine erste Untersuchung des Arbeitsaufwands und der Herausforderungen durchgef√ľhrt, die wir sehen. Der n√§chste Schritt besteht darin, das Ergebnis mit dem Team zu besprechen und es zu planen. Wir planen f√ľr die Ver√∂ffentlichung im April in dieser Woche, daher w√ľrde ich aufgrund dieser bald erscheinenden Arbeit feink√∂rnigere Planelemente erwarten.

screen shot 2017-04-06 at 12 09 26

Wenn ich nicht zu spät zur Party komme, ist dies eine gute Möglichkeit, dies umzusetzen.
Wenn Sie zu "Explorer" gehen, haben wir bereits zwei Abschnitte. Eine f√ľr ge√∂ffnete Dateien und eine f√ľr den Explorer-Baum des aktuell ge√∂ffneten Ordners.

Im Idealfall k√∂nnten wir einfach mehr Ordner im selben Fenster √∂ffnen und sie w√ľrden hier in einem eigenen Abschnitt hinzugef√ľgt, der erweitert werden kann, um den Explorer-Baum anzuzeigen.

Das Gleiche k√∂nnte f√ľr den Bereich Quellcodeverwaltung getan werden. Ein Unterabschnitt f√ľr jeden Ordner, der im "Explorer" ge√∂ffnet wird. Also eine 1 zu 1 Beziehung.

Auf diese Weise k√∂nnen wir vielleicht alle gl√ľcklich machen. Wir unterst√ľtzen das √Ėffnen mehrerer Ordner in demselben Fenster, wenn wir m√∂chten, und auch die GIT-Integration funktioniert weiterhin und kann jeden "Projektstamm" separat behandeln.

√Ėffnen Sie mehr als ein Projekt im selben Fenster. Dies ist auch f√ľr mich eine wichtige Funktion. Normalerweise √∂ffne ich auch Projekte, um einige Basis-Apps zu kopieren. Ich installiere nur Visual Studio Code und werde aus diesem Grund zu Atom zur√ľckkehren

+1 Ich möchte anderen Entwicklern den Wert von VSCode zeigen, aber nicht zwei Ordner im selben Fenster öffnen zu können, ist ein Dealbreaker. Ich hoffe das bekommt eine höhere Priorität.

Nur meine zwei Cent:

Bisher wird das Wort "monorepo" in diesem Thread nicht angezeigt

Mein Monorepo zentralisiert Konfigurationsprobleme zwischen mehreren Roots, wobei jedes durch eine ".root" -Datei in dem Ordner gekennzeichnet ist, der sie enthält.

Nicht jeder Stamm ist ein externes Git-Repository, aber sie ermöglichen eine teilweise Überschreibung der globalen Konfiguration.

Mein Hauptschmerzpunkt ist, dass die Suche nach Dateien und / oder Symbolen den Inhalt meiner Wurzeln nicht priorisiert

Ich denke, die Anforderung kann in ~ 4 separate aufgeteilt werden, die direkt miteinander verbunden sein können oder nicht (und wahrscheinlich unabhängig implementiert werden):

  • unterst√ľtzt mehrere Ordner im Explorer
  • unterst√ľtzt mehrere Ordner bei der Suche
  • unterst√ľtzt mehrere Ordner in der Quellcodeverwaltung
  • unterst√ľtzt mehrere Ordner beim Debuggen

Nach dem, was ich in diesem Thread gesehen habe, kann das Trennen dieser Szenarien eine gr√∂√üere Anzahl von Szenarien unterst√ľtzen. Nat√ľrlich sollte es noch einen "Haupt" -Ordner geben, der sich darauf auswirkt, wie die konfigurierten / ausgew√§hlten Ordner beibehalten werden.

Ich verstehe nicht, warum die meisten Kommentare √ľber Multi-Root- oder Multi-Folder-Explorer-L√∂sungen sprechen. Eigentlich finde ich es wirklich schlecht, es auf IDE-Art zu implementieren. Es erh√∂ht die Komplexit√§t und wirkt sich sicherlich auf die Leistung aus (Ladezeit, Git-Aktualisierung ...).

Ich denke, dass diese Funktion sehr wichtig ist. Grunds√§tzlich m√ľssen alle zugeh√∂rigen Projekte visuell dargestellt und schnell zwischen den Projektfenstern gewechselt werden.

Wir haben zwei Möglichkeiten:

  • Implementierung in einem einzigen Fenster : In meinem Sinne bringt es viele andere Probleme mit sich, mehrere Projektwurzeln f√ľr Git, Suche ..... Dies ist f√ľr die UX SEHR SCHLECHT und f√ľhrt m√∂glicherweise zu Fehlern und Komplexit√§t im Editor.
  • Implementieren Sie einen visuellen Schaltmechanismus und behalten Sie ein Fenster pro Projekt : Dies ist die sicherste und bequemste Wahl zu sehr geringen Kosten! @ min20 hat ein Bild √ľber die Schaltfl√§chen von Slack zwischen Gruppen gepostet, die ich f√ľr perfekt

spack

Ich hoffe, diese Funktion wird landen, aber nicht als Multi-Root-Lösung! Einer der Hauptvorteile eines kleinen Editors ist seine Einfachheit und Geschwindigkeit, muti-root != simplicity & speed

Ich muss Ihnen √ľberhaupt nicht zustimmen @ g13013 Haben Sie die Implementierung von Sublime gesehen? Es ist sehr einfach und immer noch viel schneller als Visual Studio Code. Auch wenn alle GIT-Plugins aktiviert sind.

Wir sprechen nicht √ľber die Verwendung mehrerer Projekte in einem Editor. Wir sprechen davon, nur die Ordner eines Projekts zu verwenden, die Sie ben√∂tigen.

Ich arbeite zum Beispiel an Intershop-Shops. Es gibt eine Menge, die ich nicht brauche, nur die Patronen, die ich bearbeiten muss. 80% der Ordner und Dateien sind f√ľr mich nutzlos und machen den Editor nur viel schwerer (glauben Sie mir, es verlangsamt sich sehr).

Die Verwendung der "Schnellöffnung" in Visual Studio ist auch unbrauchbar, wenn viele doppelte Dateien vorhanden sind. Sie sind sich oft nicht sicher, ob Sie das richtige öffnen und es verlangsamt sich mit einer Menge Dateien.

Ich verstehe, aber nachdem ich in der Vergangenheit Sublime und Atom verwendet hatte, kam ich schlie√ülich zu dem Schluss, dass keine von ihnen mit "Muti-Root" -Funktion etwas anderes gel√∂st hat, als Projektdateien zu erforschen, die von Sublime, Sublime Folder Tree sprechen Gro√üe Projekte und friert sogar ein, wenn entdeckt wird, dass sublime keine sofort einsatzbereiten "git" - und "debug" -Funktionen bietet. Die Einf√ľhrung von muti-root f√ľhrt zu einer Reihe von Problemen im Zusammenhang mit der git-Integration, bei denen ohne Auswirkungen gesucht wird Leistung ... sogar UX ist betroffen, wie das Erforschen von srcoll-Problemen in gro√üen Projekten.

Seltsam, f√ľr mich ist es das Gegenteil.

Vielleicht liegt es daran, dass ich in 99% der Fälle nur das, was ich brauche, in Sublime oder Atom einbeziehe :) und genau das wollen wir.

Vielleicht verwenden Sie den Editor nur so. Ich bin es gewohnt, CMD / CTR + P zu verwenden und genau die gew√ľnschte Datei einzugeben. Dies ist nicht m√∂glich, wenn Sie das Stammverzeichnis eines Projekts mit vielen doppelten Dateien einschlie√üen m√ľssen. (Patronen / Dateien dort gelassen, um zu vergleichen, was das Original war :)) oder so etwas wie WordPress, wo es viele Dateien mit dem gleichen Namen gibt.

Hallo,
Ja, die Idee mit mehreren Ordnern ist in Ordnung, ohne viele Dinge zu beschädigen. Jeder zusätzliche Ordner kann ein neuer Unterabschnitt mit einem Präfix sein, das angibt, dass er dem primären Ordner fremd ist. Primary wird zum Debuggen und Git verwendet. Ein Benutzer kann mit der rechten Maustaste auf einen beliebigen fremden Ordner klicken und ihn zum primären Ordner machen. Was Sie gewinnen:
1) Sie können alle Ihre Ordner und Dateien anzeigen und bei Bedarf öffnen.
2) Umsiedlung dessen, woran primär gearbeitet werden soll.

Wenn jemand mehrere Projekte gleichzeitig √∂ffnen m√∂chte, sollte eine neue Problemanforderung ge√∂ffnet werden. Dies f√ľhrt zu einer erheblichen Komplexit√§t, die von zahlreichen Personen beschrieben wird. Plugins entsprechen nicht Builtins. Wenn es einen Editor gibt, der √ľber eine passende integrierte Funktion verf√ľgt, sollte darauf hingewiesen werden, damit andere Entwickler untersuchen k√∂nnen, wie ihr Workflow zu einer solchen Funktion passt. Vielen Dank. Sch√∂nen Tag.

F√ľgen Sie mich zur Liste der Benutzer hinzu, die dies als den einzigen Deal Breaker betrachten, der mich daran hindert, zu VSC zu wechseln. Ich finde die gro√üartige Implementierung von Projekten genau richtig. Wenn ich beispielsweise an der App "Volunteer Hours" arbeiten muss, √∂ffne ich das Projekt, das ich mit verschiedenen Ordnern gef√ľllt habe (den Hauptprojektordner sowie einen anderen Ordner, der Bilder enth√§lt). Das ist mein Arbeitsset f√ľr dieses Projekt. Wenn ich zur App "Exchange Calculator" wechseln muss, kann ich den gesamten Arbeitssatz gegen dieses Projekt austauschen oder ein neues Fenster mit diesem Projekt √∂ffnen.
Ein weiterer Anwendungsfall ist die Verwendung eines CMS. Wenn ich an einem Plugin f√ľr das CMS arbeite, kann ich ein Projekt f√ľr das Plugin haben, das ein Git-Repository ist, und ein anderes f√ľr das gesamte CMS, das nicht Gitified ist. Ich kann nach Bedarf zwischen den beiden wechseln und meine Git-Bedenken getrennt halten.
VSC sieht f√ľr mich wie die Zukunft aus, aber nicht ohne die M√∂glichkeit, separate Arbeitss√§tze von Ordnern zu f√ľhren.

Hallo,
Ich habe nur gesehen, dass Sublime Text Projekte mit einer Projektdatei unterst√ľtzt . Wie entspricht das dem, wonach hier gefragt wird? Es klingt wie eine Anforderung an vscode, Projektdateien in einem Arbeitsbereich zu unterst√ľtzen. Es gab fr√ľher einen Kommentar zu einer Erweiterung, die diesbez√ľgliche Dinge f√ľr einen Projektmanager behandeln k√∂nnte .

Ich verwende ehrlich gesagt auch Atom und die integrierte Funktion f√ľr mehrere Ordner, mit der ich Dokumentationsordner und meinen aktuellen Projektordner gleichzeitig √∂ffnen kann. Es scheint wirklich wie eine niedrig h√§ngende Frucht, nur Prim√§r- und eine Reihe von Sekund√§rfr√ľchten zu erm√∂glichen. Wahrscheinlich ein einfacher Pfeil oder ein Start, um die prim√§re anzuzeigen. Vielen Dank. Sch√∂nen Tag.

image

F√ľr das, was es wert ist, hier ist mein Anwendungsfall. Ich arbeite an einem Spiel, das in drei Repositories unterteilt ist. Ein Git-Repo f√ľr die Engine, ein HG-Repo f√ľr den Spielcode + Inhalt und ein HG f√ľr den Spielcode, der f√ľr viele Projekte generisch ist. Es gibt auch ein HG-Repo f√ľr die Sublime Text-Plugins des Unternehmens. Das generische Repo ist ein Subrepo zum Game-Repo.

An meinem nächsten Arbeitsplatz werde ich voraussichtlich wieder mit vielen Repositories arbeiten.

Es ist sehr praktisch, alle diese Elemente in derselben Editorinstanz zu haben, und ich denke, es wäre sinnvoll, wenn alle diese Elemente in VS Code korrektes SCM erhalten.

Ich w√ľrde erwarten, dass die Suche standardm√§√üig alle zugeordneten Ordner durchsucht. Ein sch√∂ner Bonus w√§re, vor√ľbergehend ein- und ausschalten zu k√∂nnen, nach welchen Ordnern gesucht werden soll. (Zum Beispiel, wenn ich nur daran interessiert bin, Dinge in der Spiel-Engine zu finden)

Es gibt viele Leute, die sagen, dass VS Code dies nicht unterst√ľtzen sollte, weil A) sie es nicht brauchen und B) VS Code ein einfacher Texteditor ist. Der erste Grund ist nicht gut - es gibt nur wenige Funktionen, die von jedem genutzt werden. Der zweite Grund ... VS Code ist nicht nur ein einfacher Texteditor, sondern verf√ľgt √ľber Debugging-, SCM- und Plugins. Andere "einfache Texteditoren" wie Sublime unterst√ľtzen mehrere Ordner. Und als jemand, der unerbittlich in Bezug auf die Leistung ist, kann ich nicht sehen, wie sich das Hinzuf√ľgen dieser Funktion auf die Leistung in irgendeiner sinnvollen Weise auswirkt, insbesondere f√ľr Personen, die ohnehin nur einen Ordner verwenden. K√∂nnen wir die Diskussion bitte darauf konzentrieren, wie die Funktion funktionieren soll, anstatt warum wir sie nicht wollen?

@Srekel k√∂nnen Sie einen Screenshot davon, wie Sie so arbeiten, in Ihre aktuellen Editoren aufnehmen? Es klingt wie eine Mischung aus Ordnern und Projekten, die integrierte Funktionen und Plugins verwenden. Hoffentlich w√ľrden die Leute in diesem A- Camp kaum √Ąnderungen bemerken, um diese Art von Funktion zu integrieren. F√ľr die B- Camp-Leute sind sie richtig. Mit der sofort einsatzbereiten Anwendung k√∂nnen Sie schnell arbeiten, wenn Sie nicht festsitzen m√ľssen. Wenn Sie sich daran halten, k√∂nnen Sie wahrscheinlich so schnelle Aktualisierungszyklen und √ľbersichtliche Schnittstellenelemente erzielen.

Einige Dinge, wie dies erreicht werden kann, sind:

  • Verst√§ndnis der Beziehung zwischen Umfang, Kontext, Sitzung, Ansichten und Aktualit√§t .
  • die Obergrenzen (mehr als 256 Ordner?)
  • wichtige betroffene Bereiche (Editor-Registerkarten, Einstellungen, scm, git, Erweiterungen).
  • √úberschreiben oder Konflikte bei der Einstellung des Arbeitsbereichs.

Es w√§re sch√∂n, hier einige Dinge zu besprechen, die VSCode in diesen Bereichen als selbstverst√§ndlich ansieht und die kompensiert werden m√ľssen. Vielen Dank. Sch√∂nen Tag.

+1

+1. Ich habe mehr als 30 Module mit jeweils einem eigenen Git-Repository, auf das ich in einer einzigen Umgebung zugreifen und daran arbeiten m√∂chte. Ich dachte, das machen die meisten js / node-Entwickler. Mit VSCode ist dies unm√∂glich, ein Deal Breaker f√ľr mich leider.

+1

Es ist seit 2015 geöffnet und noch nicht repariert. Es ist einfach die meistgesuchte Funktion in jedem Editor, aber leider hat vscode sie nicht.

+1

Ich verwechsle ständig ein VS-Code-Fenster mit einem anderen, wenn ich einen Befehlstab.

Jeder andere mir bekannte Editor hat dies (Atom, Sublime, Brackets ...)

Das Hinzuf√ľgen eines Symlinks zu meinem Projekt ist ein Hack und w√ľrde erfordern, dass ich meinen .gitignore aktualisiere. Das √Ėffnen des √ľbergeordneten Verzeichnisses ist √§rgerlich, da dann mein Dateibereich mit anderen Projekten √ľberflutet wird, die mir egal sind.

Iterationsplan f√ľr April mit der Aufgabe "Untersuchen von Arbeitsbereichen mit mehreren Stammverzeichnissen und mehreren Ordnern". Was sind die Ergebnisse der Untersuchung?
@bpasero @tyriar

+1

Entschuldigung, wenn ich zu eifrig bin. Ihr seid gerade damit beschäftigt, Code zu veröffentlichen.

Hallo,
Das Dialogfeld "Ordner √∂ffnen" sollte als "Offene Ordner" betrachtet werden. Wenn ich mich also unter einem bestimmten √ľbergeordneten Ordner befinde, kann ich im Dialogfeld zwei oder mehr seiner Unterordner markieren, um sie gleichzeitig zu √∂ffnen. Dies w√§re eine willkommene Erg√§nzung bei der Integration dieser Funktion. Vielen Dank. Sch√∂nen Tag.

+ noch einer

Noch nie zuvor so viele Kommentare mit geringem Aufwand in einem GitHub-Thread gesehen, insbesondere Post-Emojis. Meine G√ľte.

Ich w√ľrde diese Funktion wirklich m√∂gen. Wie bereits jemand anderes gesagt hat, sind viele moderne Projekte modular aufgebaut, z. B. Frontend in einem Repo / Projekt und Backend / API in einem anderen. Sie werden oft gemeinsam daran arbeiten wollen.

Dies ist der einzige Grund, warum ich Atom nicht aufgegeben habe.

Microservices und serverlose Plattformen, kombiniert mit dem langjährigen Mantra "Repos sind billig", sind der Grund, warum dies ein Muss ist. Es ist nicht ungewöhnlich, dass ~ 30 [kleine] Repositorys geöffnet sind und gleichzeitig an Dateien aus mehreren Projekten arbeiten. Es wird nicht funktionieren, zu erwarten, dass Benutzer zwischen so vielen Fenstern wechseln oder die Dateiansichtsanordnung in den Fenstermanager der Desktop-Umgebung verlagern.

Hallo,
Wie verwalten Sie Ihre 30 Repos jetzt @martellaj ? Es klingt schrecklich, mit so vielen ge√∂ffneten Dateien live zu arbeiten. Ich habe in der Regel viele Bibliotheken, an denen ich arbeite, aber da ich dringend daran arbeiten musste, eine n√ľtzliche Funktion f√ľr die Freigabe zur√ľck zu portieren, schlie√üe ich absichtlich alle meine anderen Bearbeitungsfenster. Ich erstelle Konfigurationsdateien und Projektoptionen f√ľr Testaktualisierungen, damit ich arbeite, und kehre dann zu meiner vorherigen Ansicht zur√ľck. Das sind vielleicht noch 3 oder 4 andere Fenster.
Tun Sie dies aufgrund anderer Einschränkungen in Ihrer Umgebung? Vielleicht hat die Programmiersprache kein Intellisense? Vielleicht hilft eine Erweiterung, die die API lesen kann, um Ihnen funktionale Signaturen zu geben?
Eine Sprache wie F # verf√ľgt √ľber eine Funktion namens Typanbieter, von denen einer genau das kann und die Programmierung des Webs erleichtert. Dies soll Ihren Bedarf an mehreren Ordnern nicht verringern, nur dass Sie wahrscheinlich immer noch mindestens eine Handvoll anderer Probleme mit einem so gro√üen aktiven Arbeitsbereich haben w√ľrden. Vielen Dank. Sch√∂nen Tag.

@ pr-yemibedu, ich denke, was @martinjco sagt, ist, dass er die Dateien nicht geöffnet hat, aber er hätte schnellen Zugriff auf die Repos, wenn wir eine Multi-Root-Struktur hätten. Stellen Sie sich vor, nur CMD + P zu jeder Datei, die Sie benötigen;)

Das Problem mit der aktuellen Situation ist, dass wir die Dateien ge√∂ffnet haben oder zumindest zwischen den 30 verschiedenen Fenstern wechseln M√úSSEN, da VScode dies nicht unterst√ľtzt.

Ich bin k√ľrzlich wegen der fehlenden Funktion wieder zu Atom gewechselt. Ich arbeite gerade an einem Projekt mit 9 Repos. Ich m√∂chte nicht, dass 9 VScode-Witwen gleichzeitig ge√∂ffnet werden, aber ich m√∂chte nur eine Verkn√ľpfung verwenden, um zu der gew√ľnschten Datei zu gelangen.

Stimmen Sie dem Kommentar von @dariusrosendahl zu. Ich bin ein Neuling-Programmierer und muss auf ältere Projekte verweisen, um neue zu schreiben. Hoffentlich wird sich das bald ändern, aber im Großen und Ganzen kann ich problemlos drei bis vier Projektordner haben und vergleichen, wenn sie in derselben Sitzung geöffnet sind
screen shot 2017-05-11 at 12 48 57 pm

Wenn wir das im Visual Studio bekommen können, wäre das großartig

Hallo,
Ich bin mit den gemachten Punkten einverstanden, da Sie sehen k√∂nnen, dass meine vorherigen Beitr√§ge diese Funktion bef√ľrworten. Es gab eine genaue Aussage, die ich von Martinjco kommentierte:

Es ist nicht ungewöhnlich, dass ~ 30 [kleine] Repositorys geöffnet sind und gleichzeitig an Dateien aus mehreren Projekten arbeiten.

Nuno1895 zeigt, wie ich Atom heute verwende, wenn ich an mehreren Ordnern arbeiten muss, aber an einem einfachen Hauptfokusprojekt. Tats√§chlich verwende ich sowohl VS2015 als auch gedit, vim, notepad und notepad ++ f√ľr die aktive Entwicklung. Es gibt St√§rken in jedem, die noch kein √Ąquivalent in ihren Gegenst√ľcken haben.

Ich habe nur versucht zu verstehen, ob es einen Kernpunkt gibt, der klargestellt werden kann. Wir alle m√∂chten, dass dies von den Entwicklern, die Zeit damit verbringen w√ľrden, bearbeitet und bevorzugt wird. Deshalb habe ich gefragt, wie das heute gehandhabt wird. 9 gegen 30 h√§tte mein Interesse wahrscheinlich nicht so sehr geweckt, aber ich m√∂chte wissen, was die Leute mit vscode vergleichen und ob es sich lohnt, mir ein anderes Tool anzuschauen.

Ich habe nur Atom und SublimeText als Vergleichsgrundlage und mit n√ľtzlichen Screenshots gesehen. Weitere Diskussionen, Daumen und R√ľckmeldungen sind willkommen, damit dies akzeptiert und umgesetzt wird. Vielen Dank. Sch√∂nen Tag.

Ein Punkt, der m√∂glicherweise nicht genug betont wurde, ist die M√∂glichkeit, schnell zwischen Ordners√§tzen (Projekten) zu "wechseln". Es hei√üt "Quick Switch Project" in Sublime. Wenn Sie auf diesen Men√ľpunkt klicken, wird ein Popup mit einer Liste aller Ihrer Projekte angezeigt. Wenn Sie eines der Projekte ausw√§hlen, zeigt der Editor die Ordner und alle ge√∂ffneten Dateien so an, wie Sie sie zuletzt verlassen haben.
Wenn ich beispielsweise in Projekt A gearbeitet habe und die Dateien app.js und index.html ge√∂ffnet und dann zu Projekt B gewechselt habe, wird Projekt A geschlossen und Projekt B angezeigt. Wenn ich dann wieder zu Projekt A wechsle, wird dies der Fall sein Zeigen Sie mir die Ordner und die Datei app.js und index.html, wie ich sie verlassen habe (auch nicht gespeicherte √Ąnderungen sind vorhanden).
Wenn beide Projekte gleichzeitig ge√∂ffnet sein m√ľssen, kann ich nur zwei Instanzen des Editors √∂ffnen.
Der Schl√ľssel ist, dass ich alle meine Sachen in getrennten Eimern aufbewahren und schnell zwischen ihnen wechseln kann.

+1

Hallo,
Ich habe √ľber diese Funktion gelesen. Projekte wechseln, ohne in Sublime Text zu surfen , zeigt einige der guten und schlechten auf. Es w√§re sch√∂n, die mehreren Ordner zu codieren, die in der Arbeitsbereichseinstellungsdatei ge√∂ffnet sind. Wenn diese Datei an der falschen Stelle zu sein scheint, kann so etwas wie folders.json erstellt werden, um den aktuellen Status der verf√ľgbaren Ordner und Dateien beizubehalten und f√ľr den aktuellen Arbeitssatz zu √∂ffnen. Vielen Dank. Sch√∂nen Tag.

Ich habe vor einigen Monaten angefangen, VSCode zu verwenden, und bin im Allgemeinen sehr zufrieden. Ich werde dem Chor meine Stimme hinzuf√ľgen und sagen, dass dieses fehlende Feature der gro√üe Kratzer f√ľr mich ist. Gibt es andere anst√§ndige Redakteure, die diese Einschr√§nkung haben? In jedem Fall sollte es behoben werden. :) :)

Hier ist das Setup f√ľr meinen neuen Job:
Ein Repo f√ľr die Kerntechnologie. Angenommen, der Pfad lautet C: / mygamengine /
Ein Repo f√ľr den Spielcode. Es ist mit C: / mygamengine / mygame synchronisiert
Ein Repo f√ľr den Inhalt des Spiels (Texturen usw.): C: / mygamengine / mygame_data

Alle drei sind Schwachköpfe. Sie sind nicht als Sub-Repos eingerichtet, sondern nur mit diesen Ordnern synchronisiert.

Am liebsten möchte ich nur den Stammordner in VS Code öffnen und automatisch herausfinden lassen, dass es sich im Wesentlichen um drei verschiedene Projekte handelt und dass Dateien unter mygame zu diesem Git-Repository gehören und nicht zu dem in mygameengine.

Ich m√∂chte in der Lage sein, Einstellungen f√ľr diesen Arbeitsbereich festzulegen, die f√ľr jedes Repository unterschiedlich sind (z. B. m√∂chte ich m√∂glicherweise einen Linter f√ľr das Engine-Projekt ausf√ľhren, jedoch nicht f√ľr den Spielcode). Es w√§re auch sch√∂n, wenn f√ľr alle drei Projekte standardm√§√üig Arbeitsbereichseinstellungen festgelegt w√ľrden.

Wow, das ist noch nicht gel√∂st? Ich hatte gehofft, Atom durch VS-Code zu ersetzen, da es laut Bewertungen viel schneller ist und nicht so lange zur√ľckbleibt wie Atom.
Mein Hauptprojekt sind zwei Git-Repos, ein Backend und ein Frontend. Lokal befinden sich beide im selben Ordner. Wenn jedoch Atom- oder VS-Code diesen √ľbergeordneten Ordner √∂ffnet, wird kein Git-Status erkannt.
In Atom f√ľge ich einfach beide Ordner zu meinem Arbeitsbereich hinzu und es funktioniert einfach.

: funkelt: Update: funkelt:

Es ist eine Weile her seit unserem letzten Update, also dachte ich, ich w√ľrde alle auf den neuesten Stand bringen. Ich selbst, @bpasero und der Rest des Teams haben die meisten Probleme bei der Implementierung von Multi-Root identifiziert und arbeiten derzeit an einigen

Warum dauert das so lange?

Es dauert so lange, weil diese Funktion nicht unsere einzige Verantwortung ist und die Arbeit, die erforderlich ist, um Multi-Root zu erm√∂glichen, immens ist. F√ľr den Anfang wurden alle Komponenten in VS Code unter der Annahme entworfen, dass immer nur ein einzelner Ordner oder kein Ordner zu einem bestimmten Zeitpunkt ge√∂ffnet ist. Wenn Sie eine so gro√üe Codebasis wie unsere mit einer solchen Annahme haben, ist viel Arbeit erforderlich, um sie flexibler zu gestalten.

Um einige Beispiele zu nennen, hier sind einige der größeren Schmerzpunkte, die wir bisher identifiziert haben:

  • Die Erweiterungs-API macht ein einzelnes workspace.rootPath verf√ľgbar. Dies ist nicht ausreichend, wenn wir Unterst√ľtzung f√ľr Ordner mit mehreren Stammverzeichnissen hinzuf√ľgen. Wir m√∂chten vermeiden, dass diese Erweiterungen besch√§digt werden, und bei Bedarf einen Migrationspfad bereitstellen.
  • Die Art und Weise, wie Arbeitsbereichseinstellungen in einer Welt mit mehreren Wurzeln interagieren, ist etwas anders. Nehmen Sie zum Beispiel workbench.statusBar.visible das derzeit in den Arbeitsbereichseinstellungen zul√§ssig ist. Wir k√∂nnten dies nicht mehr unterst√ľtzen, da dies zu einem seltsamen / fehlerhaften Verhalten f√ľhren w√ľrde, wenn es in 2 Ordnern definiert w√ľrde. Wir sind gerade dabei herauszufinden, wie wir mit solchen F√§llen umgehen sollen.
  • Der SCM-Anbieter (git) ben√∂tigt wahrscheinlich die gr√∂√üte Menge an UX-Arbeit, um mehrere Ordner zu unterst√ľtzen: M√ľssen wir das Konzept eines "aktiven Projekts" einf√ľhren? Sollte es explizit festgelegt werden (klicken Sie mit der rechten Maustaste auf den Ordner und legen Sie es fest) oder sollte es implizit festgelegt werden (siehe Ordner der aktiven Datei)? Sollte es sich um ein globales Konzept handeln oder auf dieses spezielle Merkmal beschr√§nkt sein? usw.

Wir m√∂chten uns nicht mit einer schlecht durchdachten L√∂sung beeilen, also nehmen wir uns Zeit und √ľberlegen wirklich, welche potenziellen Probleme und Auswirkungen dies auf die einzelnen Komponenten haben wird. Es wird kommen, wenn es fertig ist.

Zusammenfassung der bisherigen Kommentare

Ich habe nur ein paar Stunden damit verbracht, den riesigen Thread durchzugehen, um das bisherige Feedback zusammenzustellen. Es war ein wenig schwierig, einige dieser Dinge zu kategorisieren, aber hier ist, wonach die Leute im Allgemeinen suchten (ich paraphrasiere).

  • Ich m√∂chte die Git-Integration √ľber mehrere Ordner hinweg
  • Die aktuelle Ordnerumschaltung und / oder OS-Fensterverwaltung UX ist umst√§ndlich
  • Ich m√∂chte √ľber mehrere Ordner hinweg suchen
  • Ich m√∂chte √ľber mehrere Ordner debuggen

Sorgen

  • Funktionieren Refactorings projekt√ľbergreifend oder f√ľr ein einzelnes Projekt?
  • F√ľr welches Projekt begebe ich mich auf Git?
  • In welchen Ordnern wird meine Suche ausgef√ľhrt?
  • Unterbrechen Sie nicht die Arbeitsbereichseinstellungen
  • Unterbrechen Sie keine Erweiterungen - warnen Sie Erweiterungsentwickler vor neuer API
  • Eine UX mit Registerkarten im Slack-Stil reicht mir nicht aus, sondern verschiebt im Wesentlichen nur die Fensterverwaltung vom Betriebssystem auf VS-Code. Ich m√∂chte in einem einzigen Fenster (dh einer Reihe von Editorgruppen) auf alle Dateien aus den Projekten zugreifen k√∂nnen.
  • "In meinem Sinne bringt es viele andere Probleme mit sich, mehrere Projektwurzeln f√ľr Git, Suche ... DAS IST SEHR SCHLECHT f√ľr die UX und wird m√∂glicherweise Fehler und Komplexit√§t f√ľr den Editor mit sich bringen."

Andere Kommentare

  • Ich m√∂chte nur eine Teilmenge der Repos in meinem "Git-Ordner" √∂ffnen.
  • Ich m√∂chte eine gute M√∂glichkeit, in einem einzelnen Ordner zu suchen oder Suchergebnisse nach Projekt zu organisieren
  • Ich m√∂chte in der Lage sein, zum Abh√§ngigkeitscode zu navigieren, um schnell lesen zu k√∂nnen
  • Ich m√∂chte verschiedene Versionen von TypeScript f√ľr verschiedene Ordner ausf√ľhren
  • VS Code ist mit riesigen Repos zu langsam
  • Ich m√∂chte einige Projekte immer offen halten, um sie als Referenz zu verwenden (z. B. ein Thema / eine Vorlage).
  • Ich m√∂chte, dass VS Code .vscode / settings.json-Dateien in einem beliebigen Verzeichnis erkennt (dies w√ľrde helfen, das Problem zu umgehen).
  • Lassen Sie mich einen Projektstamm (Suche / Debug) und einen Git-Stamm definieren
  • Sublime handhabt die Git-Integration mit mehreren Ordnern elegant
  • Ordner mit Registerkarten, die der Benutzeroberfl√§che von Slack √§hneln (dh ein aktives Projektparadigma)
  • Ein separater Abschnitt im Explorer f√ľr jeden Ordner
  • Verwenden Sie einen Ordner als prim√§ren und den Rest als verkn√ľpfte / Unterordner
  • Ich m√∂chte ein Schnellwechselprojekt wie in sublime (Schnellwechsel + Beibehaltung des Arbeitsbereichslayouts)
  • Diese Art der Arbeitsbereichsverwaltung ist besonders n√ľtzlich f√ľr Folgendes: npm-Modul, Julia, Heroku PaaS, WordPress, Drupal

Aktuelle Problemumgehungen

Hier sind die wichtigsten Problemumgehungen:

Wann kommentieren?

Bitte vermeiden Sie: +1: oder "Ich will das" -Kommentare. Wenn ein Kommentar zu diesem Problem abgegeben wird, werden die 153 und die z√§hlenden Personen, die das kommentiert haben, zus√§tzlich zu vielen weiteren Personen benachrichtigt, die auf die Schaltfl√§che "Abonnieren" klicken. Durch das Kommentieren werden auch Team-Updates begraben. Versuchen Sie also, dies zu ber√ľcksichtigen. Kommentieren Sie auf jeden Fall, wenn es zur Konversation beitr√§gt.

Eine Funktion, die wohl mehr Nutzen h√§tte als mehrere Wurzeln, besteht darin, die M√∂glichkeit hinzuzuf√ľgen, konfigurierbare Arbeitss√§tze zu haben. Auf diese Weise k√∂nnen Sie ein gemeinsames √ľbergeordnetes Element √∂ffnen, haben jedoch viele Kombinationen von Ordnern in diesem Projekt.

Generell w√§re dies f√ľr jedes Projekt n√ľtzlich, um sich in gr√∂√üeren Codebasen gleichzeitig auf bestimmte Dateien / Ordner "konzentrieren" zu k√∂nnen, ohne jedes Mal die Konfiguration f√ľr den gesamten Stamm √§ndern zu m√ľssen.

KEIN Plan f√ľr diese Funktion?

Sie k√∂nnen den Plan f√ľr diese Funktion im Kommentar von @Tyriar und in den zugeh√∂rigen Links sehen:
https://github.com/alefragnani/vscode-project-manager/issues/46
https://github.com/Microsoft/vscode/issues/26068

Wir m√∂chten unsere Entw√ľrfe daf√ľr teilen und Ihr Feedback erhalten. Zu diesem Zweck werden wir eine Reihe von Telefonkonferenzen einrichten, in denen wir unsere Entw√ľrfe durchgehen und Ihre Reaktionen auf die Entw√ľrfe besprechen.

Wenn Sie an diesen Diskussionen teilnehmen und uns helfen möchten, das richtige Design zu finden, kontaktieren Sie mich bitte (senden Sie mir eine E-Mail - stevencl at microsoft dot com) und ich werde diese einrichten.

Wir hoffen, diese Diskussionen f√ľr Donnerstag, den 1. Juni und Freitag, den 2. Juni planen zu k√∂nnen.

@ Tyriar @ Stevencl Danke Jungs! :klatschen:

Vielen Dank an alle, die heute an den Sitzungen teilgenommen haben. Die Aufzeichnungen der Sitzungen wurden hier veröffentlicht

Bitte schauen Sie sich die Videos an und teilen Sie weitere Kommentare zu den Designs mit.

@stevencl danke, dass hast !

Tolle Videos, danke! Einige R√ľckmeldungen:

  • ūüĎćūüĎćūüĎć f√ľr das insgesamt einfache Design und die nat√ľrliche Erweiterung der heutigen Funktionsweise von VSCode. Ihr habt auf einfache, elegante Weise mit vielen komplexen Situationen umgegangen. Ein gro√ües Lob daf√ľr!
  • Ich mag die aggregierte SCM-Benachrichtigung in der unteren linken Ecke. Aus meiner Sicht ist keine √Ąnderung erforderlich, mit einer Ausnahme: Ich w√ľrde das Popup √ľberspringen, nachdem ich auf die SCM-Benachrichtigung geklickt habe, und direkt zum SCM-Bereich gehen. Weniger Klicks = immer besser f√ľr mich.
  • Farbcodierung Wurzeln wie Alexey vorgeschlagen ist eine interessante Idee, k√∂nnte helfen.
  • Suche: Das Scoping in einem Ordner wird mir wichtig sein. Ich denke, das aktuelle Feld "Zu enthaltende Dateien" k√∂nnte daf√ľr verwendet werden. Ich wollte nur sicherstellen, dass dies der Fall ist.
  • Das einzige, bei dem ich mir nicht sicher bin, ist die Beharrlichkeit und das √Ėffnen aller additionalFolders wenn ich die path √∂ffne. Es macht irgendwie Sinn mit dem letzten Beispiel, in dem express-project eindeutig das "Master-Projekt" ist, aber ich bin mir nicht sicher √ľber das vorherige Beispiel: express und express-plugin f√ľhlten sich gleich an, wie echte Geschwister, und ich bin nicht sicher, ob ich erwarten w√ľrde, dass das √Ėffnen von express auch express-plugin √∂ffnen w√ľrde.

    • In gewisser Weise scheint die Datenstruktur dahinter nur eine flache Liste von Pfaden zu sein, nicht ein "Pfad" und dann "zus√§tzliche Ordner".

    • Ich bin mir nicht sicher, ob das Konzept eines Masterpfads so n√ľtzlich ist. In meinen Projekten ist es wahrscheinlich nicht.

    • Um einen Arbeitsbereich mit mehreren Stammverzeichnissen zu √∂ffnen, w√ľrde ich neben der aktuellen Datei> Ordner √∂ffnen> einen Befehl der obersten Ebene wie _Datei> Arbeitsbereich √∂ffnen_ erwarten.

    • Insgesamt bin ich mir da nicht sicher. Entschuldigung, ich habe keine konkreteren Vorschl√§ge.

Nochmals vielen Dank, damit erh√§lt VSCode neue Superkr√§fte ūüėĄ.

Danke, dass du die Videos geteilt hast. Ich m√∂chte das Design "Ein Abschnitt pro Stammordner" unterst√ľtzen:

one-section-per-root-folder

Zuerst hatte ich das andere (erhabene, textähnliche) Design erwartet, aber nachdem ich die Alternative "Ein Abschnitt pro Stammordner" gesehen hatte, wurde mir klar, dass dieser Ansatz die folgenden Vorteile hatte:

  • Klare, eindeutige Unterscheidung und Trennung zwischen Ordnern (insbesondere wenn ich mehr als 2 oder 3 davon habe, was h√§ufig der Fall ist, wenn ich andere Editoren und IDEs verwende)
  • Erzwingt die Vorstellung, dass ein Stammordner ein separates (Unter-) Projekt ist
  • Schneller Zugriff auf Unterprojektbefehle (wie "Neue Datei", "Aktualisieren" ... und m√∂glicherweise in Zukunft mit der rechten Maustaste, um eine Aufgabe (z. B. "Neu erstellen") f√ľr dieses bestimmte Unterprojekt zu starten;))
  • Wie von der 2. Gruppe erw√§hnt, ist es bei diesem Entwurf weniger wahrscheinlich, dass das Problem des Abschneidens von Ordnernamen auftritt

In Bezug auf das Konzept "Ein Abschnitt pro Stammordner" ... Ich bin mir wirklich nicht sicher, ob dies f√ľr mich und die meisten meiner Anwendungsf√§lle gut funktioniert. Immer wenn ich eine Situation mit mehreren Wurzeln habe, ist es √ľblich, dass ich viele habe . nicht nur 2 oder 3.
Ich bin nicht sicher, wie sich dieser Ansatz skalieren lässt.

Ein Argument f√ľr das aktuelle ordner√§hnliche Layout ist auch, dass es mit der Anzeige eines Monorepo √ľbereinstimmt. Vergleichen Sie zum Beispiel:

monorepo/      <- contains .git
  project1
  project2

vs.

microservices/
  project1      <- contains .git
  project2      <- contains .git

Diese beiden sollten von VSCode wirklich ziemlich √§hnlich behandelt werden: monorepo ist es bereits (Festschreiben: nat√ľrlich, Suche: "einzuschlie√üende Dateien", mehrere READMEs: ihr Ordner wird auf der Registerkarte "Editor" angezeigt; usw.). Multi-Root sollte dies so genau wie m√∂glich verfolgen, IMO, was das aktuelle Design sehr gut macht.

@stevencl Eine Sache, die ich nicht vollständig verstanden habe: Wird die Lösung eine begrenzte (oder sogar hierarchische) Behandlung von .vscode -Einstellungen ermöglichen? Wenn ich .vscode pro Ordner der obersten Ebene hätte, werden diese Einstellungen dann einzeln angewendet? Werden sie irgendwie am Projektstamm aggregiert? Oder zählt nur das "primäre" .vscode ?

Ich bevorzuge das Design "Ein Abschnitt pro Stammordner" aus den gleichen Gr√ľnden, die von @maddouri aufgef√ľhrt werden. Nachdem Sie die andere Alternative (in Atom) verwendet haben, ist es visuell schwieriger zu finden, wo ein neuer Stammordner beginnt, wenn mehrere hoch hierarchische Ordner ge√∂ffnet und erweitert werden.

Vielen Dank f√ľr die Design-Updates, es sieht wirklich gut aus!

Gibt es die M√∂glichkeit, mehrere Arbeitsbereiche gleichzeitig in der Benutzeroberfl√§che verf√ľgbar zu haben? Damit Sie leicht zwischen ihnen wechseln k√∂nnen. Zum Beispiel haben Sie so etwas wie:

EXPRESS, EXPRESS-PLUGIN
  express/
    lib/
    test/
    package.json
  express-plugin/
    lib/
    test/
    package.json
CONNECT, CONNECT-PLUGIN

Wenn Sie dann auf den Teiler CONNECT, CONNECT-PLUGIN klicken / doppelklicken, wird dieser Teil zum aktiven Arbeitsbereich. Dies w√ľrde einen einfachen Wechsel zwischen Arbeitsbereichen f√ľr Personen erm√∂glichen, die sich mit mehreren Projekten befassen m√ľssen. Ich schlage nicht vor, dass sie alle f√ľr die Suche und SCM verf√ľgbar sind, und so weiter, das w√ľrde beim aktuellen Arbeitsbereich bleiben, der der derzeit erweiterte ist.

Dies k√∂nnte dann funktionieren, wenn die Stammordner wie in der ersten Gruppe vorgeschlagen hervorgehoben werden und m√∂glicherweise die neuen Datei- / Ordnersymbole verf√ľgbar sind, wenn Sie den Mauszeiger √ľber diese Ordner bewegen.

Einige R√ľckmeldungen zu den Einstellungen JSON, m√∂glicherweise ist es hilfreich, wenn die Einstellungen f√ľr den Arbeitsbereich wie folgt aussehen:

workspaces: [
    {
        name: "Express Project",
        root: "file://C:/workspace/",
        folders: [
            "./express/",
            "./express-plugin/"
        ]
    }
]

Dann wird das root zur Quelle f√ľr das √Ėffnen der Ordner und nicht des Pfads, aber das Stammverzeichnis selbst wird nicht ge√∂ffnet, sondern nur jeder Ordner. Sie haben dann keinen "prim√§ren Ordner", behalten aber die relativen Dateipfade bei. Dies setzt voraus, dass Sie einen vordefinierten Arbeitsbereich √ľber die Benutzeroberfl√§che √∂ffnen k√∂nnen, anstatt den Stammordner und alle zus√§tzlichen Ordner damit zu √∂ffnen. Der Name kann dann als Teiler verwendet werden, um zu verhindern, dass eine gro√üe Anzahl von Ordnernamen zu lang oder nicht hilfreich verk√ľrzt wird.

Wenn die L√∂sung "Ein Abschnitt pro Stammordner" ausgew√§hlt ist, m√∂chte ich vorschlagen, dass der aktuell sichtbare Stammordner oben in der Seitenleiste "haftet", anstatt aus der Ansicht nach oben zu scrollen. Es w√ľrde nur nach oben scrollen, wenn der nachfolgende Stammordner den oberen Rand der Seitenleiste erreicht h√§tte.

Am 4. Juni 2017, um 6:47 Uhr, schrieb Peter Petrov [email protected] :

Ich bevorzuge das Design "Ein Abschnitt pro Stammordner" aus den gleichen Gr√ľnden, die von @maddouri aufgef√ľhrt werden. Nachdem Sie die andere Alternative (in Atom) verwendet haben, ist es visuell schwieriger zu finden, wo ein neuer Stammordner beginnt, wenn mehrere hoch hierarchische Ordner ge√∂ffnet und erweitert werden.

- -
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

Oder wir k√∂nnen dem Sublime, Atom-Ansatz folgen, aber die Farbe √§ndern oder irgendwie zeigen, welcher Ordner das Stammverzeichnis ist, und / oder ihn oben anbringen. Nat√ľrlich sind beide Ans√§tze gut, aber viele ge√∂ffnete Ordner reduzieren den Speicherplatz, da Balken mit Aktualisierung, Erstellen einer neuen Datei usw. sichtbar sind. Deshalb ist es besser, keine Balken zu laden, sondern irgendwie anzuzeigen, welcher Ordner ist die Wurzel. ABER wieder ist diese Leiste wirklich gut, weil es viel einfacher ist, ge√∂ffnete Stammordner zu sehen und Sie sie aktualisieren und andere Dinge tun k√∂nnen, die in der Leiste enthalten sind. Wir m√ľssen sehen, wie es aussieht, wenn beispielsweise 10 Ordner mit und ohne Balken ge√∂ffnet werden.

@stevencl Danke, dass du diese Aufnahmen

  • Ich bevorzuge das erste Design mit dem Design der einzelnen Ordnernamenleiste unter "EXPLORER". Ich bin jedoch besorgt, dass wenn alle Ordnernamen dort aufgelistet sind, es sehr schnell abgeschnitten wird, um die "Datei hinzuf√ľgen" anzuzeigen. " Ordner hinzuf√ľgen "usw. Schaltfl√§chen. Ich denke, ich w√ľrde einfach die Zeichenfolge "Multiple" oder √§hnliches einf√ľgen, wenn mehr als ein Ordner ge√∂ffnet ist. Andernfalls gibt es nur einen Ordner. Geben Sie den Namen des Ordners wie heute ein (und verstecken Sie das Ordnerstammverzeichnis im Baum).
  • Die Disambiguierung von Dateinamen durch Anh√§ngen des Ordnernamens an den Tabulatortitel im Editor, IMO, ist nur erforderlich, wenn mehrere Editoren mit demselben Dateinamen ge√∂ffnet sind. Beachten Sie, dass dieses Szenario auch bei ge√∂ffnetem Ordner nicht ungew√∂hnlich ist. Es ist ziemlich einfach, mehrere Dateien (z. B. .gitignore ) mit demselben Namen unter Unterordnern im selben Stammverzeichnis abzurufen. Daher sollte dieses Design (Anh√§ngen des √ľbergeordneten Ordnernamens) eine separate Funktion, IMO, sein und implementiert werden. Au√üerdem w√ľrde ich gerne eine gute L√∂sung f√ľr https://github.com/Microsoft/vscode/issues/15048 sehen, da dadurch einige Tab-Titel noch l√§nger werden. :) :)
  • F√ľr Suchergebnisse ist es meiner Meinung nach wichtig, dass die Suche in allen Stammordnern funktioniert. Ein weiterer Filter k√∂nnte hinzugef√ľgt werden, um die Suche auf ausgew√§hlte Wurzeln zu beschr√§nken. Bei der Anzeige von Ergebnissen kann es hilfreich sein, die Ergebnisse pro Stamm anzuzeigen. Daher besteht m√∂glicherweise die M√∂glichkeit, eine lange Liste mit angeh√§ngten Stammordnernamen oder eine in Abschnitte getrennte Liste f√ľr jeden Stammordner anzuzeigen.
  • Ich finde es seltsam, dass Sie vorschlagen, 'Arbeitsbereiche' zu den __Benutzereinstellungen__ hinzuzuf√ľgen. Ich habe wirklich erwartet, dass dies in __workspace settings__ endet. Ich denke, Sie sagen tats√§chlich, dass die Arbeitsbereichseinstellungen auch die neue Eigenschaft 'Arbeitsbereiche' enthalten k√∂nnen, was gut ist. Es ist auch sehr gut, dass Arbeitsbereichspfade relativ sein k√∂nnen. Es scheint einfach √ľberhaupt nicht in die Benutzereinstellungen zu geh√∂ren. Diese Funktion f√ľhlt sich f√ľr Arbeitsbereiche sehr spezifisch an. Ah, aber jetzt verstehe ich, warum es auch in Benutzereinstellungen g√ľltig ist, da ich diese Arbeitsbereiche speichern kann, wenn ich "zuf√§llige" Ordner auf meiner Festplatte in einem Arbeitsbereich haben m√∂chte, in dem es kein gemeinsames Stammverzeichnis gibt.
  • Eine Sache, die in den Arbeitsbereichen verloren zu gehen scheint, wenn sie in Benutzereinstellungen gespeichert werden, ist die M√∂glichkeit, andere projektspezifische Einstellungen dem einen oder anderen Arbeitsbereich zuzuordnen. Wenn ich beispielsweise einen Arbeitsbereich h√§tte, in dem die Tabulatorgr√∂√üe 2 Leerzeichen und in einem anderen 3 Leerzeichen betragen m√ľsste, w√§re dies mit Arbeitsbereichen in den Benutzereinstellungen nicht m√∂glich. Ich m√ľsste irgendwo einen Ordner erstellen und dann einen .vscode -Ordner darin ablegen und dann .vscode/settings.json definieren, um schlie√ülich meinen Arbeitsbereich mit der entsprechenden √úberschreibung der Registerkartengr√∂√üe zu definieren. An dieser Stelle denke ich, dass das Erstellen eines neuen VSCode Project-Dateityps, in dem alle diese Einstellungen gespeichert sind und der als spezielle Datei ge√∂ffnet werden kann, weniger umst√§ndlich ist als das Erstellen dieser Ordnerhierarchie zum Speichern des Arbeitsbereichs settings.json file ...

Im ersten Entwurf kann f√ľr zus√§tzliche Ordner der Pfad (relativ oder absolut) in Klammern zur Unterscheidung an den Namen angeh√§ngt werden. Das wird eine einfache L√∂sung sein, denke ich.

@stevencl danke f√ľr die Aufzeichnung der Sitzungen. Ich wollte unbedingt teilnehmen, war aber zu diesem Zeitpunkt nicht verf√ľgbar ūüėĘ

Mir hat die vorgeschlagene SCM-Schnittstelle gefallen. Mit einem Zusammenfassungsabschnitt und einem Abschnitt pro Ordner habe ich meiner Meinung nach eine viel einfachere Oberfl√§che, um die √Ąnderungen zu erkennen und damit zu arbeiten. Und ich mag die Idee, ein konsistentes Verhalten in der gesamten Benutzeroberfl√§che zu haben, daher sollte die Idee " Ein Abschnitt pro Ordner" auch auf der Registerkarte " Suchen" verwendet werden , anstatt den Ordnernamen bei jedem Ergebnis zu verketten. Gleiches gilt f√ľr die Registerkarte Explorer .

Die Verwendung der Benutzereinstellungen zum Speichern des Mehrfachordners ist f√ľr mich etwas seltsam, da es sich anscheinend nicht um eine Benutzereinstellung handelt: smile:. Wenn Sie vermeiden m√∂chten, neue Dateien zu erstellen und das √úbertragen / Synchronisieren von Projekten / Arbeitsbereichen zwischen Computern zu vereinfachen, vergessen Sie nicht einfach die Benutzereinstellungen und machen den Eintrag additionalFolder immer Teil des Workspace Settings . Wenn Sie einen Ordner hinzuf√ľgen, wird dieser nur zu Workspace Settings hinzugef√ľgt. Wenn Sie dann einen Ordner √∂ffnen, suchen Sie einfach nach einer .vscode\settings.json -Datei und einem additionalFolders -Eintrag, um zu √ľberpr√ľfen, ob es sich um einen Arbeitsbereich mit mehreren Ordnern handelt. Es √§hnelt dem zweiten Beispiel, das Sie verwendet haben, √ľber die zwei fehlenden Git-Repos.

SomeFolder.vscodesettings.json

{
    "editor.wordWrap": "off",
    "editor.codeLens": false,
    "editor.renderWhitespace": "all",
    "workbench.colorTheme": "Abyss",

    "additionalFolders": [
        "./express",
        "./express-plugin",
        "~/commons/other-stuff",
        "file:///C://Temp//oldlib"
    ]
}

Unterst√ľtzen Sie au√üerdem _user-data_-Speicherorte wie ~ und $home , um die gemeinsame Nutzung von Projekten zwischen verschiedenen Computern / Plattformen zu vereinfachen.

Ich habe nur einen Punkt verpasst: API . Wie w√ľrden sich Erweiterungen damit integrieren?

Danke f√ľr die Bem√ľhungen. Ich freue mich auf die ersten Insider-Ver√∂ffentlichungen ūüĎć

Danke f√ľr die R√ľckmeldung! Ich wollte die Richtung verfolgen, in der eine neue Einstellungseigenschaft additionalFolders f√ľr die Implementierung von "Multi Root" genutzt wird, da ich aus den obigen Kommentaren einige R√ľckmeldungen dazu h√∂re.

Die Hauptmotivation f√ľr die Einf√ľhrung einer Umgebung besteht darin, die Dinge einfach zu halten und nicht zu viele neue Konzepte einzuf√ľhren, w√§hrend dennoch eine leistungsstarke L√∂sung vorhanden ist, die einige interessante Szenarien erm√∂glicht. Hier sind einige Entwurfsentscheidungen und Konsequenzen:

Halte es einfach
Wir sind der Meinung, dass das √Ėffnen von Dateien und Ordnern das Kernst√ľck von VS Code ist. Daher m√∂chten wir kein neues Top-Level-Konzept f√ľr "Projekte" einf√ľhren. Wir w√ľrden beispielsweise nicht glauben, dass eine Aktion "Projekt √∂ffnen" erforderlich ist, sondern dass ein Projekt immer ein Ordner ist und optional zus√§tzliche Ordner zugeordnet werden k√∂nnen. Mit dieser Annahme scheint eine Einstellung der nat√ľrliche Weg zu sein, dies zuzulassen. Wann immer Sie diesen Ordner √∂ffnen, √∂ffnen Sie die zus√§tzlichen Ordner damit. Das Hinzuf√ľgen und Entfernen von Ordnern ist eine einfache Geste und aktualisiert die Einstellungen direkt.

Einstellungen sind mächtig
Multi-Root als Einstellung erm√∂glicht viele interessante Szenarien. Sie k√∂nnen beispielsweise die Einstellung additionalFolders in Ihren Arbeitsbereich einf√ľgen und diese als solche mit anderen Personen teilen (indem Sie relative Pfade verwenden - dies wird in den Videos gezeigt).
Dar√ľber hinaus k√∂nnen Sie zun√§chst frei festlegen, wie Sie Projekte einrichten: In einigen F√§llen besteht beispielsweise keine eindeutige Beziehung zwischen einem Hauptordner und zus√§tzlichen Ordnern (z. B. kann es sein, dass einige von ihnen nicht einmal in Beziehung stehen gegenseitig). In diesem Fall k√∂nnen Sie einfach einen "Projekt" -Ordner erstellen, der nur ein settings.json mit den Ordnern enth√§lt, auf die er verweist:

allMyRandomProjects/ 
  .vscode
    settings.json <- contains additionalFolders setting  

Wenn Sie jetzt allMyRandomProjects √∂ffnen, wird die Liste der Ordner angezeigt, die auf den Einstellungen basieren. Sie k√∂nnen sogar einige Einstellungen in settings.json einf√ľgen, die f√ľr alle angezeigten Ordner gelten sollen.

Arbeitsbereichsumschaltung und mehrere Fenster
Ohne Zweifel m√ľssen wir an einer besseren Umschaltung des Arbeitsbereichs und der Unterst√ľtzung mehrerer Fenster in VS Code arbeiten. Da wir einen Multi-Root-Arbeitsbereich wie jeden anderen Arbeitsbereich mit einem Ordner behandeln, kommt die Verbesserung der Arbeitsbereichsumschaltung und der Unterst√ľtzung mehrerer Fenster jedem Benutzer zugute, auch solchen, die keine Multi-Root-Arbeitsbereiche nutzen.
Wir m√ľssen nach besseren und einfacheren M√∂glichkeiten suchen, um unabh√§ngig von Multi-Root zwischen Ordnern und ge√∂ffneten Fenstern zu wechseln.

In meinem n√§chsten Kommentar werde ich einige R√ľckmeldungen zu einzelnen Kommentaren geben.

Die @ borkb- Suche w√ľrde Optionen zum Beschr√§nken auf einen bestimmten Stammordner (oder mehrere) enthalten, genauso wie Sie die Suche so konfigurieren k√∂nnen, dass sie bereits heute einen bestimmten Pfad enth√§lt.

@maddouri @TurkeyMan @pesho , @dgileadi @stefcameron Es scheint klar zu sein, dass einige Leute einen einzelnen Baum bevorzugen und andere mehrere Abschnitte im Explorer bevorzugen. Wir k√∂nnten also eine Einstellung daf√ľr haben, es gibt Vor- und Nachteile f√ľr beide L√∂sungen und es sollte dem Benutzer √ľberlassen bleiben, welche f√ľr das Szenario besser ist.

@borekb, wie Einstellungen update.channel: none nicht f√ľr jeden Ordner unterst√ľtzt werden. Was wir tun m√ľssen, ist, Einstellungen zu identifizieren, die wir auf Ordnerebene unterst√ľtzen k√∂nnen (z. B. files.exclude , alle Editoreinstellungen) und die erforderlichen √Ąnderungen vorzunehmen, um sie zu aktivieren. Dies ist einer der Hauptarbeitsbereiche, in die wir investieren m√ľssen, zumal Erweiterungen auch Einstellungen definieren k√∂nnen, die wir f√ľr einen Bereich pro Ordner unterst√ľtzen m√∂chten.

@BTMorton Es scheint mir, dass Sie einfachere Möglichkeiten zum

@stefcameron Wir werden die Einstellung additionalFolders offen genug halten, um eventuell zus√§tzliche Metadaten hinzuzuf√ľgen. Zum Beispiel k√∂nnte ich mir vorstellen, einen Namen f√ľr eine solche Konfiguration angeben zu k√∂nnen, damit der Wechsel zwischen Projekten nach Namen und nicht nach Hauptordner erfolgt.

Eine Sache, die wir in den Videos noch nicht angesprochen haben, ist, wie Erweiterungen Multi-Root-Ordner unterst√ľtzen k√∂nnen. Ein weiteres prim√§res Ziel mit Multi-Root-Unterst√ľtzung (neben "Keep it Simple") ist: Brechen Sie keine Erweiterungen

Heutzutage verf√ľgen Erweiterungen √ľber eine einfache API, um Zugriff auf den aktuell ge√∂ffneten Arbeitsbereich zu erhalten ( workspace.rootPath: string ). Diese Eigenschaft kann null falls kein Ordner ge√∂ffnet ist.

Mit der Einf√ľhrung der Einstellung additionalFolders kann sich eine Erweiterung weiterhin darauf verlassen, dass die Eigenschaft workspace.rootPath festgelegt wird (wenn ein Ordner ge√∂ffnet ist) oder nicht (wenn kein Ordner ge√∂ffnet ist). Da additionalFolders tats√§chlich eine Einstellung ist, kann eine Erweiterung diese Einstellung mit den APIs, die wir heute bereits f√ľr Einstellungen haben, kostenlos lesen und sogar schreiben. Wenn sich diese Einstellung √§ndert, wird sogar ein Ereignis ausgegeben, das eine dynamische Reaktion auf den Benutzer erm√∂glicht, der diese Einstellung √§ndert.

Durch Lesen dieser Einstellung kann eine Erweiterung auf zusätzliche Ordner im Arbeitsbereich aufmerksam gemacht werden. Beispielsweise könnte die Travis CI-Erweiterung einen aggregierten Status in allen Ordnern anzeigen.

Das Schreiben dieser Einstellung erm√∂glicht einige interessante Szenarien f√ľr Erweiterungen: Sie k√∂nnten beispielsweise eine Projektmanager-Erweiterung haben, die Ihrem Arbeitsbereich dynamisch Ordner hinzuf√ľgt und daraus entfernt und als solche Projekt√ľberg√§nge innerhalb des Fensters erm√∂glicht, z. B. indem eine Liste von Projekten √ľber eine Auswahloberfl√§che angezeigt wird .

An einem Punkt werden wir wahrscheinlich eine echte neue Erweiterungs-API f√ľr Multi-Root-Ordner einf√ľhren. Es ist etwas seltsam, dies in einer Einstellung f√ľr Lese- / Schreib-Erweiterungen zu vergraben. Zu Beginn k√∂nnen Erweiterungen jedoch bereits die Einstellung additionalFolders , um sie nach M√∂glichkeit zu nutzen. Wir werden auch eng mit den Autoren von Erweiterungen zusammenarbeiten, um deren Szenarien zu verstehen und sie besser zu unterst√ľtzen.

@bpasero Wird das Konzept zus√§tzlicher Ordner auch zu LSP hinzugef√ľgt, oder startet VS Code einfach einen Sprachserver pro zus√§tzlichem Ordner?

@felixfbecker Dies ist etwas, was wir noch investieren und erforschen m√ľssen, um eine gute L√∂sung f√ľr Spracherweiterungen zu finden. Sobald wir √ľber zus√§tzliche APIs f√ľr Erweiterungen nachdenken, m√ľssen wir auch dar√ľber nachdenken, was dies f√ľr den LSP bedeutet.

Es ist jedoch erw√§hnenswert, dass es bereits heute Situationen geben kann, in denen Benutzer eine Datei aus einem Ordner √∂ffnen, der nicht als Arbeitsbereich ge√∂ffnet ist (z. B. Datei> √Ėffnen> somefile.xyz). Im Idealfall kann eine Spracherweiterung die gleichen Sprachfunktionen f√ľr eine solche Datei anzeigen, auch wenn der Ordner dieser Datei nicht ge√∂ffnet ist.

Am Anfang verh√§lt sich das √Ėffnen einer Datei von einem der additionalFolders sehr √§hnlich wie das √Ėffnen einer Datei, die sich nicht in dem Ordner befindet, den Sie urspr√ľnglich ge√∂ffnet haben. TypeScript kann sich beispielsweise gut mit diesem Fall befassen: Sie gehen einfach von der aktuell ge√∂ffneten Datei auf, bis eine tsconfig.json -Datei gefunden wird, und behandeln diese dann als Projekt. Funktionen wie Referenzen finden funktionieren ohne Probleme:

image

Es wäre schön, wenn eine Spracherweiterung funktionieren könnte, indem Sie einfach von der aktuell aktiven Datei ausgehen, anstatt einen expliziten Projektkontext zu erzwingen.

@bpasero danke f√ľr die Kommentare. Es scheint also, dass es im aktuellen Modell immer einen "Master" -Ordner geben wird : Selbst im Beispiel allMyRandomProjects ist dies im Grunde der Master-Ordner, obwohl er gr√∂√ütenteils leer ist. Dies hat einige subtile Auswirkungen, aber ich muss noch etwas dar√ľber nachdenken, um n√ľtzliches Feedback zu geben.

Insgesamt denke ich, dass VSCode Monorepo im Vergleich zu mehreren Repositorys auf ziemlich √§hnliche Weise unterst√ľtzen sollte, wie im obigen Kommentar angegeben: https://github.com/Microsoft/vscode/issues/396#issuecomment -306040485.

Übrigens, wie definieren Sie "root" genau? Wenn ich Ordner A öffne, der die Unterordner B und C enthält, wie sehr unterscheidet er sich von der Definition von A als path und B und C als additionalFolders ? Ist die Absicht von VSCode, diese beiden Situationen ziemlich unterschiedlich oder grundsätzlich gleich zu behandeln? (Ich denke, es sollte eine sehr ähnliche Erfahrung sein.)

@bpasero

Am Anfang verh√§lt sich das √Ėffnen einer Datei aus einem der zus√§tzlichen Ordner sehr √§hnlich wie das √Ėffnen einer Datei, die sich nicht in dem Ordner befindet, den Sie urspr√ľnglich ge√∂ffnet haben. TypeScript kann sich beispielsweise gut mit diesem Fall befassen: Sie gehen einfach von der aktuell ge√∂ffneten Datei auf, bis eine tsconfig.json-Datei gefunden wird, und behandeln diese dann als Projekt. Funktionen wie Referenzen finden funktionieren ohne Probleme:

TypeScript verwendet jedoch kein LSP. In LSP haben Sprachserver ein rootUri , und PHP verwendet dieses rootUri , um nach Dateien zu suchen, die indiziert werden m√ľssen. Es gibt keine Datei wie tsconfig.json, die ein "Projekt" bezeichnen w√ľrde. Wenn es also Dateien gibt, die nicht √ľber didOpen ge√∂ffnet werden, sondern auch nicht unter rootUri , werden diese f√ľr die Code-Intelligenz nicht ber√ľcksichtigt, daher meine Frage, ob LSP daf√ľr erweitert wird.

W√ľrde das √Ėffnen mehrerer Roots eine Datei ./.vscode/settings.json erstellen, wenn sie nicht bereits vorhanden w√§re?
Nach dem, was ich hier bisher gelesen habe, sieht es so aus, als w√ľrden wir es sagen.

Ich verstehe, warum es n√ľtzlich ist, das Hinzuf√ľgen von Projektkonzepten zu vermeiden, aber vielleicht w√§re es gut, das Speichern eines Arbeitsbereichs optional zu machen - obwohl in diesem Fall "Speichern" nur das Erstellen einer Einstellungsdatei im Stammordner bedeutet.

Ich denke, es k√∂nnte einen Benutzer √ľberraschen, der diesem Thread nicht gefolgt ist, wenn er einen zweiten Ordner ge√∂ffnet und eine Einstellungsdatei erstellt hat. Das √Ėffnen von Ordnern ist die Art von Dingen, von denen ich glaube, dass die meisten Benutzer erwarten, dass sie schreibgesch√ľtzt sind.

Vielen Dank f√ľr das Feedback an alle, das ist sehr n√ľtzlich.

@saborrie - eine gute Frage, inwieweit die

@borekb - Wir haben √ľber das von Ihnen erw√§hnte Szenario gesprochen (√Ėffnen eines Ordners, der einen oder mehrere Unterordner enth√§lt), und wir haben versucht, dies genauso zu behandeln wie das √Ėffnen eines Multi-Root-Arbeitsbereichs. Die Herausforderung besteht jedoch darin, zu bestimmen, wann eine solche Situation als Multi-Root behandelt werden soll und nicht nur als Ordner, der andere Ordner enth√§lt.

Mich w√ľrde auch interessieren, was andere dar√ľber denken.

@borekb Sie additionalFolders Eigenschaft. Ich denke, wir k√∂nnen beginnen, diese UI-Entwicklung mit Ordnern zu untersuchen, f√ľr die die Einstellung additionalFolders festgelegt ist, und sie sp√§ter auf weitere Anwendungsf√§lle erweitern. Ein weiteres interessantes und verwandtes Szenario ist die Art und Weise, wie wir Submodule in einem Repository pr√§sentieren.

Ich w√ľrde auch denken, dass wir irgendwann .vscode -Einstellungen auf jeder Ebene der Ordnerhierarchie unterst√ľtzen m√∂chten, sobald wir die damit verbundenen Herausforderungen gel√∂st haben.

Ich w√ľrde weniger √ľber die Master-Detail-Beziehung sprechen, wenn ich √ľber Multi-Root spreche, da die meisten UX-Dateien den Hauptordner gleich den zus√§tzlichen Ordnern behandeln. Der Hauptordner ist eigentlich nur der Container mit den Einstellungen f√ľr zus√§tzliche Ordner und wird der Haupttreiber f√ľr die globalen Arbeitsbereichseinstellungen sein. Aus Gr√ľnden der Abw√§rtskompatibilit√§t wird dies auch als rootPath an Erweiterungen

@felixfbecker bedeutet das, dass ich beim √Ėffnen nur einer PHP-Datei meines Projekts keine "Referenzen Sprachfunktionen ausf√ľhren kann.

@saborrie Beim Hinzuf√ľgen von Ordnern wird standardm√§√üig KEINE Arbeitsbereichseinstellung hinzugef√ľgt. Einer der Gr√ľnde, warum wir uns dazu entschlie√üen, dies in die Benutzereinstellungen aufzunehmen, besteht darin, dass ein Arbeitsbereich beim Multi-Root-Setup nicht "schmutzig" wird. Das Einf√ľgen dieser Einstellung in den Arbeitsbereich ist m√∂glich, muss jedoch manuell erfolgen. Dies wird standardm√§√üig nicht geschehen.

@bpasero Ok, ja, das Festhalten am Speichern in Benutzereinstellungen anstelle von Arbeitsbereichseinstellungen w√ľrde das Verschmutzen der Arbeitsbereichsordner verhindern. Ich vermute, dass es immer noch gespeichert wird, bevor der Benutzer explizit eine Speicheraktion ausf√ľhren muss, obwohl ja?

Damit habe ich zwei Anschlussfragen:

1) Was w√ľrde passieren, wenn ein Benutzer einen Arbeitsbereich mit additionalFolders √∂ffnet, der in seinen Arbeitsbereichseinstellungen definiert ist? W√ľrde dies mit ihren Benutzereinstellungen synchronisiert werden? und w√ľrde es den Eintrag f√ľr diesen Arbeitsbereich-Stamm √ľberschreiben, wenn er in der Arbeitsbereichsliste f√ľr Benutzereinstellungen vorhanden w√§re? Oder umgekehrt?

2) Ist das Einf√ľgen dieser Liste von Arbeitsbereichen in Benutzereinstellungen eine bessere Option, als zun√§chst das Speichern von Arbeitsbereichen in einer dieser JSON-Einstellungsdateien zu vermeiden? Wenn im aktuellen Einzelordnersystem ein Ordner File > Open Recent Men√ľpunkt

- Entschuldigung f√ľr das Englisch, ich habe Google √úbersetzer verwendet -

Nun, ich habe das Layout durchgesehen (ja - ein wenig Schwierigkeiten beim Verstehen von Englisch). Dann bitte ich um Entschuldigung...

Das von @maddouri vorgestellte Layout hat mir nicht

Ich bevorzuge dieses Modell, bei dem ich mit den Pfeiltasten zwischen den verschiedenen Projektordnern navigieren kann. Wenn ich einen Ordner / eine Datei im Hauptordner erstellen muss, kann ich die Men√ľtaste auf der Tastatur direkt im Hauptordner verwenden Mappe.

explorernew

Und / oder mit den Optionen "Neue Datei", "Neue Ordneraktualisierung" und "Alle reduzieren".

explorernew2

Was den Titel betrifft, der oben angezeigt wird, bevorzuge ich, dass er sich auf die aktuelle Datei mit dem Ordner konzentriert, in dem er sich befindet, oder anstatt alle geöffneten Hauptordner plus die aktuelle Datei anzuzeigen, ähnlich wie in diesem Bild.

explorernew3

Und eine Frage: Wird es noch Open Editores geben?

@bpasero

Bedeutet das, dass ich beim √Ėffnen nur einer PHP-Datei meines Projekts keine "Referenzen suchen" oder √§hnliche Sprachfunktionen ausf√ľhren kann. Ich muss diesen Ordner √∂ffnen, um diese Funktionen zu erhalten. Ich bin nicht tief in PHP vertieft, aber wenn es ein Konzept f√ľr datei√ľbergreifende Abh√§ngigkeiten gibt, kann ich nicht von einer einzigen Datei zu einer anderen PHP-Datei navigieren. Muss ich zuerst den Ordner √∂ffnen?

Das ist richtig. Wenn Sie nur eine einzelne Datei √∂ffnen, k√∂nnen Sie nicht zu einer Datei in einer anderen Datei wechseln, die nicht ge√∂ffnet ist, sondern nur zu Dateien unterhalb von rootUri . Das liegt daran, dass in PHP jede Datei Symbole im globalen Namespace ausgeben kann und Namespaces eigentlich nur Namenspr√§fixe f√ľr Klassen sind. Es gibt keine Einschr√§nkung, wie Namespaces und Klassennamen Verzeichnissen und Dateinamen entsprechen m√ľssen (nur einige Konventionen), und es gibt keine Importanweisungen wie in TS, nur Namespace-Aliase. Das Laden von Klassen erfolgt zur Laufzeit √ľber registrierte "Autoloader". Das bedeutet, dass f√ľr einen Sprachserver mit Go-to-Definition ein Symbol in jeder Datei definiert werden kann. Der Sprachserver indiziert also beim Start alle Dateien in rootUri und arbeitet dann mit dem Index, um Anfragen zu beantworten. Was funktioniert, ist, wenn Sie ein Projekt ge√∂ffnet haben und eine neue nicht gespeicherte Datei erstellen - Sie erhalten Informationen daf√ľr, weil Sie die rootUri und die neue Datei √ľber textDocument/didOpen . Symbole, die in nicht ge√∂ffneten Dateien definiert sind, die nicht unter rootUri werden jedoch nicht ber√ľcksichtigt.

Die Arbeitsbereichseinstellungen von additionalFolders -Einstellung im Arbeitsbereich hat immer Vorrang. Aufgrund der Art dieser Einstellung k√∂nnen Sie die zus√§tzlichen Ordner f√ľr den aktuell ge√∂ffneten Ordner nur √ľberschreiben, wenn diese Einstellung im Arbeitsbereich angegeben ist (dies wird in den Videos angezeigt, indem f√ľr den "Master" path: "." ).

Dies als UI-Status zu speichern, √§hnlich wie z. B. wie viele Registerkarten ge√∂ffnet sind, war eine Option, die wir besprochen haben, aber wir haben nicht festgestellt, dass sie viele Vorteile gegen√ľber einer Einstellung hat. Einige Gr√ľnde:

  • Dies ist nicht gemeinsam nutzbar (weder √ľber die Arbeitsbereichseinstellung noch √ľber eine Einstellungssynchronisierungserweiterung).
  • Dies ist nicht etwas, auf das Erweiterungen heute leicht zugreifen k√∂nnen (Einstellungs-API existiert, UI-Status-API nicht)

Gibt es einen bestimmten Grund, warum Sie dies nicht in den Einstellungen w√ľnschen w√ľrden?

@Tekbr ja, "Open Editors" funktioniert wie bisher

@felixfbecker W√ľrde die PHP-Erweiterung so etwas wie rootUri: string[] leicht √ľbernehmen k√∂nnen? Oder m√∂chten Sie lieber, dass der PHP-Sprachserver f√ľr jeden ge√∂ffneten Ordner mehrmals gestartet wird (z. B. w√ľrde VS Code auf der Ebene der ge√∂ffneten Ordner zu N Sprachservern mehrere Plexe ausf√ľhren?)

@bpasero PHP k√∂nnte ganz einfach mit rootUris: string[] . Andere Sprachserver k√∂nnen dies jedoch nicht. Das Laichen mehrerer Sprachserver w√ľrde bedeuten, dass jeder Ordner isoliert funktioniert (kein Sprung zur Definition, alle Referenzen zwischen ihnen finden). Vielleicht w√§re ein Ansatz ein neuer ServerCapability , der entscheidet, ob VS Code einen oder mehrere Sprachserver erzeugt.

Ich mag das Konzept der Einstellung f√ľr zus√§tzliche Ordner. F√ľr mich reicht es, einen einzigen Stammordner zu haben. Wenn ich die volle Entwicklungsfunktionalit√§t f√ľr ein zugeh√∂riges Projekt m√∂chte, kann ich ein neues vscode-Fenster √∂ffnen.

Was ich von den zus√§tzlichen Ordnern ben√∂tige, ist nur eine eingeschr√§nkte Funktionalit√§t. Zum Beispiel m√∂chte ich m√∂glicherweise eine Symboldefinition aus einem zugeordneten Projekt zur Verwendung im Stammprojekt, ben√∂tige oder m√∂chte jedoch nicht die M√∂glichkeit, sie umzubenennen oder alle Referenzen daf√ľr im zus√§tzlichen Ordner zu finden.

@bpasero Ich bef√ľrworte nur, die Erstellung eines Arbeitsbereichs in den Einstellungen optional zu machen (und zu aktivieren). Anstatt Einstellungen automatisch zu √§ndern, wenn ein Benutzer einen Ordner hinzuf√ľgt, beginnen Sie im Wesentlichen nur im UI-Status und erlauben Sie den Benutzern, diese in irgendeiner Weise in den Einstellungen zu speichern. M√∂glicherweise k√∂nnen Sie auch ausw√§hlen, ob die Einstellungen f√ľr den Arbeitsbereich oder die Benutzereinstellungen vorgenommen werden sollen.

Ich bin nicht ganz dagegen, vollst√§ndig in Einstellungen zu speichern. Ich trage nur meinen Teil dazu bei, die Entscheidung in Frage zu stellen, den UI-Status nicht zu verwenden, nur f√ľr den Fall, dass er √ľbersehen wurde.

@bpasero @saborrie Wenn wir diesen Weg gehen, w√ľrde ich hinzuf√ľgen, dass es bei Aufforderung zum Speichern in Einstellungen eine Option geben sollte, sich "an meine Wahl zu erinnern" (um Arbeitsbereiche in Einstellungen zu speichern, entweder Benutzereinstellungen oder Projekteinstellungen). Ich w√§re entt√§uscht, ein VSCode-Fenster zu √∂ffnen, ein paar Ordner zu laden, alles so zu machen, wie ich es m√∂chte, und dann tritt entweder ein Neustart oder ein Absturz auf, und ich habe meine gesamte Konfiguration f√ľr diese Kombination von Ordnern verloren, weil der Arbeitsbereich nie gespeichert wurde auf die Festplatte.

# 396 (Kommentar)

@Tekbr ja, "Open Editors" funktioniert wie bisher

Danke f√ľr die Antwort, @bpasero.

TL; DR: Verwenden Sie eine Baumansicht, wann immer dies sinnvoll ist, anstatt den Namen der Wurzeln an jedes Element anzuhängen.

Einige Dinge, ich mag es wirklich nicht, wie Sie den Ordner an das Ende anhängen. Ich möchte wirklich, dass es eine Option ist, weil ich es wahrscheinlich so haben möchte: express\.editorconfig und express-plugin\.editorconfig also Vielleicht können Sie die folgende Option anbieten: editor.tabName: "${root}\${filename}"

Eine andere Sache, die ich gerne h√§tte und die Sie im Video erw√§hnen, ist die F√§rbung √ľber den Wurzeln, um sie an die Registerkarten anzupassen.

Suche:

In der Search -Ansicht w√ľrde ich tats√§chlich denken, dass Sie einen Fehler machen, was die Erfahrung betrifft. Meiner Meinung nach sollte er als Baum angezeigt werden, wie folgt:

[-] express
    [v] file1.ext
         ... expression ... 
    [v] file2.ext
         ... expression ... 
[-] express-plugin
    [v] file1.ext
         ... expression ... 
    [v] file2.ext
         ... expression ... 

Die Gr√ľnde daf√ľr sind:

  1. Sie können leicht sehen, wo sich die Dateien befinden, unabhängig von der Länge ihrer Namen.

  2. Sie können die Wurzeln kollabieren, die Sie nicht sehen möchten.

Ich denke, dass es auch mehr zu der Art von Design passt, die Sie auf die Explorer angewendet haben.

Aufgaben:

F√ľr Tasks h√§tte ich lieber diese Art von Ansicht:

express
    Compile
    Run Tests
express-plugin
    Compile
    Run Tests

Einige Punkte:

  1. Meiner Meinung nach sollten Sie die Ordnernamen nicht ber√ľhren / √§ndern, was bedeutet, dass "Express-Plugin" genau so angezeigt werden sollte, wie es im Explorer angezeigt wird, und nicht als "Express Plugin".

  2. Das Wechseln zwischen Aufgaben mit der Tastatur kann auch so erfolgen, dass die Auswahl der Wurzeln ignoriert wird. Wenn Sie also im Beispiel von express\"Run Tests" nach unten wechseln, wird als nächstes express-plugin\Compile as ausgewählt im Gegensatz zu express-plugin

ps Ich habe das ganze Video noch nicht gesehen, aber nur diese Dinge, die mir in den Sinn kamen.

Was ist, wenn alle Stammordner, die Sie in Ihren Arbeitsbereich aufnehmen, denselben Namen haben?
z.B

  • / dev / project / public / src
  • / dev / framework / src
  • / dev / some-component / src

Sie hätten dann einen Arbeitsbereich mit:

[+] src\
[+] src\
[+] src\

Gem√§√ü der _sublime_ Methode zum Einf√ľgen von Ordnern in einen Arbeitsbereich verf√ľgt jeder virtuelle Ordnerstamm √ľber:

  • Pfad
  • Name (optional) - Dies ist der Name des Ordners, falls ausgeschlossen, kann aber als beliebig angezeigt werden
  • Ausschlussfilter f√ľr Dateien / Ordner

Im Hinweis https://github.com/Microsoft/vscode/issues/396#issuecomment -283541760 (oben) finden Sie beispielsweise die Metadaten, die mit dieser Vorgehensweise verbunden sind.

Ich möchte wissen, dass sich diese Funktion noch in der Entwicklungsphase befindet.

@ifzm Es ist und wenn Sie die neuesten Versionshinweise (Mai 2017 (Version 1.13)) lesen, wissen Sie, dass sie aktiv daran arbeiten.

@eyalsk Entschuldigung, ich habe nicht genau

Ich bin nicht verr√ľckt nach dem additionalFolders -Konzept, obwohl ich den Wunsch verstehe, die Dinge einfach zu halten.

Es scheint mir seltsam, dass in einem Ordner die Konfiguration des "Arbeitsbereichs" gespeichert wird.

Stellen Sie sich folgende Stammordner vor:

  • Webseite
  • api
  • Handy, Mobiltelefon

... welcher Ordner sollte die Einstellung additionalFolders ? Warum?

Ich bevorzuge die Idee eines Arbeitsbereichs / Projektmanagers, in dem die Einstellungen an einem gemeinsamen / allgemeinen Ort gespeichert werden. Ich denke wirklich nicht, dass dies aus UX-Sicht kompliziert ist und die vorhandene workspace -Terminologie wiederverwendet / erweitert werden könnte.


Unabhängig: Ich stimme den Kommentaren von @eyalsk in Bezug auf verschachtelte Listen (und die Benennung von Registerkarten) voll und ganz zu.

@ glen-84 In diesem Fall steht es Ihnen frei, einen vierten Ordner auf der Festplatte mit dem Namen "my-mobile-website-project" zu haben, der diese Einstellung und Links zu allen anderen Ordnern enthält.

@bpasero Ich verstehe das, aber es ist wirklich nur ein Hack.

Um näher darauf einzugehen:

Ich arbeite gerade an den website und entscheide, dass ich einige √Ąnderungen an den api vornehmen m√∂chte. Wenn ich auf Add Folder klicke, werden die api mit den website verkn√ľpft, sodass das √Ėffnen der website in Zukunft die api √∂ffnet auch. Ich muss verstehen, wie dies funktioniert, und wenn ich dies tue, muss ich eine separate Instanz von VSC √∂ffnen, einen leeren Ordner mit dem entsprechenden Namen erstellen, beide "Projekt" -Ordner hinzuf√ľgen und dann die urspr√ľngliche Instanz schlie√üen.

Im Gegensatz dazu k√∂nnte ich einfach Add Folder und (optional) nach einem Arbeitsbereichsnamen fragen, der in Zukunft zum gleichzeitigen √Ėffnen beider Ordner verwendet werden soll.

workspaces.json (Beispiel)

{
    "workspaces": {
        "My company workspace": {
            "folders": {
                "/path/to/website": {
                    "folder-setting1": "value1"
                },
                "/path/to/api": {
                    "folder-setting1": "value1"
                }
            },
            "settings": {
                "workspace-setting1": 123
            }
        }
    }
}

Ich f√ľhle mich einfach flexibler und weniger unangenehm f√ľr mich.

@ Glen-84 verstanden. Wenn Sie sich f√ľr Ihre vorgeschlagene L√∂sung entscheiden, wird die Verwendung von VS-Code komplexer. Deshalb haben wir uns gegen ein solches Konzept entschieden. Der Hauptgrund ist, dass es pl√∂tzlich nicht nur "Open File" und "Open Folder" gibt, sondern auch "Open Project". Bei den Grundelementen zu bleiben, die wir haben, ist der einfachere Ansatz, ohne neue Konzepte einzuf√ľhren.

Die gesamte Arbeit, die wir jetzt zur Unterst√ľtzung mehrerer Ordner leisten, ist jedoch auch f√ľr Szenarien wie die von Ihnen vorgeschlagene eine gute Arbeit. Wenn wir Ihr Szenario jemals unterst√ľtzen m√∂chten, sind die Schritte, um dorthin zu gelangen, viel weniger schwer, da die Benutzeroberfl√§che bereits daf√ľr geeignet ist. Ich k√∂nnte mir auch vorstellen, dass eine Erweiterung m√∂glicherweise einen solchen Begriff von Arbeitsbereichen einf√ľhrt, und wir f√ľgen einfach die erforderlichen APIs hinzu, um dies zu unterst√ľtzen.

Lassen Sie uns zuerst die UX richtig machen, ohne neue Konzepte einzuf√ľhren, und dann √ľber andere Szenarien rund um mehrere Ordner nachdenken. Zuerst m√ľssen viele Dinge beachtet werden (Erweiterungen, Einstellungen, SCM-Benutzeroberfl√§che usw.).

Ihre vorgeschlagene Lösung macht die Verwendung von VS-Code komplexer

Dem muss ich nicht zustimmen. Wenn ein Benutzer durch eine optionale Funktion "Projekt öffnen" (oder Arbeitsbereich) verwirrt ist, wird er wahrscheinlich durch viele vorhandene Funktionen in VSCode verwirrt. Dies ist aus Anwendersicht nicht kompliziert (wenn jemand, der dies liest, anderer Meinung ist, sagen Sie es bitte).

Ich k√∂nnte mir auch vorstellen, dass eine Erweiterung m√∂glicherweise einen solchen Begriff von Arbeitsbereichen einf√ľhrt, und wir f√ľgen einfach die erforderlichen APIs hinzu, um dies zu unterst√ľtzen.

Die Erweiterung existiert bereits und wurde bereits einige Male erw√§hnt. Der Autor hat sogar eine offene Ticketverfolgung f√ľr mehrere Ordner. Diese Erweiterung verf√ľgt √ľber mehr als 370.000 Installationen und eine Bewertung von 4,7. Selbst bei einer vereinfachten Benutzeroberfl√§che, die die Befehlspalette verwendet, gibt es nach den Kommentaren kaum Anzeichen von Verwirrung.

Lassen Sie uns zuerst die UX richtig machen, ohne neue Konzepte einzuf√ľhren, und dann √ľber andere Szenarien rund um mehrere Ordner nachdenken

Das ist gerecht genug. In beiden F√§llen geht es darum, mehrere Stammordner in demselben Fenster zu unterst√ľtzen. Die eigentliche Methode zum Verwalten dieser Ordnergruppen k√∂nnte zu einem sp√§teren Zeitpunkt in Angriff genommen werden.

W√ľrden Sie eine √∂ffentliche Umfrage erstellen, um Meinungen von Nutzern zu diesem Thema zu sammeln (mir sind die YouTube-Videos bekannt, aber ich beziehe mich allein auf diesen Aspekt), oder wurde bereits die Entscheidung getroffen, sich f√ľr das additionalFolders Konzept?

Ich stimme @ glen-84 zu. Ich verstehe das Problem der Komplexit√§t nicht. Ja, es kann es komplexer machen, aber dies ist ein Code-Editor. Ich w√ľrde denken, dass 95% der Programmierer es verwenden, was die Idee von Projekten leicht verstehen k√∂nnte. Es sollte wenig Bedenken geben, jeden Tag Menschen zu verwirren, weil die Menschen es nicht jeden Tag benutzen.

W√§hrend eine Erweiterung eher eine L√∂sung darstellt, sind Erweiterungen im Vergleich zu nativ implementierten Erweiterungen ebenfalls zweitklassig (dh es k√∂nnen keine Optionen zu den Men√ľs hinzugef√ľgt werden, nur die Befehlspalette usw.).

@ glen-84 Die Entscheidung wurde getroffen, um die Einstellung additionalFolders w√§hlen, basierend auf der Stimmung im Entwicklungsteam, den von uns durchgef√ľhrten Benutzerstudien (diese 2 Videos) und dem Feedback, das wir in dieser Ausgabe erhalten haben.

@pltrant macht die Verwendung von Multi Root komplexer, da Sie st√§ndig dar√ľber nachdenken m√ľssen, einen Ordner oder ein Projekt zu √∂ffnen. Dinge wie "Open Recent" erfordern pl√∂tzlich mehr Aufmerksamkeit, wenn der ausgew√§hlte Eintrag ein Ordner oder ein Projekt ist, oder schlimmer noch, Sie h√§tten sogar zwei Auswahlm√∂glichkeiten und m√ľssten sich entscheiden, welche Sie verwenden m√∂chten.

Ich bin mir nicht sicher, wie komplex eine Einstellung ist. Grunds√§tzlich m√ľssen Sie sich nicht um die Einstellung k√ľmmern, sondern f√ľgen einfach Ordner zu Ihrem Setup hinzu und entfernen sie. Die Einstellung wird im Hintergrund aktualisiert. Ich w√ľrde argumentieren, dass Sie in den meisten F√§llen nie den Wert dieser Einstellung betrachten.

@ glen-84 In Bezug auf Ihr Beispiel eines Projekts mit 3 Ordnern gleicher Wichtigkeit denke ich, welcher die additionalFolders -Einstellungen enthalten sollte, sollte von der Abh√§ngigkeit entschieden werden. Wenn der API- Ordner beim √Ėffnen nicht von einem anderen Projekt abh√§ngig ist, sollte er als einzelner Ordner ge√∂ffnet werden und keine zus√§tzlichen Ordnereinstellungen enthalten. Aber wenn Sie den mobilen Ordner √∂ffnen, h√§ngt er vermutlich vom API-Ordner ab. Sie f√ľgen also die Einstellungen im mobilen Ordner zum √Ėffnen der API als zus√§tzlichen Ordner hinzu, wenn Sie in vscode ge√∂ffnet werden. Gleiches gilt f√ľr die Website. Wenn es von der API abh√§ngt, f√ľgen Sie dort Einstellungen hinzu. Wenn nicht, sind keine Einstellungen erforderlich.

Ich denke nicht, dass es rekursive oder kaskadierende zus√§tzliche Ordner√∂ffnungen geben wird. Ich mag auch die Idee, dass Erweiterungen andere Projektformate wie Visual Studio Solutions lesen und zus√§tzliche Ordnereinstellungen vorschlagen / einf√ľgen. Und Sie k√∂nnen jederzeit den gemeinsamen √ľbergeordneten Ordner aller √∂ffnen.

@stevencl hat beide Videos gesehen.

  1. Alternative 2 mit der Begriffsklärung scheint am klarsten zu sein. Es scheint, dass dies zusammenklappbar sein könnte (dh eine der Wurzeln im Baum), wodurch viele Projekte gleichzeitig gesehen werden könnten. Wenn Sie ein Modell benötigen, lassen Sie es mich wissen.

  2. Alternative 2 ist aus Sicht der Bildschirmimmobilien effizienter. Sie werden nicht die gleichen Informationen (Name des Projekts) oben wiederholen lassen - wie in Option 1 und dann im Stammverzeichnis jedes Projekts angezeigt.

  3. Suchergebnisse und Git k√∂nnen sich genauso verhalten ... wie ein zusammenklappbarer Baum. Die Ergebnisse w√ľrden (entlang des Status) unter der entsprechenden √úberschrift zusammengefasst. Ich denke, wenn Sie eine navigierbare Zusammenfassung w√ľnschen (wie Sie f√ľr GIT gezeigt haben, w√§re dies eine Option, die f√ľr die Suche (wie viele Dateien Sie gefunden haben) und den Projektbereich (hier k√∂nnten die Aktionsschaltfl√§chen enthalten sein) vorhanden sein k√∂nnte.

Zusammenfassend bin ich also ein Fan der einzelnen zusammenklappbaren Wurzeln mit der m√∂glichen Hinzuf√ľgung der navigierbaren Zusammenfassung. Eine Art Kombination aus Alternative 2 und diesem Beispiel

Ich hoffe, dass Sie, was auch immer Sie w√§hlen, die Erfahrung √ľber die verschiedenen Mechanismen hinweg √§hnlich machen. Sie sagen, dass es zwei Alternativen gab, aber es gibt wirklich 4, da GIT und Search beide unterschiedlich waren. Ich stimme dem zu, der diesen Kommentar abgegeben hat

Betreff: Weitergabe der Multiprojektinformationen. Ich denke, es w√§re n√ľtzlich - wie Sie es haben, w√§re zun√§chst vern√ľnftig - ich w√ľrde daf√ľr sorgen, dass nur Schluckaufgaben verwendet werden - oder Aufgaben, die VS Code verstehen k√∂nnte.

Vielen Dank f√ľr all Ihre Bem√ľhungen.

Die Implementierung des Multi-Root-Arbeitsbereichs wird unter # 28344 und in diesem Juni-Meilenstein verfolgt.

@ Gulshan ,

Es kann F√§lle geben, in denen keine Abh√§ngigkeiten bestehen. Zum Beispiel, wenn ich an website arbeite und beschlie√üe, mobile hinzuzuf√ľgen, um gleichzeitig daran zu arbeiten. Es gibt keine Abh√§ngigkeiten zwischen den beiden, aber jetzt wird website zum "Elternteil". Wenn ich zuf√§llig auf zu arbeiten mobile zuerst, dann w√§re es die Eltern geworden. Es ist nur ein bisschen willk√ľrlich. Die Ordner k√∂nnen auch f√ľr v√∂llig unabh√§ngige Projekte sein.

Unabhängig davon respektiere ich die Entscheidung der VSC-Entwickler, auch wenn ich nicht unbedingt damit einverstanden bin.

Vielen Dank f√ľr alle weiteren Kommentare. Wie oben erw√§hnt, verfolgen wir die Arbeit in Ausgabe Nr. 28344. Wir werden diese Kommentare ber√ľcksichtigen, w√§hrend wir weiter daran arbeiten, insbesondere bei der Gestaltung der SCM-Erfahrung. Wie in den Videos besprochen und wie bereits mehrfach erw√§hnt, m√∂chten wir w√§hrend der gesamten Erfahrung Konsistenz erreichen.

In Bezug auf das Komplexit√§tsproblem, das @ glen-84, @pltrant und andere vielen Dank f√ľr die detaillierten Vorschl√§ge und Antworten. Wir verstehen das Feedback und werden es weiterhin √ľberwachen, w√§hrend wir an der Funktion arbeiten.

Die Diskussion dar√ľber war sehr hilfreich und hat uns einige Denkanst√∂√üe f√ľr unser aktuelles Design gegeben. Vielleicht sollten wir beispielsweise in Betracht ziehen, Benutzern die Auswahl des prim√§ren Ordners zu erm√∂glichen, wenn sie einem Arbeitsbereich einen zweiten Ordner hinzuf√ľgen. Vielleicht werden wir dazu aufgefordert, wenn der Arbeitsbereich geschlossen ist, vielleicht ist es eine Einstellung. Viele Dinge, √ľber die wir nachdenken m√ľssen, um die Erfahrung zu optimieren.

Wie @bpasero jedoch erw√§hnt, z√∂gern wir immer sehr, VS Code um neue Konzepte (z. B. Projekte) zu erweitern. Das liegt nicht daran, dass wir glauben, dass VS Code dadurch unbrauchbar wird, sondern vielmehr daran, dass zus√§tzliche Konzepte das Gewicht oder die St√§rke von VS Code erh√∂hen und ihn komplexer wirken lassen. Solche Konzepte w√§ren etwas anderes, dem Entwickler mentale Ressourcen widmen m√ľssen.

Sobald sich etwas in VS Code befindet, ist es au√üerdem viel schwieriger, es herauszunehmen (mit der Zeit gew√∂hnen sich die Leute daran und sind darauf angewiesen). Daher verbringen wir viel Zeit damit, sorgf√§ltig zu √ľberlegen, was wir zu VS Code hinzuf√ľgen, und f√ľgen nur dann etwas hinzu, wenn wir sicher sind, dass sich die Kosten f√ľr das Hinzuf√ľgen neuer Konzepte lohnen werden. Im Moment wollen wir also herausfinden, wie erfolgreich ein Design f√ľr Multi-Root sein kann, das keine neuen Konzepte hinzuf√ľgt.

Nochmals vielen Dank f√ľr das unglaublich wertvolle Feedback. Ohne einen solchen Dialog w√§re es viel schwieriger, diese Erfahrung zu gestalten.

Genial, wie nachdenklich und reaktionsschnell Sie alle im Team sind. es wird wirklich geschätzt!

Was in Bezug auf die Komplexit√§t wahrscheinlich noch nicht gesagt wurde, ist, dass Sie sowieso einige hinzuf√ľgen. Ich denke, diese beiden Optionen werden derzeit diskutiert:

  1. Explizite Projekte.
  2. Etwas, das wie mehrere Ordner aussieht, es aber nicht ist - es gibt ein wichtiges Konzept eines prim√§ren Ordners, das Dinge wie rootUrl f√ľr Erweiterungen und m√∂glicherweise andere Dinge betrifft (z. B. Vererbung von Arbeitsbereichseinstellungen). Ich denke, dass VSCode-Benutzer dieses Konzept normalerweise verstehen m√ľssen und es m√∂glicherweise einfacher ist, klar und offen dar√ľber zu sein, als zu versuchen, es zu abstrahieren.

Eigentlich w√ľrde ich den dritten Weg bevorzugen, wirklich nichts Neues einf√ľhren, nur Dinge wie mehrere .git Repos und Suchvorg√§nge und Aufgaben und solche Dinge auf transparente Weise behandeln - so wie in den ersten zwei Dritteln der Videos vorgeschlagen (ich mochte die Drahtgitter sehr). Dann wurde mir jedoch klar, dass rootUrl f√ľr Erweiterungen ber√ľcksichtigt werden muss, was wahrscheinlich der Hauptgrund ist, warum dies kompliziert ist.

Wenn es nicht rootUrl g√§be, w√ľrde ich einfach mit UI-Updates beginnen, wie in den Wireframes vorgeschlagen, plus lokaler Persistenz des Multi-Root-Arbeitsbereichs, genauso wie alle anderen Ordner in "Zuletzt ge√∂ffnet" beibehalten werden.

Ich m√∂chte wiederholen, dass aus meiner Sicht der ideale Zustand darin besteht, dass VSCode mit mehreren Ordnern arbeitet, unabh√§ngig davon, ob es sich um SCM-Roots handelt oder nicht (Monorepo vs. mehrere Repos, siehe oben). Ich glaube, dass die vorgeschlagenen Wireframes und einige zus√§tzliche Kernaufgaben wie das Erben von .vscode -Einstellungen f√ľr "v1" der Multi-Root-Unterst√ľtzung ausreichen w√ľrden. "Projekte" oder "prim√§re + zus√§tzliche Ordner" k√∂nnten sp√§ter kommen, IMO. Was ich jedoch sage, k√∂nnte mit rootUrl , da bin ich mir nicht sicher, ich m√∂chte nur meine allgemeine Meinung dazu vermitteln.

Es ist großartig, dass Sie versuchen, dieses schwierige Problem zu lösen und die Einfachheit so weit wie möglich beizubehalten!

Ich habe ein Backend- und Frontend-Knotenprojekt und 2 VisualCode-Editoren geöffnet, was eine erhebliche Ressourcenbelastung darstellt.

Ich habe mir beide Videos angesehen und stimme dem obigen Kommentar zu, dass diese mehreren Projekte nichts miteinander zu tun haben m√ľssen. Vielleicht k√∂nnte eines ein NodeJS-Projekt sein, w√§hrend das andere C ++ ist.

Die Idee, dass eines der Projekte zum "Master" -Projekt wird, mit den zusätzlichen Projekten, hat mir nicht gefallen. Jedes Projekt sollte gleich und unabhängig sein.

Ich h√§tte erwartet, einen Ordner √∂ffnen und dann einen anderen Ordner √∂ffnen zu k√∂nnen (nicht ADD). Der Ordner wird einfach wie in Video 1 hinzugef√ľgt, wobei die Roots nur angezeigt werden (wenn Sie den Mauszeiger √ľber den Root-Ordner bewegen, werden jedoch die vollst√§ndigen Pfade in einem Tooltip angezeigt). Diese Projekte w√§ren v√∂llig unabh√§ngig. Die Auswahl des einen oder anderen w√ľrde einen Kontextwechsel verursachen. Es w√§re, als w√ľrde ich zwischen zwei Instanzen von Visual Code wechseln, beiden Einstellungen, Farbschemata und was nicht.

Die Möglichkeit, diese mehreren Projekte beizubehalten, besteht darin, diese als neue Projektdatei zu speichern, die auf die beiden anderen Projekte verweist, ohne jedoch eines der beiden Projekte selbst zu ändern. Mit anderen Worten, die beiden Projekte bleiben unabhängig, autark und kennen das dritte Projekt (Einstellungsdatei), auf das sie verweisen, nicht.

Sobald diese dritte Datei gespeichert / erstellt wurde, sollte es m√∂glich sein, Einstellungen zu erstellen, die Einstellungen aus Projekt A und B √ľberschreiben. Nicht erstellte Einstellungen h√§ngen wieder vom aktiven Projekt ab.

Wenn Sie das Projekt freigeben, k√∂nnen Sie die Projektdatei freigeben, die auf die beiden anderen verweist. Wenn sie im Dateisystem fehlen, aber einen Verweis auf ihre Github-URLs enthalten, sollte der Benutzer gefragt werden, ob er sie abrufen m√∂chte (standardm√§√üig als Unterordner im Stammverzeichnis dieser Master-Projektdatei, der Benutzer kann jedoch nach einem gew√ľnschten Ordner suchen Ort f√ľr jeden).

Die M√∂glichkeit, √ľber mehrere Projekte hinweg zu suchen, sollte optional sein, und die M√∂glichkeit, mehrere Projekte gleichzeitig auszuf√ľhren und zu debuggen, w√§re sehr n√ľtzlich, scheint jedoch f√ľr eine erste Version wirklich zu komplex zu sein, und m√∂glicherweise sollte f√ľr einen solchen Anwendungsfall ohnehin die Ausf√ľhrung von 2 Instanzen erforderlich sein. Zumindest f√ľr jetzt.

Wie dies in der Benutzeroberfl√§che aussehen sollte, ist Schritt zwei, aber funktionell w√ľrde ich erwarten, dass es so funktioniert. Ich mag die Idee nicht, entweder Projekt A zu Referenz B zu modifizieren oder umgekehrt, und das war genau die Absicht, die ich verstanden habe. F√ľr Agile Developent w√§re ich nur froh, wenn ich an 2 Projekten in einem Fenster arbeiten k√∂nnte, anstatt 2 Instanzen ausf√ľhren zu m√ľssen, aber vorerst nicht mehr. Vielleicht nicht einmal mit der 3. √ľberschreibenden Projektdatei, sondern nur mit Kontextwechsel.

Vielen Dank f√ľr das fortgesetzte Feedback. Es gibt ein bestimmtes Thema, wie die Persistenz eines Arbeitsbereichs mit mehreren Ordnern bis zu einer expliziten Aktion des Benutzers (z. B. Speichern) verz√∂gert werden kann. Wir m√ľssen mehr dar√ľber nachdenken und weiter nachforschen.

Ich w√ľrde den Entwicklern auch vorschlagen, sich Eclipse IDE anzuschauen
handhabt diese Funktionalität, sie haben es vor langer Zeit herausgefunden und es funktioniert
großartig.

Am Dienstag, den 13. Juni 2017 um 9:11 Uhr meldete Steven Clarke [email protected]
schrieb:

Vielen Dank f√ľr das fortgesetzte Feedback. Es gibt ein bestimmtes Thema
Verzögern der Persistenz eines Arbeitsbereichs mit mehreren Ordnern bis zu einem expliziten
Aktion des Benutzers (z. B. Speichern). Wir m√ľssen mehr dar√ľber nachdenken
und weiter untersuchen.

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/Microsoft/vscode/issues/396#issuecomment-308110390 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AAQsBWywBoe2KQRGuXKHv179MmugstCfks5sDop7gaJpZM4Gm3nX
.

- -
Daniel Sokolowski
Technischer Architekt

Stantive Technologies Group Inc.
Telefon: +1 (613) 634-7410
http://www.stantive.com

Vertraulichkeitserklärung:
Die √ľbermittelten Informationen sind nur f√ľr die Person oder Organisation bestimmt
welche es angesprochen wird und vertraulich und / oder privilegiert enthalten kann
Material. Jegliche √úberpr√ľfung der Weiterverbreitung oder sonstigen Verwendung von oder
Ergreifen von Maßnahmen in Abhängigkeit von diesen Informationen durch Personen oder
andere Stellen als der beabsichtigte Empfänger sind verboten. Wenn Sie erhalten haben
In diesem Fall wenden Sie sich bitte umgehend elektronisch an den Absender
Übertragung und löschen Sie dann sofort diese Übertragung einschließlich aller
Anhänge ohne Kopieren, Verteilen oder Offenlegen.

Masterprojekt
Ich bin gegen ein MASTER-Projekt. Kontextwechsel treten h√§ufig auf, wenn mit verschiedenen Mikrodiensten gearbeitet wird. Dies gilt f√ľr die folgenden Punkte zu Flusen und SCM.

Persistenz des Arbeitsbereichs
Ich denke, dass wir bei der ersten Iteration den Arbeitsbereich nicht beibehalten m√ľssen. Ich w√ľrde Iterationen f√ľr ein oder zwei Releases f√ľr diese Funktion bevorzugen, bevor wir Einstellungen oder Persistenzschichten einf√ľhren, um komplexe oder destruktive Migrationen zu minimieren.

Flusen / Einstellungen
Projektspezifisches Flusen sollte in Dateien in den entsprechenden Verzeichnissen benannt werden. Zum Beispiel verwendet Projekt A h√ľbscher, w√§hrend Projekt B Standard verwendet. Das Wechseln zwischen beiden Kontexten sollte nahtlos sein, ohne dass sich die Regeln widersprechen.

Suche
Liebte einige der Wireframes f√ľr dieses, bei denen die Suchergebnisse √ľber alle Projekte verteilt und nach Projekten sortiert waren.

_Project A_
file1: matched substring
file2: matched substring
...

_Project B_
file3: matched substring
file4: matched substring

SCM
In diesem Fall neige ich eher dazu, mit jeder scm-√Ąnderung eine Aufschl√ľsselung nach Projekten anzuzeigen.

_Project A_
file1: added
file2: removed
...

_Project B_
file3: moved
file4: added
file5: added

Ich denke, diese Ansätze sind transparenter und intuitiver.

Der Konsens (basierend auf j√ľngsten Kommentaren und anderen Themen) scheint zumindest in der ersten Version gegen die Idee von additionalFolders zu sein .

Obwohl ich verstehe, dass die Entscheidung bereits getroffen wurde, w√ľrden Sie in Betracht ziehen, diese Funktion als eine Reihe von APIs zu implementieren, w√§hrend Sie die Persistenz f√ľr eine sp√§tere Iteration belassen? APIs zum Hinzuf√ľgen / √Ėffnen von Ordnern und Aktualisierungen des Explorers, der Suche, der Aufgaben und der SCM-Ansichten, um dies zu unterst√ľtzen.

Sie haben dar√ľber gesprochen, wie schwierig es ist, etwas aus dem Produkt zu entfernen (wenn ein Projekt- / Arbeitsbereichskonzept irgendwie fehlgeschlagen ist), aber die Realit√§t ist, dass dies gleicherma√üen (wenn nicht mehr) f√ľr das additionalFolders -Konzept gilt.

Wenn Sie sowohl additionalFolders als auch "Projekte / Arbeitsbereiche" als Erweiterungen implementieren, k√∂nnen Sie Nutzungsdaten erfassen, ohne sich auf ein einzelnes Modell festlegen zu m√ľssen. Eine dieser Erweiterungen (oder eine Hybridl√∂sung) k√∂nnte sp√§ter in das Produkt integriert werden.

Wurden die Probleme mit der Umgebung unter Mac OS behoben? Ich bin immer noch nicht in der Lage, Homebrew npm und dergleichen zu verwenden, ohne VSCode √ľber die Befehlszeile √ľber code zu √∂ffnen, und dies wird sicherlich Chaos mit Multi-Root-Unterst√ľtzung bringen?

Ja, das ist auch f√ľr mich ein Muss. Ich verstehe die Probleme der Leute damit nicht. Es ist m√∂glicherweise nicht die Art und Weise, wie eine Person arbeitet, aber das bedeutet nicht, dass die bevorzugte Arbeitsbereichsverwaltung einer anderen Person weniger g√ľltig ist. Ich hasse nur die Antworten von "Warum willst du das tun?" statt "Lassen Sie uns herausfinden, wie Sie eine Funktion hinzuf√ľgen k√∂nnen, die jeder andere Code-Editor auf der Welt hat."

Zur√ľck zu Atom, denke ich.

@saborrie https://github.com/Microsoft/vscode/issues/24961 (Ich habe das gleiche Problem sowohl bei Insidern als auch bei regulären Versionen). Wenn ich beim Debuggen helfen kann, bin ich ein Spiel.

@akutz Diese Leute haben sich sehr viel M√ľhe gegeben, ein anst√§ndiges Multi-Root-System zu entwerfen. Sie haben sogar Videos ihrer Design-Sessions erstellt (es war in den neuesten Versionshinweisen). Es kommt, aber sie stellen sicher, dass sie es richtig machen :-) (https://code.visualstudio.com/updates/v1_13)

Hallo @cliffrowley ,

Gut zu h√∂ren. Ich habe mir VSCode erst k√ľrzlich noch einmal angesehen, da ich Atom schon immer verwendet habe (und Sublime zuvor). Vor kurzem war Atom problematisch und in einem Reddit-Thread habe ich gesehen, dass VSCode heutzutage wirklich eine gro√üartige Option ist. Daher war ich √ľberrascht, dass es keine Grundfunktion unterst√ľtzt.

Ich staple mich hier an - dies ist wirklich die einzige Funktion, die mich davon abh√§lt, ganzt√§gig von IntelliJ / WebStorm auf VSCode umzusteigen ... haupts√§chlich, weil ich, wie bereits erw√§hnt, den ganzen Tag mit verteilten Architekturen arbeite und mehrere integrierte Git-Verwaltungsfunktionen ben√∂tige an meinen Redakteur (weil ich zu faul bin ūüėÜ)

Ich liebe es, dass Sie daran arbeiten, und ich kann es kaum erwarten, es in Aktion zu sehen.

Ich mag vscode, aber diese "fehlende Funktion" hält mich davon ab, vollständig von Atom zu vscode zu wechseln

Eine fr√ľhe Version befindet sich bereits im Insider-Build. Holen Sie es :)

+1 Benötige diese Funktion

Erste Vorschau-Version ist sehr nette Leute!
Es gibt bereits ein kleines Problem, bevor ich √ľberhaupt anfange, richtig zu testen ...
Wenn ich zwei "Stamm" -Ordner mit dem gleichen Namen aus zwei separaten Projekten hinzuf√ľge, gibt es nichts, was diese Ordner voneinander unterscheidet.

zB f√ľge ich /dev/www/myproject/src und f√ľge dann /dev/libraries/mycomponent/src
Ich sehe nur zwei Stammordner mit dem Namen src .

> src
> src

Ich glaube, wir brauchen eine Möglichkeit, den Anzeigenamen der Stammordner zu ändern.
Welches w√ľrde dann anzeigen:

> My Project (/src)
> Component 1 (/src)

Gedanken?

VSCode zeigt einen Teil des Ordnernamens an, wenn Sie zwei Dateien mit demselben Namen öffnen, die auch mit Ordnern funktionieren könnten.

@doublehelix Wir haben dies k√ľrzlich besprochen, hatten aber nirgendwo die https://github.com/Microsoft/vscode/issues/29871 erstellt , danke ūüėĄ

@ Tyriar Ich finde die Suchfunktion, gelinde Explorer anzeigen sollte, wie ich bereits sagte .

Ich wei√ü nicht, ob ihr euch angesehen habt, was ich und einige Leute oben gesagt haben, oder ob weitere √Ąnderungen kommen, aber ich pers√∂nlich mag es nicht, wie ihr den Namen der Wurzel jedes Mal anf√ľgt, anstatt Dinge in einem Baum zu sortieren -√§hnliche Ansicht, wenn m√∂glich.

@eyalsk Es ist in Arbeit, ich werde mir die Suchergebnisse im Juli genauer ansehen: # 29977

Das vscode-Projekt basiert auf einem Ordner.
Sie können also die Konfiguration jedes Projekts separat konfigurieren und das integrierte Git direkt verwenden oder nicht.

PyCharm: Herz :: Herz :: Herz:

+1

Ich muss Sie loben, liebes VSCode-Team.
Endlich kann ich Atom loswerden, da Multi-Root-Arbeitsbereiche in den Insider-Builds gelandet sind!
Seit zwei Jahren werden .gitignore usw. in Atom bei der Suche in Multi-Root-Arbeitsbereichen nicht mehr beachtet und Sie haben es von Anfang an richtig verstanden!

Wird die Persistenz von Arbeitsbereichen in einem anderen Problem verfolgt?

Gestern hat das VS Code Team eine neue Version von VS Code mit der Funktion Multi Root Workspaces ūüéČ ver√∂ffentlicht.

Das Ergebnis dieser Arbeit ist das sogenannte "Minimum Viable Product" (MVP), um Tests in mehreren Arbeitsbereichen f√ľr Stammordner zu erm√∂glichen.

Tats√§chlich ist es nur im Insider-Build verf√ľgbar, sodass Sie es hier herunterladen k√∂nnen. Laden Sie

Dateimanager

Suche

Angenommen, jeder dem Arbeitsbereich hinzugef√ľgte Ordner ist ein separates Git-Repository. Behandelt die aktuelle Version von Multi Root Workspaces die differenzierte Quellcodeverwaltung dieser Repositorys?

@Weyzu Wir arbeiten daran, SCM f√ľr Multi-Root-Szenarien in diesem Meilenstein

Das Ergebnis sollte sowohl f√ľr Multi-Root-Szenarien als auch f√ľr Single-Root-Szenarien, in denen mehrere Repositorys in einem Root enthalten sind, eine bessere Erfahrung bieten.

Das Ergebnis sollte sowohl f√ľr Multi-Root-Szenarien als auch f√ľr Single-Root-Szenarien, in denen mehrere Repositorys in einem Root enthalten sind, eine bessere Erfahrung bieten.

Exzellenter Ansatz, ihr rockt!

@bpasero super ! Es w√ľrde mich auf jeden Fall interessieren, wie sich eure Jungs darum k√ľmmern. IntelliJ / WebStorm hat etwas √Ąhnliches, bei dem Git-Roots automatisch erkannt und unten rechts f√ľr Sie entsprechend ausgerichtet werden. Ich pers√∂nlich habe es geliebt, es zu verwenden.

image

Habt ihr etwas in diese Richtung gedacht oder etwas ausgefeilteres?

Wir sortieren noch die UX daf√ľr und werden Sie √ľber die Ergebnisse auf dem Laufenden halten.

K√∂nnte ein virtuelles Dateisystem-Root hier nicht funktionieren? Es w√ľrde effektiv so tun, als w√§re der VFS-Stamm das √ľbergeordnete Verzeichnis f√ľr mehrere unterschiedliche Pfade.

Ich wollte ein Update zu unserer Multi-Root-Arbeit geben, da heute der erste Tag ist, an dem unsere √ľberarbeitete Multi-Root-UX die Insider-Version erreicht hat und viele von Ihnen, die sich an das "alte" Verhalten gew√∂hnt haben, m√∂glicherweise verwirrt sind, was los ist.

Mängel der alten Lösung
Die alte L√∂sung f√ľr Multi-Root w√ľrde eine neue Einstellung workspace (in das globale settings.json ) einf√ľhren, mit der einem einzelnen Root-Ordner zus√§tzliche Ordner hinzugef√ľgt werden k√∂nnen. Die Einstellung sah folgenderma√üen aus, falls Sie es nicht bemerkt haben:

{
  "path to folder": [
      "additionalFolder1",
      "additionalFolder2"
   ]
}

Wir nennen diese Lösung "Master" -Ordner mit zusätzlichen Ordnern ("Detail").

Dies war die einfachste L√∂sung, ohne viele neue Konzepte einzuf√ľhren, hat aber auch M√§ngel:

  • Sie konnten den Hauptordner nie wieder als Einzelordner √∂ffnen, da die Einstellung beibehalten wurde
  • Sie konnten den Hauptordner nicht aus dem Explorer entfernen
  • Einige Einstellungen aus dem Hauptordner wurden auf alle anderen Ordner angewendet
  • Ihre Einstellungen werden durch Konfigurationsmaterial mit mehreren Wurzeln verschmutzt
  • Es ist schwierig zuzulassen, dass mehrere Ordner gleichzeitig ge√∂ffnet werden (z. B. wenn Sie 3 √∂ffnen, welchen Hauptordner sollten wir verwenden?).

Unsere Lösung
Wir sind der Meinung, dass f√ľr Szenarien mit mehreren Wurzeln ein expliziteres Arbeitsbereichskonzept erforderlich ist. Daher werden im heutigen Insider einige neue Benutzeroberfl√§chen auftauchen:

image

Die Idee ist, dass f√ľr Multi-Root-Arbeitsbereiche eine explizite Aktion erstellt werden muss. So wie Sie sich in einem leeren Arbeitsbereich (kein Ordner ge√∂ffnet, lila Statusleiste) oder in einem Einzelordner-Arbeitsbereich (hellblaue Statusleiste) befinden k√∂nnen, k√∂nnen Sie sich auch in einem Arbeitsbereich mit mehreren Wurzeln befinden (dunkelblauer Status) Bar). Diese dritte M√∂glichkeit, einen Arbeitsbereich in VS Code zu √∂ffnen, erm√∂glicht es, so viele Ordner zu haben, wie Sie m√∂chten. Diese Arbeitsbereiche k√∂nnen in einer Datei gespeichert werden (z. B. myWorkspace.code ) und enthalten auch Arbeitsbereichseinstellungen. Sie sind jedoch nicht gezwungen, sie zu speichern. Solange Sie sie nicht speichern m√∂chten, werden sie als "Arbeitsbereiche ohne Titel" angezeigt.

Um einen Arbeitsbereich zu öffnen, können Sie entweder die gespeicherte Arbeitsbereichsdatei öffnen oder aus der zuletzt geöffneten Liste auswählen:

image

Dies ist alles sehr junger Code und sehr junges UX. Erwarten Sie daher in den n√§chsten Wochen einige √Ąnderungen. Wir wissen, dass noch einige Dinge zu kl√§ren sind (z. B. wie k√∂nnen wir den √úbergang von Einzelordnern zu Mehrordnern reibungsloser gestalten).

Einige √Ąnderungen, die bereits heute vorgenommen wurden und die Insider-Ver√∂ffentlichung von morgen aufgrund von R√ľckmeldungen treffen werden:

  • Benennen Sie .code in .code-workspace als Erweiterung f√ľr Arbeitsbereiche um
  • eine einheitliche Liste von Ordnern und Arbeitsbereichen haben (z. B. unter Datei> Zuletzt ge√∂ffnet), anstatt zwischen Ordnern und Arbeitsbereichen zu unterscheiden

Bleib dran, damit noch mehr kommt ūüĎć

Dar√ľber hinaus haben wir jetzt einen Ordner .vscode pro Projektordner, der die Datei settings.json . Diese Datei kann Folgendes enthalten:

// Place your settings in this file to overwrite default and user settings.
{
      "editor.wordWrap": "on",
      "files.autoSave": "onFocusChange",
       "editor.fontSize": 15
}

Das Problem hierbei ist, dass wir dieselben Einstellungen verwenden, wenn wir mit mehreren Benutzern (unterschiedliche RDP-Sitzungen) auf dem Server in denselben Projektordnern arbeiten möchten. Dies ist möglicherweise nicht das beabsichtigte Verhalten. Ich möchte vielleicht, dass meine Schriftgröße größer ist als die meines Kollegen.

Meiner Meinung nach sollten Sie auch ber√ľcksichtigen, dass verschiedene Benutzer m√∂glicherweise an denselben Ordnern arbeiten, jedoch mit unterschiedlichen Einstellungen in settings.json .

@ DarkLite1 Sie

In Ihrem Beispiel geht es um die Einstellung editor.fontSize , die wir sogar in einem Arbeitsbereich mit mehreren Stammverzeichnissen pro Ordner unterst√ľtzen. Ich denke, es k√∂nnte ein g√ľltiges Szenario sein, dass ein Benutzer eine gr√∂√üere Schriftgr√∂√üe f√ľr einen Ordner haben m√∂chte, der viele Markdown-Dokumentationen enth√§lt (vielleicht sogar eine andere Schriftart?). Daher w√ľrde ich denken, dass wir nicht verhindern sollten, dass diese Einstellung pro Ordner auch in einer Umgebung mit mehreren Stammverzeichnissen eingehalten wird.

Wenn Sie editor.fontSize als persönliche Arbeitsbereichseinstellung behalten möchten, sollte es meiner Meinung nach nicht in das Repository eingecheckt werden.

Mit dem neuen Arbeitsbereichskonzept können Sie Folgendes tun:

  • Datei> Arbeitsbereiche> Neuer Arbeitsbereich
  • W√§hlen Sie Ihren Ordner
  • √Ėffnen Sie die Arbeitsbereichseinstellungen
  • √Ąndern Sie editor.fontSize: 15

Von da an wird Ihr Arbeitsbereich diese Einstellung √ľbernehmen, aber Sie erzwingen sie nicht f√ľr andere.

Aus UX-Sicht w√§re es praktisch, wenn ich Ordner per Drag & Drop in ein VS-Code-Fenster ziehen k√∂nnte, ohne vorher explizit einen Arbeitsbereich erstellen zu m√ľssen (dies ist etwas, was ich in Sublime st√§ndig mache). Ich arbeite immer an mehreren Projekten gleichzeitig und je nachdem, woran ich arbeite, wird es jeden Tag eine andere (√ľberlappende) Gruppe von Projekten geben.

Arbeitsbereiche w√ľrden ein Konzept einf√ľhren, das nicht meiner Arbeitsweise entspricht, und ich m√ľsste verschiedene Arbeitsbereichskonfigurationen (so wie ich es verstehe) im Auge behalten, was so klingt, als w√ľrde dies zu Konfigurationsst√∂rungen in meinen Projektordnern f√ľhren.

Au√üerdem denke ich, dass ich f√ľr viele Benutzer spreche, wenn ich argumentieren w√ľrde, dass Dinge wie Suche und Konfiguration standardm√§√üig global sind (gilt f√ľr alle ge√∂ffneten Ordner) - obwohl es sch√∂n w√§re, wenn ich die Option h√§tte, lokal in einem Ordner zu suchen ( Ich hatte das in Sublime immer als schwierig empfunden.

@SanderMertens Sie haben das vielleicht verpasst, aber @bpasero hat geschrieben;

Diese Arbeitsbereiche können in einer Datei (z. B. myWorkspace.code) gespeichert werden und enthalten auch Arbeitsbereichseinstellungen. Sie sind jedoch nicht gezwungen, sie zu speichern. Solange Sie sie nicht speichern möchten, werden sie als "Arbeitsbereiche ohne Titel" angezeigt.

Jetzt bin ich mir nicht sicher, ob Sie Ordner ziehen und ablegen können, aber nach dem, was ich bekomme, können Benutzer beliebige Ordner öffnen, ohne einen Arbeitsbereich zu erstellen.

Ich kann es kaum erwarten, dass diese Funktion in den stabilen Build aufgenommen wird.

Yay! ūüėĄ

Derzeit k√∂nnen Sie keinen Ordner in den Explorer ziehen, um ihn hinzuzuf√ľgen. Dies befindet sich jedoch in unserem Backlog. Die Komplikation bei dieser Interaktion besteht darin, dass wir die Absicht des Benutzers nicht kennen: den Ordner im Fenster zu √∂ffnen oder ihn dem Arbeitsbereich hinzuzuf√ľgen?

Der √úbergang von einem Ordner zu vielen Ordnern ist derzeit ein expliziterer Schritt als bei anderen Editoren (Sie m√ľssen √ľber Datei> Arbeitsbereiche> Arbeitsbereich speichern die gew√ľnschten Ordner ausw√§hlen). Es gibt mehrere Gr√ľnde, warum wir vorerst mit dem aktuellen Verhalten fortfahren m√∂chten, bis sich die Mehrfachwurzel stabilisiert. Der Hauptgrund ist, dass Multi-Root eine wichtige √Ąnderung f√ľr alle unsere Erweiterungen darstellt. W√§hrend der Explorer funktioniert und Sie alle Ordner durchsuchen k√∂nnen, funktionieren die meisten Erweiterungen erst dann ordnungsgem√§√ü, wenn die neue Multi-Root-API √ľbernommen wurde. Daher m√∂chten wir es am Anfang nicht zu einfach machen, versehentlich in Multi-Root einzusteigen. Es ist eine explizite Benutzergeste, mehrere Root-Arbeitsbereiche aufzurufen. In diesem Modus m√∂chten wir m√∂glicherweise darauf aufmerksam machen, dass einige Erweiterungen noch nicht funktionieren.

Ein weiterer Grund sind die Einstellungen des Arbeitsbereichs: Stellen Sie sich diesen Ablauf vor:

  • Sie beginnen mit 1 Ordner mit Arbeitsbereichseinstellungen
  • Sie f√ľgen einen zweiten Ordner hinzu (vorausgesetzt, dies funktioniert ohne Kontextwechsel und erneutes Laden des Fensters).
  • Sie √∂ffnen Arbeitsbereichseinstellungen
    => Arbeitsbereichseinstellungen in Multi Root werden jetzt an einem Ort außerhalb der Ordner gespeichert, da Sie mehrere haben können
    => Wir m√ľssen den Benutzer wahrscheinlich fragen, ob der Benutzer die Arbeitsbereichseinstellungen an diesen neuen Speicherort migrieren m√∂chte

Unabh√§ngig davon ist die Eingabe von Multi-Root derzeit keine einfache Operation. Wir werden dies vielleicht noch einmal √ľberpr√ľfen, wenn sich der Staub gelegt hat und die Mehrwurzel weit verbreitet ist, aber im Moment denken wir, dass dieses Modell besser ist und Frustrationen vermeidet.

@bpasero Ich denke, dass ein Ordner, der einmal in den Explorer gezogen wurde, standardm√§√üig nicht automatisch im Arbeitsbereich gespeichert werden sollte , obwohl einer vorhanden sein k√∂nnte. Dies sollte eine explizite Aktion sein, bei der der Benutzer auf die Ordner klickt, die er / sie hat Ziehen Sie es und f√ľgen Sie es dann explizit zum Arbeitsbereich hinzu. Wenn Sie nur wenige nicht verwandte Ordner haben, ist es m√∂glicherweise sinnvoll, eine weitere Aktion bereitzustellen, um alle auf einmal zu speichern.

Es h√§ngt alles von den Anwendungsf√§llen ab, die abgedeckt werden sollen. Ich habe aus Erfahrung herausgefunden, dass KISS immer der beste Ansatz ist. Die Einf√ľhrung von Workspaces klingt gro√üartig als feature aber was ist der wahre Vorteil und was sind die Nachteile?

Ein Nachteil, der bei der Einf√ľhrung und Verwendung von Workspaces in den Sinn kommt, besteht darin, dass die Daten (Einstellungen) irgendwo gespeichert werden m√ľssen und die Wartung / Kenntnis des Benutzers erforderlich ist.

Angenommen, das einzige Ziel besteht darin, Benutzern die Möglichkeit zu geben, mit mehreren Ordnern in einer VS-Code-Sitzung zu arbeiten. Nicht weniger, nicht mehr.

Häufigster Anwendungsfall:
Es gibt kein Workspaces -Konzept. Der Benutzer √∂ffnet nur einen zus√§tzlichen Ordner oder so viele, wie er m√∂chte, und sie √∂ffnen sich in der Ansicht links wie ein einzelner Ordner. Er erwartet, dass seine Einstellungen √ľberall gleich sind. unabh√§ngig davon, wo sich seine Dateien befinden. Und er m√∂chte keine zus√§tzliche Unordnung von VS-Code-Konfigurationsdateien zwischen seinen Projektdateien, wie von @SanderMertens , mir und wahrscheinlich auch anderen da drau√üen angegeben.

Herausforderungen / Probleme / Fragen:

  • Warum gibt es so unterschiedliche Einstellungsdateien? Benutzereinstellungen, Arbeitsbereichseinstellungen? Es sollte meiner Meinung nach alle an ein und demselben Ort aufbewahrt werden. Nach Belieben im Benutzer seinen pers√∂nlichen Ordner / Profil, so dass jeder Benutzer im System seine eigenen Einstellungen haben kann. Extrabonus. Sie √ľberladen die Projektdateien nicht und mehrere Benutzer k√∂nnen ihr eigenes Ding machen. Profil l√∂schen? Gro√üartig! Reinigen Sie den Schiefer auch f√ľr VS-Code.

Ich denke, Workspaces sind ein bisschen √ľbertrieben, wenn Sie wollen:
Geschwindigkeit, Einfachheit und ein Editor, der einfach funktioniert. Keine √ľberm√§√üigen Komplikationen oder das Verst√§ndnis zus√§tzlicher Konzepte. Wenn Benutzer von Sublime oder anderen Editoren dieses Konzept nicht in ihrem Workflow verwenden, sollte dies ein Hinweis auf √ľberdenkende Dinge sein. Oder es k√∂nnte bedeuten, dass etwas wirklich Fantastisches erfunden wird, das auch andere Editoren implementieren werden, aber ich habe meine Zweifel.

Es tut mir leid, wenn das so laut klingt, das ist absolut nicht meine Absicht. Aber ich glaube, wir können es beim Zugriff auf mehrere Stamm- / Ordner besser machen.

@ DarkLite1 Vielen Dank, dass Sie sich die Zeit genommen haben, Feedback zu unserer neuen Strategie f√ľr Arbeitsbereiche zu geben.

Ich stimme all Ihren Punkten zu und möchte auch eine einfache Lösung. Workspaces als Konzept ist unser erster Schritt in Richtung einer Multi-Root-Lösung, die mit unseren vorhandenen Mustern (Arbeitsbereichseinstellungen, Erweiterungen usw.) funktioniert. Da dies der erste Schritt ist, sollten Sie mit etwas raueren Kanten rechnen (z. B. ist der Übergang von 1 zu N Ordnern nicht so einfach wie er sein könnte). Unser Ziel ist es, diesen Übergang reibungslos und nicht komplexer zu gestalten, als es in Zukunft sein muss. Außerdem möchten wir einen Benutzer nicht zwingen, diese Arbeitsbereiche zu verwalten (aus diesem Grund haben wir "Arbeitsbereiche ohne Titel", die so lange aktiv sind, wie das Fenster geöffnet ist und nach dem Schließen des Fensters nicht mehr angezeigt wird).

Bei Multi-Root-Arbeitsbereichen sind einige Dinge zu beachten, die m√∂glicherweise nicht so offensichtlich sind. Ich hoffe, die folgende ausf√ľhrliche Erkl√§rung hilft, unseren Entwurfsprozess zu verstehen:

Arbeitsbereichseinstellungen
Wir unterst√ľtzen Einstellungen in einem Arbeitsbereichsordner ( .vscode Ordner). So sehr einige Benutzer diese Art von Einstellungen, die in .gitignore -Dateien oder im Repository landen, m√∂glicherweise nicht m√∂gen, gibt es viele, die sich auf diese Funktionalit√§t verlassen. Wir k√∂nnen nicht einfach aufh√∂ren, Einstellungen zu unterst√ľtzen, die sich in Ordnern befinden, weil Benutzer sich auf sie verlassen. F√ľr Multi-Root-Szenarien ist es jetzt klar, dass wir einen neuen Ort f√ľr die Einstellungen des Arbeitsbereichs finden m√ľssen. Wir haben das Konzept einer Arbeitsbereichsdatei entwickelt, die diese Einstellungen enth√§lt. Solange der Arbeitsbereich nirgendwo gespeichert ist, befindet er sich in einem Ordner, in dem andere VS-Code-spezifische Daten enthalten sind. Wenn Sie die Datei speichern, befinden sich die Einstellungen in dieser Datei.

Stellen Sie sich nun vor, Sie beginnen mit 1 Ordner in VS Code, f√ľr den Arbeitsbereichseinstellungen definiert sind, und m√∂chten einen zweiten Ordner hinzuf√ľgen. Was sollen wir jetzt tun? Arbeitsbereichseinstellungen des ersten Ordners ignorieren? Bitten Sie den Benutzer, die Einstellungen zu migrieren? Wir haben beschlossen, dies zu einem expliziten Kontextwechsel zu machen, um zu verdeutlichen, dass das √Ėffnen eines Arbeitsbereichs seine eigenen Arbeitsbereichseinstellungen an einem anderen Ort enth√§lt.

Stellen Sie sich vor, Sie sind von 1 Ordner zu 2 Ordnern gewechselt und haben die Einstellungen f√ľr den Arbeitsbereich an einen anderen Ort verschoben. Stellen Sie sich vor, Sie nehmen √Ąnderungen an diesen Arbeitsbereichseinstellungen vor. Wenn Sie jetzt von 2 Ordnern zu 1 zur√ľckkehren m√∂chten, m√∂chten Sie die Arbeitsbereichseinstellungen wieder in den Ordner migrieren?

Ein weiteres Beispiel: Sie wechseln von 1 zu 2 Ordnern und konfigurieren die Arbeitsbereichseinstellungen. Jetzt schlie√üen Sie das Fenster. Ich denke, Sie w√ľrden sauer auf uns werden, wenn Sie nicht auf irgendeine Weise zu diesem Arbeitsbereich zur√ľckkehren k√∂nnten, weil Sie die Einstellungen f√ľr diesen Arbeitsbereich sorgf√§ltig konfiguriert haben. Auch wenn Ihnen das Konzept eines Arbeitsbereichs nicht gef√§llt, m√∂chten Sie, nachdem Sie die Einstellungen daf√ľr konfiguriert haben, dass dieser Arbeitsbereich weiterlebt.

Ich hoffe, diese Beispiele machen es ein bisschen einfacher zu verstehen, warum KISS f√ľr uns nicht so einfach ist, wie man denkt.

Erweiterungen
Alle unsere Erweiterungen arbeiteten immer mit einer API, die einen einzelnen Arbeitsbereichspfad bereitstellt, da wir bisher keine Multi-Root-Arbeitsbereiche unterst√ľtzten. Als Benutzer k√∂nnte man denken, dass das Wechseln von 1 Ordner zu 2 Ordnern ein sehr einfacher und einfacher Vorgang ist, aber f√ľr Erweiterungen kann dies eine Menge bedeuten: Spracherweiterungen, bei denen bisher nur ein Ordner angenommen wurde, m√ľssen pl√∂tzlich mehrere kennen Ordner. Dar√ľber hinaus k√∂nnen diese Ordner jederzeit sehr dynamisch ein- und ausgehen.

Die Einf√ľhrung eines echten Arbeitsbereichskonzepts gibt uns mehr Raum und Zeit f√ľr die Breite und hilft Erweiterungen, dieses Konzept zu √ľbernehmen. Wir k√∂nnten beispielsweise Erweiterungen deaktivieren, die noch keine Multi-Root-Arbeitsbereiche verwendet haben, um zu verhindern, dass seltsame Dinge passieren (z. B. funktioniert eine Spracherweiterung nur in einem Ordner und meldet falsche Fehler in dem anderen).

Lassen Sie uns zun√§chst versuchen, die Multi-Root-Unterst√ľtzung mit diesen neuen Arbeitsbereichen zu stabilisieren, und dann erneut pr√ľfen, wie leicht wir die √úberg√§nge vornehmen k√∂nnen. Sobald wir Erweiterungen an Bord haben und unsere Einstellungsgeschichte herausgefunden haben, k√∂nnen wir den Flip zu einem leichteren Erlebnis machen.

PS: Da Sie in Bezug auf ihre Multi-Root-Unterst√ľtzung auf andere Editoren verweisen, wollte ich nur darauf hinweisen, dass diese Editoren auch einen Arbeitsbereich oder ein Projektkonzept enthalten, das Sie in einer Datei speichern und mit anderen teilen k√∂nnen. In der Regel werden diese Konzepte nicht angezeigt, da das Wechseln von 1 zu N Ordnern ein sehr einfacher Vorgang ist. Ich w√ľrde jedoch argumentieren, dass Personen, die sich auf diese Funktion verlassen, beginnen, in gespeicherte Arbeitsbereiche / Projekte zu wechseln, um die Arbeit zu verwalten. Wenn Sie beispielsweise den Arbeitsbereich / das Projekt nicht speichern und das Fenster schlie√üen, gehen alle diese Informationen verloren.

@bpasero Danke, dass Sie sich bei mir

Da ich Sublime nicht vollst√§ndig kenne, habe ich mir erlaubt, zu √ľberpr√ľfen, wie sie damit umgehen. Und Sie haben Recht, sie verwenden auch Workspaces und sogar Project Dateien. Das einzige, was mich ein bisschen st√∂rt, ist, dass es VS-Code-Dateien zwischen mein Projekt legt. Aber wie Sie bereits erw√§hnt haben, muss ber√ľcksichtigt werden, dass dies m√∂glicherweise das Beste ist, wenn sich andere darauf verlassen. Ich frage mich nur, warum diese Einstellungsdateien nicht benutzerspezifisch sind. Ich kann mir vorstellen, dass ein Kollege VS Code in derselben Ordnerstruktur √∂ffnet, aber seine eigenen Einstellungen haben m√∂chte.

Wenn Workspaces der richtige Weg ist und es scheint, dass dies der Fall ist, ist es beim √Ėffnen der App logisch, dass die zuletzt verwendeten Einstellungen neu geladen werden. Auch wenn dies ein nicht gespeichertes Workspace . Es macht das Leben ein bisschen einfacher, denke ich.

Warum habe ich mich f√ľr VS Code entschieden? Da es plattform√ľbergreifend ist, da ich Linux zu Hause und Windows bei der Arbeit verwende, k√∂nnte dies wirklich mein Standardeditor werden! Als zus√§tzlichen Bonus bin ich ein PowerShell-Entwickler und es gibt auch eine Erweiterung daf√ľr. Also zwei gro√üe Siege! Dar√ľber hinaus macht Red Hat f√ľr den Java-Kurs, den ich verfolge, eine Erweiterung auch f√ľr VS Code. Wenn Sie VS Code mit seinen Verkn√ľpfungen und allem besser kennenlernen, profitieren Sie auf ganzer Linie.

Die App und ihre Erweiterungen befinden sich an einigen Stellen noch in der Beta- oder sogar Alpha-Phase, aber trotzdem gro√üartige Arbeit, Leute! Sch√§tzen Sie wirklich die Bem√ľhungen und sehen Sie jeden Tag die Fortschritte in den Insider-Builds. Mach weiter so und w√ľnsche dir ein sch√∂nes Wochenende.

Vielen Dank f√ľr diese Erkl√§rung @bpasero , ich glaube, ich verstehe jetzt besser, was die Komplexit√§t ist.

Ein Ansatz k√∂nnte darin bestehen, alle Projekte mit derselben Konfiguration wie ein Arbeitsbereich konzeptionell zu behandeln. Dar√ľber hinaus k√∂nnen Sie keinen .vscode -Ordner hinzuf√ľgen, solange das Projekt nicht von der Standardkonfiguration abweicht. Das sollte:
1) Beseitigen Sie die meisten Unordnung in Projekten
2) Verhindern Sie die meisten Konfigurationskonflikte beim Hinzuf√ľgen von Projekten (im einfachen Fall gibt es keine Konfiguration).

Ich denke, das besprochene explizite Arbeitsbereichskonzept ist eine gute L√∂sung f√ľr das erw√§hnte Problem. Mit diesen beiden einfachen Regeln minimiere ich die Anwendungsf√§lle, in denen Menschen auf dieses Problem sto√üen.

Wenn ich mir die Kommentare im Thread und meine Anwendungsfälle anschaue, sehe ich _Multi-Ordner_ und _Workspaces_ als zwei verschiedene Konzepte, und vielleicht sollte es auch separat behandelt werden.

Es sollte nicht erzwungen werden, einen Arbeitsbereich zu erstellen, nur um dem aktuellen Fenster einen weiteren Ordner hinzuzuf√ľgen. Es sollte nur den neuen Ordner in den Baum einf√ľgen und den neu erstellten Arbeitsbereich als _interne Info_ belassen. Wenn der Benutzer beschlie√üt, den Arbeitsbereich zu speichern, wird der Arbeitsbereich tats√§chlich erstellt. Und selbst wenn ich den Arbeitsbereich beim erneuten √Ėffnen des obersten Ordners nicht speichere, w√ľrde er sich an meinen tempor√§ren Arbeitsbereich erinnern und auch die anderen Ordner √∂ffnen, so wie er sich an die ge√∂ffneten Dateien erinnert, wenn Sie heute einen Ordner √∂ffnen. √úbrigens frage ich mich, wie ich mehrere Ordner in der Befehlszeile √∂ffnen k√∂nnte.

F√ľr meine Anwendungsf√§lle ist Multi-Ordner nur eine M√∂glichkeit, mehr als einen Ordner gleichzeitig im selben Fenster anzuzeigen, kein _Project Group / Solution_-Ansatz. Eine einfachere L√∂sung w√ľrde also passen. Aber ich verstehe, wie andere einen Arbeitsbereich mit eigenen Einstellungen ben√∂tigen und so: thumbsup:.

Das, was mich an diesem neuen Workspaces-Konzept am meisten st√∂rt (im Vergleich zur ersten Iteration mit User Settings ), ist das gleiche, was mich bei der Verwendung von Sublime Text gest√∂rt hat. Die Tatsache, dass Sie die .code-workspace -Dateien √ľberall speichern k√∂nnen, und jetzt muss ich einen gemeinsamen Ort verwalten, um sie zu speichern. Es w√§re viel einfacher, IMHO, dass es automatisch an eine dieser beiden Stellen passt:

  • innerhalb des Ordners user-data-dir , wie User Settings und Keybindings
  • im _Top Ordner_

Um ganz klar zu sein, ich verstehe das komplexere Arbeitsbereichskonzept, das andere Benutzer ben√∂tigen. Ich wollte nur einen einfacheren Ansatz f√ľr ein einfacheres Konzept mit mehreren Ordnern.

Ich mag diese Option, f√ľge diese Option hinzu.
dddsa
Weil der Ordner darin nicht sehr beeindruckend ist.
default
oder f√ľgen Sie die M√∂glichkeit hinzu, diese Option zu √§ndern.

Ich mag die Workspace-Idee! Irgendwelche Ideen, wann dies fertig sein wird?

Wird an dieser Stelle erwartet, dass die Git-Informationen in der unteren linken Ecke den Git-Zweig des Repos, in dem sich die aktuell fokussierte Datei befindet, nicht genau wiedergeben? Ich habe in den Versionshinweisen zu v1_15 nichts √ľber "multiple Git Roots" gesehen.

Ich benutze diese Funktion jetzt seit einigen Tagen mit dem Insider-Build und ich muss sagen, es ist alles, was ich wollte. Sehr saubere Benutzererfahrung und ich kann es kaum erwarten, bis es im Haupt-Build ist, damit ich mein gesamtes Team darauf umstellen kann.

Wenn Sie mit NodeJS arbeiten und mehrere NPM-Module gleichzeitig geöffnet haben, spart die Art und Weise, wie alles in einem Fenster zusammengefasst wird, viel Zeit.

Riesige Requisiten an das Team!

Warum wird diese Funktion in meinen Versionshinweisen mit einem GIF und einer Erkl√§rung angezeigt, ist aber im aktuellen Editor nicht verf√ľgbar?!

@ShashankaNataraj , das auf Insidern

Unsere Roadmap f√ľr die laufende Multi-Root-Arbeit ist unter https://github.com/Microsoft/vscode/issues/28344 erfasst und wird bis August, September und wahrscheinlich auch Oktober fortgesetzt.

Wir werden diese Funktion nur f√ľr Insider verf√ľgbar halten, bis:

  • Wir k√∂nnen eine ordnungsgem√§√üe Multi-Root-f√§hige SCM-, Debug- und Aufgabenerfahrung bereitstellen
  • Wir haben Multi-Root-APIs und -Funktionalit√§ten f√ľr die Erweiterungen √ľbernommen, mit denen wir ausgeliefert werden und zu denen wir aktiv beitragen (z. B. Go).
  • Die Autoren der Erweiterung hatten gen√ľgend Zeit (z. B. 1 Meilenstein), um die neuen Multi-Root-APIs zu √ľbernehmen

Bitte haben Sie Verst√§ndnis daf√ľr, dass wir vermeiden m√∂chten, dass diese Funktion an Stable ausgeliefert wird und dass die Erweiterungserfahrung fehlerhaft ist, da wir diese Funktion zu fr√ľh eingef√ľhrt haben.

Danke, dass ihr professionelle Jungs seid, tolle Arbeit!

@bpasero Ich gegebener Zeit aktualisieren werden. Erhalten sie spezielle E-Mails mit √Ąnderungen?

Vielen Dank

@FelikZ Bitte schauen Sie sich unsere Roadmap an (https://github.com/Microsoft/vscode/issues/28344). F√ľr die September-Version planen wir, die Erweiterungen zu √ľbernehmen, die wir in VS Code ausliefern, und w√§hrend wir daran arbeiten, f√ľgen wir die daf√ľr erforderlichen APIs und Dienstprogramme hinzu.

Im September ist dies der Plan:

image

Das heutige Insider-Update enth√§lt einige √Ąnderungen an der Datei .code-workspace , die ich hier zusammenfassen wollte. Bestehende Arbeitsbereiche mit dem vorherigen Format werden automatisch in das neue Format migriert.

Das alte Format sah folgendermaßen aus:

{
    "id": "1500007676869",
    "folders": [
        "file:///Users/bpasero/Development/Microsoft/monaco",
        "file:///Users/bpasero/Development/Microsoft/vscode-distro",
        "file:///Users/bpasero/Development/Microsoft/vscode-docs",
        "file:///Users/bpasero/Development/Microsoft/vscode-extension-sdk"
    ]
}

Und das neue Format ist:

{
    "folders": [
        { "path": "/Users/bpasero/Development/Microsoft/monaco" },
        { "path": "/Users/bpasero/Development/Microsoft/vscode-distro" },
        { "path": "/Users/bpasero/Development/Microsoft/vscode-docs" },
        { "path": "/Users/bpasero/Development/Microsoft/vscode-extension-sdk" }
    ]
}

Arbeitsbereich-ID
Die Arbeitsbereich-ID wird verwendet, um dem Arbeitsbereich einige Dinge zuzuordnen:

  • alle UI-Status (zB ge√∂ffnete Dateien)
  • alle schmutzigen Dateistatus (auch bekannt als Hot-Exit)
  • Erweiterungsstatus (falls vorhanden)

Wir haben beschlossen, die Eigenschaft id aus der Arbeitsbereichsdatei zu entfernen und stattdessen die id automatisch basierend auf dem absoluten Dateipfad der Arbeitsbereichsdatei auf der Festplatte zu berechnen. Dies hat einige Vor- und Nachteile, aber letztendlich denken wir, dass die Vorteile dies zu einer besseren Lösung machen:

  • Es war seltsam, dass Sie die id in der Datei bearbeiten konnten, indem Sie einfach einen anderen Wert eingeben
  • Es war nicht sehr klar, wie die id wenn die Arbeitsbereichsdatei mit anderen geteilt wird (sollte die id ge√§ndert werden? Sollte die id eine UUID sein?)
  • Es war nicht m√∂glich, eine Arbeitsbereichsdatei zu kopieren und in einem separaten Fenster zu √∂ffnen. Sie mussten zuerst die id in der kopierten Datei √§ndern
  • Infolgedessen m√ľsste die Aktion "Arbeitsbereich speichern unter" den Benutzer fragen, ob die Kopie ein anderes id oder nicht

Ein Nachteil dieses Ansatzes besteht darin, dass beim Verschieben oder Umbenennen einer Arbeitsbereichsdatei der zugehörige Status verloren geht. Schmutzige Dateien ("Hot-Exit") werden nach einem Neustart weiterhin geöffnet, sie werden jedoch in einem leeren Fenster geöffnet und sind nicht mehr dem Arbeitsbereichfenster zugeordnet. Wir sind immer noch der Meinung, dass wir dieses Verhalten verbessern können, obwohl es im Einklang mit dem steht, was heute passiert, wenn Sie einen Ordner mit dem zugehörigen UI-Status und fehlerhaften Dateien umbenennen.

Ordner
Wir haben uns entschlossen, das Format der folders -Eigenschaft zu √ľberdenken.

  • Sie m√ľssen keine Ressourcen-URIs mehr verwenden, sondern nur noch Dateipfade, um die Bearbeitung zu vereinfachen
  • Wir haben die Eintr√§ge der folders -Eigenschaft in Objekte ge√§ndert, damit wir den Eintr√§gen nach Bedarf Metadaten zuordnen k√∂nnen (z. B. k√∂nnte jeder Ordner eine zus√§tzliche name -Eigenschaft haben).

Schlie√ülich ist auch die Unterst√ľtzung f√ľr relative Pfade gelandet. Sie k√∂nnen einen relativen Dateipfad eingeben, der im √ľbergeordneten Ordner der Arbeitsbereichsdatei aufgel√∂st wird. Beachten Sie, dass wir aufgrund des Fehlers https://github.com/Microsoft/vscode/issues/33188 derzeit relative Pfade in absolute Pfade umschreiben, wenn wir √Ąnderungen an der Arbeitsbereichsdatei vornehmen.

@bpasero es ist großartig. Wann funktioniert die zusätzliche Eigenschaft name ? Derzeit habe ich zwei gleichnamige Ordner in meinem Arbeitsbereich und es ist schrecklich.

@DaniloPolani siehe https://github.com/Microsoft/vscode/issues/29871

Eine Aktualisierung der Behandlung relativer Pfade : Ab dem heutigen Insider-Build werden Pfade als relativer Pfad in die Arbeitsbereichsdatei geschrieben, wenn der Speicherort der Arbeitsbereichsdatei ein √ľbergeordnetes Element des Ziels ist. Mit anderen Worten, Pfade sind jetzt immer relativ, es sei denn, wir m√ľssten die Notation " ../ " verwenden, um den Pfad auszudr√ľcken.

Da Arbeitsbereiche ohne Titel immer im Datenverzeichnis von VS Code gespeichert sind, sind die Pfade dort immer absolut. Sobald Sie jedoch einen Arbeitsbereich ohne Titel an einem Speicherort gespeichert haben, werden die Pfade nach Möglichkeit neu geschrieben.

Wenn Sie neugierig auf die √Ąnderungen an Multi-Root-Arbeitsbereichen sind, die w√§hrend dieses Sprints vorgenommen wurden, lesen Sie die aktualisierten Versionshinweise .

+1

+1

@bpasero IMHO ist die Art und Weise, wie UI-Zustände behandelt werden ( .code-workspace verwendet wird oder stattdessen der Dateipfad als ID verwendet wird), nicht ausreichend.
Das Umbenennen einer .code-workspace -Datei oder eines ihrer √ľbergeordneten Ordner oder das Verschieben dieser Datei und das Verlieren des UI-Status ist meiner Meinung nach v√∂llig unintuitiv. Ich denke, Leute, die nicht wissen, wie das unter der Haube funktioniert, haben absolut keine Ahnung, warum sie ihren vorherigen UI-Status verloren haben und wie sie ihn zur√ľckbekommen k√∂nnen.
Das sollte √ľberhaupt nicht an den absoluten Pfad der Dateien im Dateisystem gebunden sein!

Dies gilt auch f√ľr die Art und Weise, wie sich der UI-Status auf den Ordnerpfad bezieht, der sich derzeit in der stabilen Version befindet. Ich war zuerst sehr verwirrt dar√ľber, bis ich ein bisschen googelte.

IMO Wenn es sich nur um einen Ordner handelt, sollte der UI-Status im Ordner .vscode gespeichert werden. Wenn es sich um einen Multi-Root-Arbeitsbereich handelt, sollte der UI-Status als separate Datei im selben Ordner wie die .code-workspace -Datei unter Verwendung geeigneter Namenskonventionen (oder möglicherweise in dieser Datei selbst, obwohl Einstellungen und gemischt werden) gespeichert werden Staat könnte keine gute Idee sein).

Bei korrekter Implementierung erhalten Benutzer vollständigen Zugriff auf UI-Status, können neue UI-Status an einen bestimmten Arbeitsbereich anhängen (Multi-Root oder nicht) usw.
Ich w√ľrde gerne in der Lage sein, den UI-Status zwischen verschiedenen Computern zu synchronisieren, beispielsweise im B√ľro zu arbeiten, dann nach Hause zu gehen, einen Laptop oder was auch immer zu nehmen und genau dort fortzufahren, wo ich aufgeh√∂rt habe.
Es w√§re auch fantastisch, wenn mehrere UI-Status an einen Arbeitsbereich angeh√§ngt w√§ren und einfach zwischen ihnen wechseln k√∂nnten (Men√ľ / Tastenkombination / Befehl / usw.), wenn an verschiedenen Funktionen gearbeitet wird. M√∂glicherweise werden automatisch verschiedene .code-uistate -Dateien in .vscode aufgelistet oder viele .code-uistate -Dateien, denen das Hauptpr√§fix .code-workspace vorangestellt oder in einem Array aufgef√ľhrt ist.

Ich denke dar√ľber nach, als Erweiterung der Funktionsweise von Projekten und Arbeitsbereichen in Sublime Text. Gleiche Funktionalit√§t, anderes Design. In diesem Fall √§hnelt ein VS-Code-Arbeitsbereich einem Sublime-Projekt, und die verschiedenen VS-Code-UI-Zust√§nde √§hneln Sublime-Arbeitsbereichen.

Zu diesen Themen:

Es war seltsam, dass Sie die ID in der Datei einfach durch Eingabe eines anderen Werts bearbeiten konnten

Ja, total. Das Entfernen der ID von dort war die richtige Wahl.

Es war nicht sehr klar, wie die ID behandelt werden soll, wenn die Arbeitsbereichsdatei f√ľr andere freigegeben wird (sollte die ID ge√§ndert werden? Sollte die ID eine UUID sein?).

Wenn wir myproject.code-workspace und myproject.code-uistate haben, muss der Benutzer entscheiden, ob er seinen UI-Status teilt oder nicht. Sie m√ľssen nicht mehr dar√ľber nachdenken, was diese ID bedeutet, wie sie generiert wird, ob es sich um eine UUID handeln muss, um Konflikte beim Teilen zu vermeiden usw.
Möchten Sie die Ordnereinstellungen und -einstellungen freigeben? Senden Sie myproject.code-workspace , kein Grund zur Sorge.
Willst du alles teilen? Senden Sie beide Dateien.

Es war nicht möglich, eine Arbeitsbereichsdatei zu kopieren und in einem separaten Fenster zu öffnen. Sie mussten zuerst die ID in der kopierten Datei ändern

Wenn Sie mit einem neuen UI-Status mit demselben Ordner-Setup und denselben Einstellungen beginnen möchten, duplizieren Sie einfach Ihre .code-workspace -Datei.

Infolgedessen m√ľsste die Aktion "Arbeitsbereich speichern unter" den Benutzer fragen, ob die Kopie eine andere ID haben soll oder nicht

Das war schwierig, da der Benutzer nicht wusste, was diese ID war. Vielleicht w√§re es einfacher, zwei Optionen zu haben: "Arbeitsbereich mit aktuellem Status klonen" und "Neuer leerer Arbeitsbereich". Aber das ist UX und Sie m√ľssten eine Analyse dar√ľber durchf√ľhren.

Wenn Sie mit Franc einverstanden sind, behalten Sie alle Projektkonfigurationsdateien in den Einstellungen
Ordner in den Projekten, werfen Sie einen Blick auf Eclipse IDE, die das Recht hat
Ansatz. Es hat das Konzept der Projekt- und Arbeitsbereichseinstellungen mit
Standardeinstellungen f√ľr das √úberschreiben von Projekten im Arbeitsbereich. Der Arbeitsbereich ist nur ein Ordner mit
Ordner, die Projekte darstellen. Haben Sie also den Ordner .vscode im Arbeitsbereich
Ordner, und jedes Projekt hat seinen eigenen Ordner .vscode . Und bitte nicht
Stimmen Sie dies einfach ab, um Eclipse IDE zu erwähnen.

Am Montag, den 18. September 2017 um 20:52 Uhr hat Franco Gallardo Grazio <
[email protected]> schrieb:

@bpasero https://github.com/bpasero IMHO, wie UI-Zustände behandelt werden
(Wetter, es wird eine ID-Zeichenfolge in der .code-workspace-Datei verwendet oder verwendet
Der Dateipfad als ID ist nicht ausreichend.
Umbenennen einer .code-workspace-Datei oder eines ihrer √ľbergeordneten Ordner oder Verschieben
Es ist meiner Meinung nach völlig unintuitiv, den UI-Status zu verlieren. ich
Ich denke, Leute, die nicht wissen, wie das unter der Haube funktioniert, hätten es absolut
Keine Ahnung, warum sie ihren vorherigen UI-Status verloren haben und wie sie zu bekommen sind
es zur√ľck.
Das sollte nicht an den absoluten Pfad der Dateien in der Datei gebunden sein
System √ľberhaupt!

Dies gilt f√ľr die Art und Weise, in der sich der UI-Status auf den Ordnerpfad bezieht, der sich derzeit in befindet
stabile Freisetzung auch. Ich war zuerst sehr verwirrt, bis ich
googelte ein bisschen.

IMO Wenn es sich nur um einen Ordner handelt, sollte der UI-Status gespeichert werden
im .vscode-Ordner. Wenn es sich um einen Arbeitsbereich mit mehreren Wurzeln handelt,
Der UI-Status sollte als separate Datei im selben Ordner wie der gespeichert werden
.code-workspace-Datei unter Verwendung geeigneter Namenskonventionen (oder vielleicht
in dieser Datei selbst, obwohl das Mischen von Einstellungen und Status möglicherweise nicht a ist
gute Idee).

Bei korrekter Implementierung erhalten Benutzer vollständigen Zugriff
F√ľgen Sie an UI-Zust√§nde neue UI-Zust√§nde an einen bestimmten Arbeitsbereich an (Multi-Root oder
nicht) usw.
Ich w√ľrde gerne in der Lage sein, den UI-Status zwischen verschiedenen Computern zu synchronisieren
im B√ľro arbeiten, dann nach Hause gehen, sich einen Laptop schnappen oder was auch immer und
weiter genau dort, wo ich aufgehört habe.
Mehrere UI-Status an einen Arbeitsbereich angehängt haben und einfach zwischen diesen wechseln
sie (Men√ľ / Tastenkombination / Befehl / etc) bei der Arbeit an verschiedenen Funktionen w√ľrden
Sei auch großartig. Möglicherweise andere .code-uistate-Dateien in .vscode
automatisch aufgelistet oder viele .code-uistate-Dateien mit dem Präfix entsprechend
der Haupt-Code-Arbeitsbereich oder in einem Array aufgelistet.

Ich denke dar√ľber als Erweiterung dessen, wie Projekte und Arbeitsbereiche
Arbeit an erhabenem Text. Gleiche Funktionalität, anderes Design. In diesem Fall a
Der VS Code-Arbeitsbereich ähnelt einem Sublime-Projekt und unterscheidet sich
Die Status der VS-Code-Benutzeroberfläche ähneln den Sublime-Arbeitsbereichen.

Zu diesen Themen:

Es war seltsam, dass Sie die ID in der Datei einfach durch Eingabe bearbeiten konnten
ein anderer Wert

Ja, total. Das Entfernen der ID von dort war die richtige Wahl.

Es war nicht sehr klar, wie die ID beim Freigeben der Arbeitsbereichsdatei zu behandeln ist
mit anderen (sollte die ID geändert werden? Sollte die ID eine UUID sein?)

Nun, wenn wir myproject.code-workspace und myproject.code-uistate haben
Dann muss der Benutzer entscheiden, ob er seinen UI-Status freigibt oder nicht.
Sie m√ľssen nicht mehr dar√ľber nachdenken, was diese ID bedeutet, wie sie generiert wird, wenn es sein muss
eine UUID, um Konflikte beim Teilen usw. zu vermeiden.
Möchten Sie die Ordnereinstellungen und -einstellungen freigeben? Senden Sie myproject.code-workspace,
kein Grund zur Sorge.
Willst du alles teilen? Senden Sie beide Dateien.

Es war nicht möglich, eine Arbeitsbereichsdatei zu kopieren und in einer separaten zu öffnen
Fenster mussten Sie zuerst die ID in der kopierten Datei ändern

Wenn Sie mit einem neuen UI-Status mit demselben Ordner-Setup und beginnen möchten
Einstellungen duplizieren einfach Ihre .code-workspace-Datei.

Infolgedessen m√ľsste die Aktion "Arbeitsbereich speichern unter" die
Benutzer, ob die Kopie eine andere ID haben soll oder nicht

Das war schwierig, da der Benutzer nicht wusste, was diese ID war. Vielleicht w√ľrde es
Es ist einfacher, zwei Optionen zu haben: "Arbeitsbereich mit aktuell klonen"
State "und" New Blank Workspace ". Aber das ist UX und Sie m√ľssten eine machen
Analyse dar√ľber.

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/Microsoft/vscode/issues/396#issuecomment-330396242 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AAQsBQ5rdj3VGoNwy77jfSQ7V_tqWFOfks5sjxBYgaJpZM4Gm3nX
.

- -
Daniel Sokolowski
Technischer Architekt

Stantive Technologies Group Inc.
Telefon: +1 (613) 634-7410
http://www.stantive.com

Vertraulichkeitserklärung:
Die √ľbermittelten Informationen sind nur f√ľr die Person oder Organisation bestimmt
welche es angesprochen wird und vertraulich und / oder privilegiert enthalten kann
Material. Jegliche √úberpr√ľfung der Weiterverbreitung oder sonstigen Verwendung von oder
Ergreifen von Maßnahmen in Abhängigkeit von diesen Informationen durch Personen oder
andere Stellen als der beabsichtigte Empfänger sind verboten. Wenn Sie erhalten haben
In diesem Fall wenden Sie sich bitte umgehend elektronisch an den Absender
Übertragung und löschen Sie dann sofort diese Übertragung einschließlich aller
Anhänge ohne Kopieren, Verteilen oder Offenlegen.

@danielsokolowski Ich verstehe die Vorstellung eines Projekts, das einen Arbeitsbereich f√ľr Einstellungen √ľberschreibt. In vscode haben Sie allgemeine Einstellungen, Benutzereinstellungen (√ľber das Schreiben von allgemeinen) und Arbeitsbereichseinstellungen (√ľber das Schreiben von Benutzern oder allgemeinen). Jedes Projekt hat bereits die M√∂glichkeit, einen eigenen .vscode-Ordner zu haben (darin befinden sich die Arbeitsbereichseinstellungen). Schlagen Sie einen zus√§tzlichen Ordner vor, in dem Projekte nur zum Teilen von Einstellungsinformationen verschachtelt werden? Das scheint in Visual Studio-Begriffen einer " L√∂sungs " -Datei / einem "

@fgallardograzio Wenn eine Projektkonfiguration mit Einstellungen in derselben Datei vermischt wird, wird die Kopplung

@Yemi , ja, mit Elcipse kann ich verschiedene Arbeitsbereiche öffnen
einfach Ordner, die verschiedene Unterordner enthalten, um Projekte darzustellen. ich
Verwenden Sie pers√∂nlich zwei Arbeitsbereiche, einen f√ľr die Entwicklung der Eclipse-IDE und einen f√ľr
Alle meine arbeitsbezogenen Projekte. Das Hauptproblem ist, dass die Einstellungen gerecht sind
Vom Menschen lesbare Dateien, die in ihren jeweiligen Einstellungsordnern gespeichert sind - http://wiki.eclipse.org/IRC_FAQ#Where_are_Eclipse_preferences_stored.3F -
das ist sehr logisch f√ľr mich.

Ein Kommentar / Tipp, der f√ľr jede IDE erw√§hnenswert ist, wenn Sie dies getan haben
Standalone-Projekte, sagen Sie workspace/your-awesome-library , die Sie möchten
als Teil eines anderen Projekts sagen
workspace/my-wiget/libraries/your-awesome-library man kann Junctions verwenden
oder Hardlinking je nach Betriebssystem - ich finde das sauberer als Git / HG-Subrepos
Konzepte.

Am Dienstag, 19. September 2017, um 10:33 Uhr, Yemi Bedu @ P & R [email protected]
schrieb:

@danielsokolowski https://github.com/danielsokolowski Ich verstehe das
Vorstellung eines Projekts, das einen Arbeitsbereich f√ľr Einstellungen √ľberschreibt. In vscode du
haben allgemeine Einstellungen, Benutzereinstellungen (√ľberschreiben allgemein) und Arbeitsbereich
Einstellungen (√ľberschreiben Benutzer oder allgemein). Jedes Projekt hat bereits die
Möglichkeit, einen eigenen .vscode-Ordner zu haben (Arbeitsbereichseinstellungen befinden sich darin).
Schlagen Sie einen zusätzlichen Ordner vor, in den Projekte nur verschachtelt werden sollen?
Einstellungsinformationen teilen? Das scheint einer " Lösung " ähnlich zu sein
Datei / Ordner in Visual Studio-Begriffen.

@fgallardograzio https://github.com/fgallardograzio Ein Projekt haben
Die Konfiguration, die mit den Einstellungen in derselben Datei vermischt ist, wird erzwungen
Kupplung. Das UI-Zeug klingt viel besser als ein anderes Feature, das von getrennt ist
diese Ausgabe Ticket. Jetzt, wo der Insider-Build ein schönes Layout hat
Zus√§tzliche Wurzeln in der Datei, m√∂glicherweise kann eine Erweiterung die L√ľcke f√ľr die Benutzeroberfl√§che f√ľllen
Teil. Vielen Dank. Schönen Tag.

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/Microsoft/vscode/issues/396#issuecomment-330558669 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/AAQsBajECULDuQiqUZj6SRdfwJG-Bcw0ks5sj9CfgaJpZM4Gm3nX
.

- -
Daniel Sokolowski
Technischer Architekt

Stantive Technologies Group Inc.
Telefon: +1 (613) 634-7410
http://www.stantive.com

Vertraulichkeitserklärung:
Die √ľbermittelten Informationen sind nur f√ľr die Person oder Organisation bestimmt
welche es angesprochen wird und vertraulich und / oder privilegiert enthalten kann
Material. Jegliche √úberpr√ľfung der Weiterverbreitung oder sonstigen Verwendung von oder
Ergreifen von Maßnahmen in Abhängigkeit von diesen Informationen durch Personen oder
andere Stellen als der beabsichtigte Empfänger sind verboten. Wenn Sie erhalten haben
In diesem Fall wenden Sie sich bitte umgehend elektronisch an den Absender
Übertragung und löschen Sie dann sofort diese Übertragung einschließlich aller
Anhänge ohne Kopieren, Verteilen oder Offenlegen.

Wird diese Funktion noch nicht hinzugef√ľgt?

Das ist sehr wichtig f√ľr mich. Ich arbeite an einem Projekt, das aus zwei separaten Repositories besteht: dem Web-Frontend und der API. Es w√§re sch√∂n, wenn ich beide Ordner in einem einzigen "Projekt" √∂ffnen k√∂nnte.

Sicher, ich könnte das lösen, indem ich die 2 Repos in einen einzigen Ordner klone und diesen Ordner öffne, aber das funktioniert nicht in jedem Fall. Insbesondere, wenn Sie mehrere Projekte haben, die von einem einzigen Repository abhängen (dh dieselbe API verwenden).

Diese Funktion ist auch f√ľr Benutzer n√ľtzlich, die Code als Dokumentation verwenden.

@JamesTheHacker verwendet f√ľr eine Weile vscode-Insider, die mehrere Projekte gleichzeitig unterst√ľtzen. Und Sie k√∂nnen Funktionen vorschlagen, je nachdem, was Sie mit der Insider-Version denken, um sie besser zu machen

Wenn dies ausgeliefert wird, sollte die VSCode-Version wahrscheinlich auf 2.0 stoßen. Nur sagen :)

Kurze Frage zu dieser Funktion:

Diese Funktion unterst√ľtzt das Hinzuf√ľgen mehrerer Ordner mit Repositorys zu einem vorhandenen Arbeitsbereich. W√ľrde es auch eine Mono-Repo-Konfiguration unterst√ľtzen, bei der ich mehrere Projekte in einem Mono-Repo √∂ffnen m√∂chte, aber da sie sich in einem Repo befinden, haben sie kein eigenes Git-Repo. Aus Projektsicht haben sie also keinen .git -Ordner - einer der Ahnenordner hat sie.

Sie könnten sich fragen, warum Sie den Mono-Repo-Ordner nicht als einen großen Ordner öffnen und einfach dort arbeiten sollten. Es gibt zwei Antworten:

  1. (f√ľr mich weniger interessant) Es gibt zu viele Projekte im Mono-Repo, und ich interessiere mich nur f√ľr einige davon.
  2. Viele Plugins gehen davon aus, dass ein Projekt nur ein ... Projekt enth√§lt. Zum Beispiel nur ein npm-Paket. Also suchen sie nach Dingen in der Wurzel des Projekts. Beispiele: das Plugin npm f√ľr VSCode, das Mokka-Plugin f√ľr vscode und viele Funktionen in VSCode selbst - ich kann beispielsweise keinen Pfad in launch.json angeben, der relativ zum ist aktuelle Datei, dh "der Ordner node_modules, der der n√§chste Vorfahr der aktuellen Datei ist".

Nach dieser kontextbezogenen Erkl√§rung ist meine Frage einfach: W√ľrde diese Funktion Projekte unterst√ľtzen, deren Ordner .git ein Vorfahr ihres Stamms ist? Wenn ja, w√§re es m√∂glich, diese Funktion in einem Mono-Repo zu verwenden.

@ Borekb Ja. Ich wei√ü nicht, wie die Leute bei Microsoft ihre Versionen verwalten, aber ich denke, es ist eine Funktion, die f√ľr einen Major gro√ü genug ist

Nach dieser kontextbezogenen Erkl√§rung ist meine Frage einfach: W√ľrde diese Funktion Projekte unterst√ľtzen, deren .git-Ordner ein Vorfahr ihres Stamms ist? Wenn ja, w√§re es m√∂glich, diese Funktion in einem Mono-Repo zu verwenden.

Dies wird schon seit geraumer Zeit unterst√ľtzt, wenn Sie einfach einen Unterordner eines Git-Repos √∂ffnen.

+1

Sublime und Atom tun es, was Sie sollten. Kein besserer Grund. Dies ist die NEUE MS, Leute, ich habe volles Vertrauen in dich. :) :)

Hallo,
@inestyne Wenn Sie @Jeyanthinath lesen, VSCode Insider verwenden , um diese Funktion bereits zu bewerten. Es gibt sogar eine Roadmap zu √ľberpr√ľfen. Verwenden Sie daher das Produkt und geben Sie Feedback, bevor es zu Stable migriert wird, damit wir alle das bestm√∂gliche Produkt erhalten. Vielen Dank. Sch√∂nen Tag.

Lesen Sie einfach den Thread und verwenden Sie Insiders OMG. Ich werde mich abmelden ... ihr Trolle, die nicht lesen, seid unmöglich. Danke @ pr-yemibedu

Empfindlich

Da dieser Thread 2 Jahre lang ist und die Funktion derzeit im Insider-Build enthalten zu sein scheint, gibt es eine Möglichkeit, diesen Thread so zu markieren, dass dies offensichtlicher ist, als den gesamten Thread von oben zu lesen?

Eine Sache, die fehlt, ist die M√∂glichkeit, ein neues Fenster mit einem neuen Arbeitsbereich √ľber die CLI zu √∂ffnen.

@jearle Ein neues Fenster / Arbeitsbereich sollte wie zuvor mit code-insiders <folder> , nein?
code-insiders -a <folder> wird ben√∂tigt, um den Ordner zum aktuellen Fenster hinzuzuf√ľgen.

@Jeyanthinath danke! Ich habe das Gleiche getan wie

@Tyriar Um die gew√ľnschte Funktionalit√§t zu erhalten, muss ich die folgenden Befehle ausf√ľhren:

code .; code -a .

code . öffnet den Ordner als Nicht-Arbeitsbereich, und das code -a . hängt sich selbst an das zuvor geöffnete Fenster als Arbeitsbereich an, sodass ich denselben Ordner mehr als einmal öffnen kann.

Ich persönlich denke, das muss auch geändert werden. Ich arbeite mit ionic und einem benutzerdefinierten Server in zwei verschiedenen Git-Repos und es ist nicht sehr einfach. Die Möglichkeit, mindestens zwei separate "Projektregisterkarten" zu öffnen oder so, wäre großartig.

Ich habe von Atom gewechselt, weil es so fehlerhaft und langsam war.

@ dark-swordsman kannst du nativeTabs auf dem Mac aktivieren

@felixfbecker ist das unter Windows möglich?

Bearbeiten: Ich habe die Einstellungsdatei vollst√§ndig durchsucht und es gibt keine Option daf√ľr. Deshalb frage ich.

Edit2: Außerdem gibt es keine eindeutige Ressource zum Aktivieren von vs insiders

Hallo,
@ dark-swordsman aktivierst du VS Insider nicht. Es handelt sich um einen VSCode-Build, der einige zusätzliche Funktionen enthält, die noch nicht stabil sind, und Ihnen in gewisser Weise einen zusätzlichen Editor-Namespace bietet, mit dem Sie arbeiten können (Sie können sie ohne Konflikte bei Einstellungen oder Erweiterungen nebeneinander installieren). Vielen Dank. Schönen Tag.

Die Unterst√ľtzung f√ľr Multi-Root-Arbeitsbereiche ist jetzt in der stabilen Version standardm√§√üig aktiviert.

panel-red2

In unserer Dokumentation finden Sie eine vollst√§ndige Erl√§uterung aller damit verbundenen Funktionen. Autoren von Erweiterungen sollten sich auf unser Wiki beziehen, in dem die neuen Erweiterungs-APIs erl√§utert werden, um Ihre Erweiterung f√ľr Multi-Root-Arbeitsbereiche vorzubereiten. Wir freuen uns, dass bereits einige Erweiterungen mit der Einf√ľhrung der neuen Multi-Root-API begonnen haben. Vielen Dank daf√ľr!

Bitte z√∂gern Sie nicht, Probleme f√ľr Multi-Root einzureichen, wenn Sie darauf sto√üen. Wir planen weiterhin Optimierungen und die Bereitstellung zus√§tzlicher APIs f√ľr Erweiterungen, die in Zukunft mit Multi-Root-Arbeitsbereichen arbeiten sollen.

Das ist gro√üartig, aber wann wird es verf√ľgbar sein? Sie sagen, es befindet sich im Stable-Build, aber ich habe den neuesten Stable-Build (1.17.2) und kann nicht darauf aktualisieren. In der Dokumentation, auf die Sie gerade verwiesen haben, hei√üt es au√üerdem, dass sie sich noch im Insider-Build befindet und bald in der stabilen Version enthalten sein wird.

Ich verstehe, dass es eine Weile dauern kann, bis der n√§chste Build ver√∂ffentlicht wird, aber ich habe gesehen, dass diese Benachrichtigung erwartet, dass er verf√ľgbar ist.

Edit: Ich entschuldige mich f√ľr meine Ungeduld. Ich habe nur versucht, ein neues Fenster manuell zu √∂ffnen (rufen Sie die EXE-Datei erneut auf), und es hat nicht funktioniert, aber nicht in Datei> Neues Fenster √∂ffnen gesucht. Dies wird vorerst funktionieren. Ich freue mich auf die Ver√∂ffentlichung des n√§chsten Builds. ūüĎć

@bpasero Bitte schlie√üen Sie dieses offene Problem mit # 35849, da die erwartete Funktionalit√§t als Teil dieser # 396-Funktion ausgef√ľhrt wurde.

Nur eine kurze Frage. Kann ich, wenn ich mehr Ordner geöffnet habe, wechseln, welchen Ordner ich kompilieren möchte? Im Moment ist es immer das erste in stabiler Version.

BEARBEITEN: Dies k√∂nnte f√ľr den Ersteller der PlatformIO-Erweiterung sein, aber ich frage auf beiden Seiten. Nur f√ľr den Fall ...

@DJManas Es hört sich so an, als ob dies an der Erweiterung liegt, mit der Sie sich entscheiden. Fragen Sie daher den Autor der Erweiterung.

@bpasero Ok, ich habe parallel getan, danke f√ľr die Antwort.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen