¿La .vscode
carpeta debe estar comprometida con el control de código fuente?
En un proyecto nuevo, la carpeta está vacía, excepto el settings.json
archivo. ¿Qué tipo de cosas iría a esta carpeta? ¿Es específico de la máquina, específico del desarrollador como la .vs
carpeta y, por lo tanto, no se compromete? ¿O deberían todos los desarrolladores compartir esta carpeta y, por lo tanto, debería comprometerse?
El comentario en la parte superior del archivo .vscode/settings.json
dice:
// Place your settings in this file to overwrite default and user settings.
{
}
Esto parece implicar que la carpeta debe contener configuraciones específicas del proyecto y, por lo tanto, debe incluirse en la fuente. Además, esta publicación en UserVoice parece implicar que algunas tipificaciones irían allí, lo que también sugiere que debería confirmarse.
fuente
.gitignore
que crea Visual Studio tiene la.vscode
carpeta excluida en este momento. Pero dado que VS Code es bastante nuevo, es posible que aún no lo hayan logrado. He dejado la carpeta sin seguimiento por ahora mientras obtengo más información sobre ella.Respuestas:
Marque en la
.vscode
carpeta si desea compartir configuraciones, configuración de tareas y configuración de depuración con el equipo. En general, creo que tiene sentido compartir la configuración (por ejemplo, espacios en blanco frente a pestañas) con el equipo si desea aplicar la configuración en un equipo. En el equipo de VS Code también compartimos configuraciones específicas de depuración y tareas porque queremos que nuestro equipo tenga el mismo conjunto de objetivos de depuración y objetivos de tareas para VS Code.Por cierto, no necesita tener una
.vscode
carpeta en su proyecto para la configuración. También puede configurar ajustes a nivel de usuario.fuente
symbols.json
: stackoverflow.com/questions/51876769/…Entre commit / ignore hay una tercera opción inteligente: commit con
.default
sufijo.Por ejemplo, puede añadir
settings.json
a.gitignore
, y se comprometesettings.json.default
, al igual que es una práctica común (en mi equipo) con.env
los archivos.¿Tomé este consejo de la configuración del editor de video para el control de versiones? por Mattias Petter Johansson
fuente
settings.json.default
tiene sentido, pero esto supone que todo su equipo está usando el código vs y su base de código no se comparte con una audiencia más amplia. Creo que mis proyectos de código abierto en GitHub, solo me aseguro de agregarlo a mi gitignore predeterminado, porque no quiero forzar un IDE particular en mis usuarios potenciales de mi base de código..vscode/settings.json
, con la extraña excepción desearch.exclude
. Si realmente lo necesita, tenga mucho cuidado de poner solo la configuración particular de su proyecto que desea aplicar a otros desarrolladores.package.json
,.eslint
,tsconfig.json
, etc.Lo que no puede hacer es copiar y pegar todo el archivo de contenido settings.json en
.vscode/settings.json
. Veo a algunas personas haciendo esto y cometer el archivo es una atrocidad. En ese caso, no solo romperá el espacio de trabajo de los demás, sino que peor aún, impondrá a los usuarios configuraciones que no deberían gustarle la estética, la interfaz de usuario y la experiencia. Probablemente romperá sus entornos porque algunos dependen mucho del sistema. Imagine que tengo problemas de visión, por lo que miseditor.*
configuraciones de usuario son personalizadas y cuando abro su proyecto, las imágenes cambian. Imagine que tengo problemas de visión s Necesito personalizar la configuración del editor de usuario. * Para poder trabajar. Estaría enojadoSi eres serio no te comprometas
.vscode/settings.json
. En general, la configuración que podría ser útil para un proyecto en particular, como validación, compilación, tiene sentido, pero en general puede usar archivos de configuración de herramientas particulares como .eslint, tsconfig.json, .gitignore, package.json. etc. Creo que los autores de vscode acaban de agregar el archivo para simplificar la experiencia de los recién llegados, pero si quieres ser serio, ¡no lo hagas!La única excepción, y en casos muy particulares, podría ser search.exclude
fuente
.vscode/settings
es demasiado restrictiva. Use.eslint
o.editorconfig
archivos si puede, pero aún debe registrarse.vscode/settings
si realmente desea que se comparta una configuración entre todos los desarrolladores en un equipo / proyecto.vscode/settings
tiene sentido si está trabajando en un equipo que usa vscode o si está trabajando en un proyecto donde muchos desarrolladores usan vscode. No todas estas configuraciones tienen equivalentes de editor cruzadoResumiendo otras respuestas
En general, se recomienda excluir la
.vscode
carpeta, pero dejar archivos JSON seleccionados que permitan a otros desarrolladores recrear configuraciones compartidas.Ejemplos de configuraciones para incluir:
settings.json
)settings.json
)launch.json
)tasks.json
)Tenga en cuenta que algunas configuraciones pueden almacenarse en el archivo del espacio de trabajo o transferirse desde la carpeta .vscode. Vea abajo.
.gitignore
Código de muestra para usar (y dónde obtenerlo)Aquí están las configuraciones, como se sugiere en https://gitignore.io . Puede buscar "VisualStudioCode" allí para obtener el último
.gitignore
archivo recomendado . Uso este sitio web como punto de partida.gitignore
para la mayoría de mis nuevos repositorios:En el anterior
.gitignore
archivo, la.vscode/*
línea dice excluir todo en la.vscode
carpeta, pero entonces las!.vscode/a_specific_file
líneas le dicen a Git que "no" ignorar algunos archivos específicos en esa carpeta (settings.json
,launch.json
, etc.). El resultado final es que todo está excluido en la.vscode
carpeta, excepto los archivos nombrados específicamente en una de esas otras líneas.Otros factores y cómo descubrirlo usted mismo ...
Incluir la
.vscode
carpeta en su repositorio en realidad no perjudica a nadie que use un IDE diferente (o editor de texto / código).Sin embargo, puede dañar a otras personas que usan VS Code, si estos archivos incluyen configuraciones genéricas que requieren algo específico para su entorno, que es diferente en su entorno, como la ruta absoluta en la que está instalado el repositorio (que la extensión VS Code Python pone constantemente el
pythonpath
en.vscode/settings.json
). La clave es evitar guardar configuraciones personalizadas para su entorno local, solo compartir aquellas que puedan ser utilizadas por todos.Por ejemplo, si los archivos de configuración IDE tienen rutas absolutas al repositorio o cualquier archivo / biblioteca, etc., eso es malo, no lo comparta. Pero si todas las referencias son relativas, entonces deberían funcionar para cualquiera que use el repositorio (aunque, tenga cuidado con las diferencias de especificación de ruta entre Windows / Unix ...).
Acerca de la configuración de usuario, espacio de trabajo y carpeta
Nota: los archivos de configuración en la
.vscode
carpeta generalmente solo se actualizan cuando realiza cambios en la versión de carpeta de la configuración (aunque parece haber muchas excepciones).*.code-workspace
carpeta que está utilizando actualmente (todavía suelen ir a los archivos de configuración de la carpeta, ¡pero puede moverlos manualmente!).Esto significa que debe colocar configuraciones personalizadas para su PC personal en las configuraciones del usuario , y poner las genéricas para un proyecto / paquete en particular en las demás, siempre que sea posible.
.vscode/settings.json
archivo (que guarda la configuración de la carpeta ) siempre guarda la ruta absoluta bajo lapythonpath
configuración, por lo que he eliminado su exclusión de mis.gitignore
archivos y ya no la guardo en mis repositorios de Python. Incluso si lo guardo con una ruta relativa, VS Code simplemente lo restablece a la ruta absoluta.myproject.code-workspace
archivo con Archivo -> Guardar espacio de trabajo como . De esa manera, puede controlar lo que va en el archivo del espacio de trabajo y guardarlo en el repositorio, excluyendo el archivo de configuración de la carpeta (.vscode/settings.json
). Puedes mover prácticamente cualquier configuración entre el espacio de trabajo y los archivos de configuración de la carpeta para controlar lo que se guarda y lo que no. Solo ten en cuenta que el archivo del espacio de trabajo anulará cualquier cosa en el archivo de configuración de la carpeta.En resumen, puede usar un archivo de espacio de trabajo y poner la configuración más común en él, mientras coloca la configuración local en el archivo de configuración de la carpeta, aunque esto parece depender de las extensiones / idiomas que esté utilizando.
Por supuesto, puede tener otras razones para guardar el
.vscode/settings.json
archivo, o alguna parte del mismo. O esto puede no ser un problema para la configuración en su idioma actual.Su experiencia puede ser diferente...
fuente
¿Por qué no solo mirar la práctica, aparte de los argumentos por aquí?
Uno de los proyectos más grandes que
.vscode
he encontrado hasta ahora es Mozilla Firefox . Parece que el equipo de Firefox comparte sus tareas comunes y extensiones recomendadas.Así que supongo que no es una mala idea mantener
.vscode
, siempre y cuando sepas lo que estás haciendo.Actualizaré esta publicación cuando vea otros grandes proyectos que comparta
.vscode
.fuente
Igual que otras respuestas: no.
Como ilustración, considere el enfoque elegido por Git 2.19 (Q3 2018), que agrega un script (in
contrib/
) para ayudar a los usuarios de VSCode a trabajar mejor con la base de código Git.En otras palabras, genere el
.vscode
contenido (si aún no existe), no lo versione.Ver commit 12861e2 , commit 2a2cdd0 , commit 5482f41 , commit f2a3b68 , commit 0f47f78 , commit b4d991d , commit 58930fd , commit dee3382 , commit 54c06c6 (30 de julio de 2018) por Johannes Schindelin (
dscho
) .(Fusionada por Junio C Hamano -
gitster
- en commit 30cf191 , 15 ago 2018)fuente
La respuesta es "NO", porque la carpeta .vscode es para este editor y no debe presionar esta configuración personal para reposicionar en caso de confundir a otros, por lo que puede agregarla al archivo .gitignore de su proyecto para ignorar los cambios
fuente
.vscode/settings.json
archivo en un espacio de trabajo): code.visualstudio.com/docs/getstarted/… Solo cosas como la configuración de herramientas entran en la configuración del espacio de trabajolaunch.json
: configuraciones de lanzamiento para depuración que pueden ser no triviales de configurar. (2)settings.json
configuraciones de nivel de proyecto, como el compilador TypeScript para usar, reglas de espacios en blanco, (3)tasks.json
- comandos de compilación. Puede optar por no compartir, pero nos parece útil.Una manera simple de mantener su configuración sin comprometerla en el repositorio de git de su proyecto es crear un espacio de trabajo y agregarle una carpeta.
Cuando crea un espacio de trabajo, debe guardar un archivo
code-workspace
. Este archivo contiene configuraciones personalizadas, solo guarde este archivo fuera del repositorio de git y será libre de agregarlo.vscode
al.gitignore
archivo.fuente