Resumindo outras respostas
A recomendação é geralmente excluir a .vscodepasta, mas deixe os arquivos JSON selecionados que permitem que outros desenvolvedores recriem as configurações compartilhadas.
Exemplos de configurações a serem incluídas:
- Configurações de teste específicas do idioma para executar o (s) conjunto (s) de teste (
settings.json)
- Configurações de extensão para linters e ferramentas de formatação de código para aplicar as regras de idioma usadas neste repositório (
settings.json)
- Configurações de execução e depuração (
launch.json)
- Tarefas compartilhadas - se gerenciadas com o Código VS (
tasks.json)
Observe que algumas configurações podem ser armazenadas no arquivo da área de trabalho ou transferidas para ele da pasta .vscode. Ver abaixo.
.gitignoreCódigo de exemplo a ser usado (e onde obtê-lo)
Aqui estão as configurações, conforme sugerido em https://gitignore.io . Você pode procurar por "VisualStudioCode" lá para obter o .gitignorearquivo recomendado mais recente . Eu uso este site como ponto de partida para .gitignorea maioria dos meus novos repositórios:
# 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
No acima .gitignorede arquivo, o .vscode/*linha diz para excluir tudo na .vscodepasta, mas, em seguida, as !.vscode/a_specific_filelinhas indicam git para "não" ignorar alguns arquivos específicos nessa pasta ( settings.json, launch.json, etc.). O resultado final é que tudo é excluído da .vscodepasta, exceto os arquivos nomeados especificamente em uma dessas outras linhas.
Outros fatores e como descobrir por si mesmo ...
A inclusão da .vscodepasta no seu repositório não prejudica ninguém que usa um IDE diferente (ou editor de texto / código).
No entanto, isso pode prejudicar outras pessoas que usam o VS Code, se esses arquivos incluírem configurações genéricas que exigem algo específico para o seu ambiente, diferente do ambiente - como o caminho absoluto em que o repositório está instalado (em que a extensão do VS Code Python sempre coloca o pythonpathin .vscode/settings.json). A chave é evitar salvar configurações personalizadas para o ambiente local, compartilhando apenas as que podem ser usadas por todos.
Por exemplo, se os arquivos de configuração do IDE tiverem caminhos absolutos para o repositório ou quaisquer arquivos / bibliotecas etc., isso é ruim, não compartilhe. Mas se todas as referências forem relativas, elas deverão funcionar para qualquer pessoa que use o repositório (embora, tenha cuidado com as diferenças de especificação de caminho entre Windows / Unix ..).
Sobre as configurações de usuário, espaço de trabalho e pasta
Nota: os arquivos de configurações da .vscodepasta geralmente são atualizados apenas quando você faz alterações na versão da pasta das configurações (embora haja muitas exceções).
- Se você fizer alterações nas configurações do usuário , elas geralmente são armazenadas em outro local.
- Se você fizer alterações nas configurações da área de trabalho , elas normalmente são armazenadas na
*.code-workspacepasta que você está usando no momento (elas ainda costumam ir para os arquivos de configuração da pasta - mas você pode movê-las manualmente!).
Isso significa que você deve colocar configurações personalizadas para seu PC pessoal nas configurações do usuário e colocar genéricas para um projeto / pacote específico nos outros, sempre que possível.
- Percebi que, ao usar a extensão Python, o
.vscode/settings.jsonarquivo (que salva as configurações da pasta ) sempre salva o caminho absoluto sob a pythonpathconfiguração; portanto, removi a exclusão dos meus .gitignorearquivos e não os salvei nos repositórios do Python. Mesmo que eu o salve com um caminho relativo, o VS Code apenas o redefine para o caminho absoluto.
- Em vez disso, salvei qualquer pasta que precise usar no Código como área de trabalho (por exemplo, crie um
myproject.code-workspacearquivo com Arquivo -> Salvar área de trabalho como . Dessa forma, você pode controlar o que entra no arquivo da área de trabalho e salvá-lo no repositório, excluindo o arquivo de configurações da pasta ( .vscode/settings.json). É possível mover praticamente qualquer configuração entre os arquivos da área de trabalho e das configurações da pasta para controlar o que é salvo e o que não é. Lembre-se de que o arquivo da área de trabalho substituirá qualquer coisa no arquivo de configuração da pasta.
A longa e curta é: você pode simplesmente usar um arquivo da área de trabalho e colocar as configurações mais comuns nele, enquanto coloca as configurações locais no arquivo de configurações da pasta, embora isso pareça depender de quais extensões / idiomas você está usando.
Obviamente, você pode ter outros motivos para salvar o .vscode/settings.jsonarquivo, ou parte dele. Ou isso pode não ser um problema para as configurações no seu idioma atual.
Sua milhagem pode variar ...