Le .vscode
dossier est-il destiné à être validé pour le contrôle de code source?
Dans un nouveau projet, le dossier est vide, à l'exception du settings.json
fichier. Quel genre de choses iraient dans ce dossier? Est-il spécifique à la machine, spécifique au développeur comme le .vs
dossier et donc ne pas être validé? Ou tous les développeurs devraient-ils partager ce dossier et donc il devrait être validé?
Le commentaire en haut du fichier .vscode/settings.json
indique:
// Place your settings in this file to overwrite default and user settings.
{
}
Cela semble impliquer que le dossier doit contenir des paramètres spécifiques au projet et donc être inclus dans la source. De plus, ce post sur UserVoice semble impliquer que certaines saisies y entreraient, suggérant également qu'il devrait être validé.
visual-studio-code
Ronald Zarīts
la source
la source
.gitignore
créée par Visual Studio a un.vscode
dossier exclu à ce stade. Mais comme VS Code est lui-même plutôt nouveau, ils ne l'ont peut-être pas encore fait. J'ai laissé le dossier non suivi pour l'instant pendant que j'obtiens plus d'informations à ce sujet.Réponses:
Vérifiez dans le
.vscode
dossier si vous souhaitez partager les paramètres, la configuration des tâches et la configuration de débogage avec l'équipe. Je pense qu'en général, il est logique de partager les paramètres (par exemple, les espaces blancs vs les onglets) avec l'équipe si vous souhaitez appliquer les paramètres dans une équipe. Dans l'équipe VS Code, nous partageons également des paramètres spécifiques de débogage et de tâche, car nous voulons que notre équipe ait le même ensemble de cibles de débogage et de cibles de tâche pour VS Code.Btw vous n'avez pas besoin d'avoir un
.vscode
dossier dans votre projet pour les paramètres. Vous pouvez également configurer les paramètres au niveau utilisateur.la source
symbols.json
: stackoverflow.com/questions/51876769/…Entre commit / ignore, il y a une troisième option intelligente: commit avec
.default
suffixe.Par exemple , vous pouvez ajouter
settings.json
à.gitignore
, et engagersettings.json.default
, tout comme il est pratique courante (dans mon équipe) avec.env
des fichiers.J'ai pris ce conseil des paramètres de l'éditeur de validation vidéo au contrôle de version? par Mattias Petter Johansson
la source
settings.json.default
est logique, mais cela suppose que toute votre équipe utilise le code vs et que votre base de code n'est pas partagée avec un public plus large. Je trouve que mes projets open source sur GitHub, je m'assure juste de l'ajouter à mon gitignore par défaut, car je ne veux pas forcer un IDE particulier sur mes utilisateurs potentiels de ma base de code..vscode/settings.json
- à l'exception bizarre desearch.exclude
. Si vous en avez vraiment besoin, faites très attention de ne mettre que les paramètres particuliers de votre projet que vous souhaitez appliquer aux autres développeurs.package.json
,.eslint
,tsconfig.json
, etc.Ce que vous ne pouvez pas faire, c'est copier et coller tout le fichier de contenu settings.json dans
.vscode/settings.json
. Je vois des gens faire cela et commettre le fichier est une atrocité. Dans ce cas, non seulement vous briserez d'autres espaces de travail, mais le pire, vous appliquerez des paramètres aux utilisateurs que vous ne devriez pas aimer l'esthétique, l'interface utilisateur, l'expérience. Vous allez probablement casser leurs environnements car certains sont très dépendants du système. Imaginez que j'ai des problèmes de vision, donc meseditor.*
paramètres utilisateur sont personnalisés et lorsque j'ouvre votre projet, les visuels changent. Imaginez que j'ai des problèmes de vision s J'ai besoin de personnaliser l'éditeur utilisateur. * Paramètres pour pouvoir travailler. Je serais fâchée.Si vous êtes sérieux, ne vous engagez pas
.vscode/settings.json
. En général, les paramètres qui pourraient être utiles pour un projet particulier comme la validation, la compilation, ont du sens, mais en général, vous pouvez utiliser des fichiers de configuration d'outils particuliers tels que .eslint, tsconfig.json, .gitignore, package.json. etc. Je suppose que les auteurs de vscode viennent d'ajouter le fichier pour simplifier l'expérience des nouveaux arrivants mais si vous voulez être sérieux, ne le faites pas!La seule exception, et dans des cas très particuliers, pourrait être la recherche.
la source
.vscode/settings
est trop restrictive. Utilisez.eslint
ou.editorconfig
fichiers si vous le pouvez, mais vous devez toujours vérifier.vscode/settings
si vous voulez vraiment qu'un paramètre soit partagé entre tous les développeurs d'une équipe / d'un projet.vscode/settings
logique si vous travaillez dans une équipe qui utilise vscode ou si vous travaillez sur un projet où de nombreux développeurs utilisent vscode. Tous ces paramètres n'ont pas d'équivalents entre les éditeursRésumer d'autres réponses
La recommandation consiste à exclure généralement le
.vscode
dossier, mais laissez certains fichiers JSON qui permettent aux autres développeurs de recréer les paramètres partagés.Exemples de paramètres à inclure:
settings.json
)settings.json
)launch.json
)tasks.json
)Notez que certains paramètres peuvent être stockés dans le fichier de l'espace de travail ou transférés dans celui-ci à partir du dossier .vscode. Voir ci-dessous.
Exemple de
.gitignore
code à utiliser (et où l'obtenir)Voici les paramètres, comme suggéré sur https://gitignore.io . Vous pouvez y rechercher "VisualStudioCode" pour obtenir le dernier
.gitignore
fichier recommandé . J'utilise ce site Web comme point de départ.gitignore
pour la plupart de mes nouveaux dépôts:Dans ce qui précède
.gitignore
fichier, la.vscode/*
ligne dit d'exclure tout dans le.vscode
dossier, mais les!.vscode/a_specific_file
lignes tell git à « pas » ignorer certains fichiers spécifiques dans ce dossier (settings.json
,launch.json
, etc.). Le résultat final est que tout est exclu dans le.vscode
dossier, à l'exception des fichiers spécifiquement nommés dans l'une de ces autres lignes.Autres facteurs et comment comprendre par vous-même ...
Inclure le
.vscode
dossier dans votre référentiel ne fait pas de mal personne qui utilise un IDE différent (ou un éditeur de texte / code).Cependant, cela peut blesser d'autres personnes utilisant VS Code, si ces fichiers incluent des paramètres génériques qui nécessitent quelque chose de spécifique à votre environnement, qui est différent dans leur environnement - comme le chemin absolu dans lequel le dépôt est installé (dans lequel VS Code Python met systématiquement le
pythonpath
dans.vscode/settings.json
). L'essentiel est d'éviter d'enregistrer des paramètres personnalisés dans votre environnement local, de ne partager que ceux qui peuvent être utilisés par tout le monde.Par exemple, si les fichiers de paramètres IDE ont des chemins absolus vers le référentiel ou des fichiers / bibliothèques, etc., alors c'est mauvais, ne partagez pas. Mais si toutes les références sont relatives, elles devraient fonctionner pour toute personne utilisant le référentiel (bien que soyez prudent avec les différences de spécification de chemin entre Windows / Unix ..).
À propos des paramètres d'utilisateur, d'espace de travail et de dossier
Remarque: les fichiers de paramètres du
.vscode
dossier ne sont généralement mis à jour que lorsque vous apportez des modifications à la version du dossier des paramètres (il semble cependant y avoir de nombreuses exceptions).*.code-workspace
dossier que vous utilisez actuellement (ils vont toujours souvent dans les fichiers de paramètres du dossier - mais vous pouvez les déplacer manuellement!).Cela signifie que vous devez placer les paramètres personnalisés de votre PC personnel dans les paramètres utilisateur et les placer génériques pour un projet / package particulier dans les autres, dans la mesure du possible.
.vscode/settings.json
fichier (qui enregistre les paramètres du dossier ) enregistre toujours le chemin absolu sous lepythonpath
paramètre, j'ai donc supprimé son exclusion de mes.gitignore
fichiers et ne l'enregistre plus dans mes dépôts Python. Même si je l'enregistre avec un chemin relatif, VS Code le réinitialise simplement au chemin absolu.myproject.code-workspace
fichier avec Fichier -> Enregistrer l'espace de travail sous . De cette façon, vous pouvez contrôler ce qui va dans le fichier de l'espace de travail et l'enregistrer dans le référentiel, tout en excluant le fichier de paramètres de dossier (.vscode/settings.json
). Vous pouvez à peu près déplacer n'importe quel paramètre entre l'espace de travail et les fichiers de paramètres de dossier pour contrôler ce qui est enregistré et ce qui ne l'est pas. N'oubliez pas que le fichier de l'espace de travail remplacera tout ce qui se trouve dans le fichier de paramètres de dossier.Le plus long et le plus court est que vous pouvez simplement utiliser un fichier d'espace de travail et y mettre les paramètres les plus courants, tout en plaçant les paramètres locaux dans le fichier de paramètres de dossier, bien que cela semble dépendre des extensions / langues que vous utilisez.
Bien sûr, vous pouvez avoir d'autres raisons d'enregistrer le
.vscode/settings.json
fichier, ou une partie de celui-ci. Ou cela peut ne pas être un problème pour les paramètres dans votre langue actuelle.Votre kilométrage peut varier...
la source
Pourquoi ne pas simplement regarder la pratique, autre que les arguments ici?
Un des plus gros projets que
.vscode
j'ai trouvé jusqu'à présent est Mozilla Firefox . Il semble que l'équipe de Firefox partage ses tâches courantes et les extensions recommandées.Je suppose donc que ce n'est pas une mauvaise idée de garder
.vscode
, tant que vous savez ce que vous faites.Je mettrai à jour ce post quand je verrai d'autres gros projets qui partagent
.vscode
.la source
Identique aux autres réponses: non.
À titre d'illustration, considérons l'approche choisie par Git 2.19 (Q3 2018), qui ajoute un script (en
contrib/
) pour aider les utilisateurs de VSCode à mieux travailler avec la base de code Git.En d'autres termes, générez le
.vscode
contenu (s'il n'existe pas encore), ne le versionnez pas.Voir commit 12861e2 , commit 2a2cdd0 , commit 5482f41 , commit f2a3b68 , commit 0f47f78 , commit b4d991d , commit 58930fd , commit dee3382 , commit 54c06c6 (30 juil.2018 ) par Johannes Schindelin (
dscho
) .(Fusionné par Junio C Hamano -
gitster
- en commit 30cf191 , 15 août 2018)la source
La réponse est "NON", car le dossier .vscode est pour cet éditeur et vous ne devez pas pousser ces paramètres personnels à repo en cas de confusion pour les autres, vous pouvez donc l'ajouter au fichier .gitignore de votre projet pour ignorer les modifications
la source
.vscode/settings.json
fichier dans un espace de travail): code.visualstudio.com/docs/getstarted/… Seules des choses telles que la configuration de l'outil entrent dans les paramètres de l'espace de travaillaunch.json
- lancer des configurations de débogage qui peuvent être non triviales à mettre en place. (2) lessettings.json
paramètres au niveau du projet, comme le compilateur TypeScript à utiliser, les règles d'espaces, (3)tasks.json
- les commandes de construction. Vous pouvez choisir de ne pas partager, mais nous le trouvons utile.Un moyen simple de conserver vos paramètres sans les valider dans votre référentiel git de projet consiste à créer un espace de travail et à y ajouter un dossier.
Quand créez-vous un espace de travail, vous devez enregistrer un fichier
code-workspace
. Ce fichier contient des paramètres personnalisés, enregistrez simplement ce fichier hors du référentiel git et serez libre de l'ajouter.vscode
dans le.gitignore
fichier.la source