Resumiendo 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:
- Configuraciones de prueba específicas del idioma para ejecutar los conjuntos de pruebas (
settings.json
)
- Configuración de extensión para linters y herramientas de formato de código para aplicar las reglas de idioma utilizadas en este repositorio (
settings.json
)
- Ejecutar y depurar configuraciones (
launch.json
)
- Tareas compartidas: si se administran con VS Code (
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:
# Created by https://www.gitignore.io/api/visualstudiocode
# Edit at https://www.gitignore.io/?templates=visualstudiocode
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
### VisualStudioCode Patch ###
# Ignore all local history of files
**/.history
# End of https://www.gitignore.io/api/visualstudiocode
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).
- Si realiza cambios en la configuración del usuario , generalmente se almacenan en otro lugar.
- Si realiza cambios en la configuración del espacio de trabajo , normalmente se almacenan en la
*.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.
- Me di cuenta de que cuando uso la extensión Python, el
.vscode/settings.json
archivo (que guarda la configuración de la carpeta ) siempre guarda la ruta absoluta bajo la pythonpath
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.
- En cambio, solo guardo cualquier carpeta que necesito usar en Code como espacio de trabajo (por ejemplo, crear un
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...