Soll der .vscode
Ordner der Quellcodeverwaltung übergeben werden?
In einem neuen Projekt ist der Ordner mit Ausnahme der settings.json
Datei leer . Welche Art von Dingen würde in diesen Ordner gelangen? Ist es maschinenspezifisch, entwicklerspezifisch wie der .vs
Ordner und daher nicht festgeschrieben? Oder sollten alle Entwickler diesen Ordner freigeben und ihn daher festschreiben?
Der Kommentar oben in der Datei .vscode/settings.json
lautet:
// Place your settings in this file to overwrite default and user settings.
{
}
Dies scheint zu implizieren, dass der Ordner projektspezifische Einstellungen enthalten und somit in der Quelle enthalten sein sollte. Außerdem scheint dieser Beitrag auf UserVoice zu implizieren, dass einige Eingaben dort eingehen würden, was auch darauf hindeutet, dass er festgeschrieben werden sollte.
visual-studio-code
Ronald Zarīts
quelle
quelle
.gitignore
Visual Studio erstellte Standard.vscode
zu diesem Zeitpunkt ein Ordner ausgeschlossen. Aber da VS Code selbst ziemlich neu ist, sind sie möglicherweise noch nicht dazu gekommen. Ich habe den Ordner vorerst nicht verfolgt, während ich weitere Informationen dazu erhalte.Antworten:
Überprüfen Sie im
.vscode
Ordner, ob Sie Einstellungen, Aufgabenkonfiguration und Debug-Konfiguration für das Team freigeben möchten. Ich denke im Allgemeinen ist es sinnvoll, Einstellungen (z. B. Leerzeichen oder Tabulatoren) mit dem Team zu teilen, wenn Sie Einstellungen in einem Team erzwingen möchten. Wir im VS Code-Team teilen auch Debug- und aufgabenspezifische Einstellungen, da wir möchten, dass unser Team die gleichen Debug- und Aufgabenziele für VS Code hat.Übrigens müssen Sie
.vscode
für die Einstellungen keinen Ordner in Ihrem Projekt haben. Sie können Einstellungen auch auf Benutzerebene konfigurieren.quelle
symbols.json
Zwischen Festschreiben / Ignorieren gibt es eine dritte clevere Option: Festschreiben mit
.default
Suffix.Zum Beispiel können Sie hinzufügen
settings.json
zu.gitignore
, und begehensettings.json.default
, ähnlich wie es übliche Praxis (in meinem Team) ist mit.env
Dateien.Ich habe diesen Rat von den Einstellungen des Video- Commit-Editors zur Versionskontrolle übernommen. von Mattias Petter Johansson
quelle
settings.json.default
ist sinnvoll, setzt jedoch voraus, dass Ihr gesamtes Team vs-Code verwendet und Ihre Codebasis nicht einem breiteren Publikum zugänglich gemacht wird. Ich finde, dass meine Open Source-Projekte auf GitHub nur sicherstellen, dass ich sie meinem Standard-Gitignore hinzufüge, da ich meinen potenziellen Benutzern meiner Codebasis keine bestimmte IDE aufzwingen möchte..vscode/settings.json
- mit der seltsamen Ausnahme vonsearch.exclude
. Wenn Sie wirklich müssen, sehr vorsichtig sein , setzen nur Einstellungen insbesondere des Projekts , die Sie wollen erzwingen zu anderen Entwicklern.package.json
,.eslint
,tsconfig.json
usw.Was Sie nicht tun können, ist die gesamte Inhaltsdatei settings.json zu kopieren und einzufügen
.vscode/settings.json
. Ich sehe einige Leute, die dies tun, und das Festschreiben der Datei ist eine Gräueltat. In diesem Fall unterbrechen Sie nicht nur den Arbeitsbereich anderer, sondern erzwingen auch Einstellungen für Benutzer, die Sie nicht mögen sollten: Ästhetik, Benutzeroberfläche und Erfahrung. Sie werden wahrscheinlich ihre Umgebungen beschädigen, da einige sehr systemabhängig sind. Stellen Sie sich vor, ich habe Sehprobleme, daher werden meineeditor.*
Benutzereinstellungen personalisiert, und wenn ich Ihr Projekt öffne, ändern sich die visuellen Elemente. Stellen Sie sich vor, ich habe Sehprobleme. Ich muss den Benutzereditor personalisieren. * Einstellungen, um arbeiten zu können. Ich wäre wütendWenn Sie es ernst meinen, verpflichten Sie sich nicht
.vscode/settings.json
. Im Allgemeinen sind Einstellungen sinnvoll, die für ein bestimmtes Projekt nützlich sein können, z. B. Validierung und Kompilierung. Im Allgemeinen können Sie jedoch bestimmte Tools-Konfigurationsdateien wie .eslint, tsconfig.json, .gitignore, package.json verwenden. usw. Ich denke, die Autoren von vscode haben gerade die Datei hinzugefügt, um die Erfahrung von Neulingen zu vereinfachen, aber wenn Sie es ernst meinen wollen, tun Sie es nicht!Die einzige Ausnahme und in ganz bestimmten Fällen könnte search.exclude sein
quelle
.vscode/settings
zu restriktiv. Verwenden Sie.eslint
oder.editorconfig
Dateien, wenn Sie können, aber Sie sollten trotzdem einchecken,.vscode/settings
ob Sie wirklich möchten, dass eine Einstellung für alle Entwickler eines Teams / Projekts freigegeben wird.vscode/settings
sinnvoll, wenn Sie in einem Team arbeiten, das vscode verwendet, oder wenn Sie an einem Projekt arbeiten, in dem viele Entwickler vscode verwenden. Nicht alle dieser Einstellungen haben Cross-Editor-EntsprechungenAndere Antworten zusammenfassen
.vscode
Ordner generell auszuschließen , jedoch einige ausgewählte JSON-Dateien zu belassen, mit denen Teammitglieder Einstellungen neu erstellen könnenZu verwendender Beispielcode
.gitignore
(und wo er erhältlich ist)Hier sind die Einstellungen, wie unter https://gitignore.io vorgeschlagen . Sie können dort nach "VisualStudioCode" suchen, um die neueste empfohlene
.gitignore
Datei zu erhalten. Ich benutze diese Website als Ausgangspunkt.gitignore
für die meisten meiner neuen Repos:In der obigen
.gitignore
Datei, die.vscode/*
sagt Linie alles im ausschließen.vscode
Ordner, aber dann die!.vscode/a_specific_file
tell Linien git auf „nicht“ einige bestimmten Dateien in diesem Ordner ignorieren (settings.json
,launch.json
usw.). Das Endergebnis ist, dass alles im.vscode
Ordner ausgeschlossen ist, mit Ausnahme der Dateien, die in einer dieser anderen Zeilen speziell benannt sind.Andere Faktoren und wie Sie es selbst herausfinden können ...
Das Einfügen des
.vscode
Ordners in Ihr Repo schadet niemandem, der eine andere IDE (oder einen anderen Text- / Code-Editor) verwendet.Es kann jedoch anderen Personen, die VS-Code verwenden, schaden, wenn diese Dateien allgemeine Einstellungen enthalten, für die eine bestimmte Umgebung erforderlich ist, die sich in ihrer Umgebung unterscheidet - beispielsweise der absolute Pfad, in dem das Repo installiert ist (in den die VS-Code-Python-Erweiterung konsistent eingibt) das
pythonpath
in.vscode/settings.json
). Der Schlüssel besteht darin, das Speichern von Einstellungen zu vermeiden, die für Ihre lokale Umgebung benutzerdefiniert sind, und nur diejenigen freizugeben, die von allen verwendet werden können.Wenn IDE-Einstellungsdateien beispielsweise absolute Pfade zum Repo oder zu Dateien / Bibliotheken usw. haben, ist dies schlecht. Teilen Sie diese nicht. Wenn jedoch alle Referenzen relativ sind, sollten sie für jeden funktionieren, der das Repo verwendet (achten Sie jedoch auf Unterschiede bei der Pfadspezifikation zwischen Windows / Unix ..).
Hinweis zu den Einstellungen für Benutzer, Arbeitsbereich und Ordner
Hinweis: Die Einstellungsdateien im
.vscode
Ordner werden im Allgemeinen nur aktualisiert, wenn Sie Änderungen an der Ordnerversion der Einstellungen vornehmen (es scheint gelegentlich Ausnahmen zu geben).*.code-workspace
Ordner gespeichert , den Sie gerade verwenden (manchmal werden sie immer noch in den Ordnereinstellungsdateien abgelegt - Sie können sie jedoch manuell verschieben!).Dies bedeutet, dass Sie benutzerdefinierte Einstellungen für Ihren persönlichen PC in die Benutzereinstellungen und generische Einstellungen für ein bestimmtes Projekt / Paket in die anderen Einstellungen einfügen sollten, wann immer dies möglich ist.
.vscode/settings.json
Datei (das spart Ordner Einstellungen) speichert immer den absoluten Pfad unter derpythonpath
Einstellung, so dass ich seinen Ausschluß aus meiner entfernt habe.gitignore
Dateien und nicht mehr speichern Sie es auf meinen Python repos. Selbst wenn ich es mit einem relativen Pfad speichere, setzt VS Code es einfach auf den absoluten Pfad zurück.myproject.code-workspace
Datei mit Datei -> Arbeitsbereich speichern unter . Auf diese Weise können Sie steuern, was in die Arbeitsbereichsdatei aufgenommen wird, und sie im Repo speichern, während Sie sie ausschließen Die Ordnereinstellungsdatei (.vscode/settings.json
). Sie können so ziemlich jede Einstellung zwischen den Arbeitsbereichs- und Ordnereinstellungsdateien verschieben, um zu steuern, was gespeichert wird und was nicht. Denken Sie jedoch daran, dass die Arbeitsbereichsdatei alles in der Ordnereinstellungsdatei überschreibt.Das lange und kurze daran ist: Sie können einfach eine Arbeitsbereichsdatei verwenden und alle allgemeinen Einstellungen darin ablegen, während Sie lokale Einstellungen in die Ordnereinstellungsdatei einfügen, zumindest für Python. Andere Sprachen können einem anderen Muster folgen.
Natürlich können Sie auch andere Gründe für das Speichern der
.vscode/settings.json
Datei oder eines Teils davon haben. Oder dies ist möglicherweise kein Problem für die Einstellungen in Ihrer aktuellen Sprache.Ihr Kilometerstand kann variieren ...
quelle
Warum nicht einfach die Praxis betrachten, abgesehen von den Argumenten hier?
Eines der größten Projekte, das
.vscode
ich bisher gefunden habe, ist Mozilla Firefox . Es sieht so aus, als ob das Firefox-Team seine gemeinsamen Aufgaben und empfohlenen Erweiterungen teilt .Ich denke, es ist keine schlechte Idee, sie zu behalten
.vscode
, solange Sie wissen, was Sie tun.Ich werde diesen Beitrag aktualisieren, wenn ich andere große Projekte sehe, die sich teilen
.vscode
.quelle
Gleich wie andere Antworten: nein.
Betrachten Sie zur Veranschaulichung den von Git 2.19 (Q3 2018) gewählten Ansatz, bei dem ein Skript (in
contrib/
) hinzugefügt wird, damit Benutzer von VSCode besser mit der Git-Codebasis arbeiten können.Mit anderen Worten, generieren Sie den
.vscode
Inhalt (falls er noch nicht vorhanden ist) und versionieren Sie ihn nicht.Siehe Commit 12861e2 , Commit 2a2cdd0 , Commit 5482f41 , Commit f2a3b68 , Commit 0f47f78 , Commit b4d991d , Commit 58930fd , Commit dee3382 , Commit 54c06c6 (30. Juli 2018) von Johannes Schindelin (
dscho
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 30cf191 , 15. August 2018)quelle
Die Antwort lautet "NEIN", da der Ordner " .vscode " für diesen Editor bestimmt ist und Sie diese persönlichen Einstellungen nicht zum Repo verschieben sollten, wenn andere verwirrt werden. Sie können sie daher zur .gitignore- Datei Ihres Projekts hinzufügen , um die Änderungen zu ignorieren
quelle
.vscode/settings.json
Datei in einem Arbeitsbereich): code.visualstudio.com/docs/getstarted/… Nur Dinge wie die Werkzeugkonfiguration werden in die Arbeitsbereichseinstellungen aufgenommenlaunch.json
- Startkonfigurationen für das Debuggen, deren Einrichtung nicht trivial sein kann. (2)settings.json
Einstellungen auf Projektebene, wie der zu verwendende TypeScript-Compiler, Leerzeichenregeln, (3)tasks.json
- Build-Befehle. Sie können wählen, nicht zu teilen, aber wir finden es nützlich.Eine einfache Möglichkeit, Ihre Einstellungen beizubehalten, ohne sie in Ihrem Projekt-Git-Repository festzuschreiben, besteht darin, einen Arbeitsbereich zu erstellen und einen Ordner hinzuzufügen.
Wenn Sie einen Arbeitsbereich erstellen, müssen Sie eine Datei speichern
code-workspace
. Diese Datei enthält die benutzerdefinierten Einstellungen, nur Speichern Sie diese Datei aus dem Git - Repository und wird frei hinzuzufügen sein.vscode
in.gitignore
Datei.quelle