A .vscode
pasta deve ser comprometida com o controle de origem?
Em um projeto novo, a pasta está vazia, exceto o settings.json
arquivo. Que tipo de coisa entraria nessa pasta? É específico da máquina, específico do desenvolvedor, como a .vs
pasta e, portanto, não é confirmado? Ou todos os desenvolvedores devem compartilhar esta pasta e, portanto, ela deve ser confirmada?
O comentário na parte superior do arquivo .vscode/settings.json
indica:
// Place your settings in this file to overwrite default and user settings.
{
}
Isso parece implicar que a pasta deve conter configurações específicas do projeto e, portanto, ser incluída na fonte. Além disso, este post no UserVoice parece implicar que algumas digitações entrariam lá, sugerindo também que ele deveria ser confirmado.
visual-studio-code
Ronald Zarīts
fonte
fonte
.gitignore
que o Visual Studio cria possui uma.vscode
pasta excluída neste momento. Mas como o VS Code é bastante novo, eles podem não ter chegado a isso ainda. Deixei a pasta não rastreada por enquanto enquanto recebo mais informações.Respostas:
Faça check-in na
.vscode
pasta se desejar compartilhar as configurações, a tarefa e a configuração de depuração com a equipe. Eu acho que geralmente faz sentido compartilhar configurações (por exemplo, espaço em branco versus guias) com a equipe, se você deseja aplicar as configurações em uma equipe. Nós da equipe do VS Code também compartilhamos configurações específicas de depuração e tarefa, porque queremos que nossa equipe tenha o mesmo conjunto de destinos de depuração e de tarefas para o VS Code.Btw você não precisa ter uma
.vscode
pasta no seu projeto para configurações. Você também pode definir configurações no nível do usuário.fonte
symbols.json
: stackoverflow.com/questions/51876769/...Entre commit / ignore, existe uma terceira opção inteligente: commit com
.default
sufixo.Por exemplo, você pode adicionar
settings.json
a.gitignore
, e se comprometersettings.json.default
, assim como é prática comum (em minha equipe) com.env
os arquivos.Eu segui esse conselho nas configurações do editor de vídeo Commit para controle de versão? de Mattias Petter Johansson
fonte
settings.json.default
faz sentido, mas isso pressupõe que toda a sua equipe esteja usando o código vs e sua base de código não esteja sendo compartilhada com um público mais amplo. Acho que meus projetos de código-fonte aberto no GitHub, apenas certifique-se de adicioná-lo ao meu gitignore padrão, porque não quero forçar um IDE específico nos meus usuários em potencial da minha base de código..vscode/settings.json
- com a estranha exceção desearch.exclude
. Se você realmente precisar, tenha muito cuidado ao colocar apenas as configurações específicas do seu projeto que deseja aplicar a outros desenvolvedores.package.json
,.eslint
,tsconfig.json
, etcO que você não pode fazer é copiar e colar todo o arquivo de conteúdo settings.json
.vscode/settings.json
. Estou vendo algumas pessoas fazendo isso e confirmar o arquivo é uma atrocidade. Nesse caso, você não apenas quebrará o espaço de trabalho de outras pessoas, mas, pior ainda, aplicará configurações aos usuários que não devem gostar de estética, interface do usuário, experiência. Você provavelmente quebrará seus ambientes porque alguns são muito dependentes do sistema. Imagine que tenho problemas de visão, para que minhaseditor.*
configurações de usuário sejam personalizadas e, quando abro o projeto, o visual muda. Imagine que tenho problemas de visão s Preciso personalizar as configurações do editor do usuário. * Para poder trabalhar. Eu ficaria bravo.Se você é sério, não se comprometa
.vscode/settings.json
. Em geral, configurações que podem ser úteis para um projeto específico, como validação, compilação, fazem sentido, mas em geral você pode usar arquivos de configuração de ferramentas específicas, como .eslint, tsconfig.json, .gitignore, package.json. etc. Acho que os autores do vscode acabaram de adicionar o arquivo para simplificar a experiência do iniciante, mas se você quer ser sério, não!A única exceção e, em casos muito particulares, pode ser search.exclude
fonte
.vscode/settings
é muito restritiva. Use.eslint
ou.editorconfig
arquivos se você pode, mas você ainda deve check-in.vscode/settings
se você realmente quer uma definição para ser compartilhado entre todos os desenvolvedores em uma equipe / projeto.vscode/settings
faz sentido se você está trabalhando em uma equipe que usa o vscode ou se você está trabalhando em um projeto em que muitos desenvolvedores usam o vscode. Nem todas essas configurações têm equivalentes cross-editorResumindo outras respostas
A recomendação é geralmente excluir a
.vscode
pasta, mas deixe os arquivos JSON selecionados que permitem que outros desenvolvedores recriem as configurações compartilhadas.Exemplos de configurações a serem incluídas:
settings.json
)settings.json
)launch.json
)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.
.gitignore
Có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
.gitignore
arquivo recomendado mais recente . Eu uso este site como ponto de partida para.gitignore
a maioria dos meus novos repositórios:No acima
.gitignore
de arquivo, o.vscode/*
linha diz para excluir tudo na.vscode
pasta, mas, em seguida, as!.vscode/a_specific_file
linhas 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.vscode
pasta, exceto os arquivos nomeados especificamente em uma dessas outras linhas.Outros fatores e como descobrir por si mesmo ...
A inclusão da
.vscode
pasta 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
pythonpath
in.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
.vscode
pasta geralmente são atualizados apenas quando você faz alterações na versão da pasta das configurações (embora haja muitas exceções).*.code-workspace
pasta 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.
.vscode/settings.json
arquivo (que salva as configurações da pasta ) sempre salva o caminho absoluto sob apythonpath
configuração; portanto, removi a exclusão dos meus.gitignore
arquivos 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.myproject.code-workspace
arquivo 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.json
arquivo, ou parte dele. Ou isso pode não ser um problema para as configurações no seu idioma atual.Sua milhagem pode variar ...
fonte
Por que não apenas olhar para a prática, além dos argumentos por aqui?
Um dos maiores projetos que
.vscode
eu encontrei até agora é o Mozilla Firefox . Parece que a equipe do Firefox compartilha suas tarefas comuns e extensões recomendadas.Então, acho que não é uma má idéia manter
.vscode
, desde que você saiba o que está fazendo.Vou atualizar este post quando vir outros grandes projetos que compartilhem
.vscode
.fonte
O mesmo que as outras respostas: não.
Como ilustração, considere a abordagem escolhida pelo Git 2.19 (Q3 2018), que adiciona um script (in
contrib/
) para ajudar os usuários do VSCode a trabalhar melhor com a base de código do Git.Em outras palavras, gere o
.vscode
conteúdo (se ainda não existir), não faça a versão.Consulte commit 12861e2 , commit 2a2cdd0 , commit 5482f41 , commit f2a3b68 , commit 0f47f78 , commit b4d991d , commit 58930fd , commit dee3382 , commit 54c06c6 (30 de julho de 2018) por Johannes Schindelin (
dscho
) .(Incorporado por Junio C Hamano -
gitster
- in commit 30cf191 , 15 de agosto de 2018)fonte
A resposta é "NÃO", porque a pasta .vscode é para este editor e você não deve enviar essas configurações pessoais para repo em caso de confusão de outras pessoas, para que você possa adicioná-lo ao arquivo .gitignore do seu projeto para ignorar as alterações.
fonte
.vscode/settings.json
arquivo em uma área de trabalho): code.visualstudio.com/docs/getstarted/… Somente coisas como a configuração da ferramenta entram nas configurações da área de trabalholaunch.json
- iniciar configurações para depuração que podem ser não triviais de configurar. (2)settings.json
configurações no nível do projeto, como o compilador TypeScript a ser usado, regras de espaço em branco, (3)tasks.json
- comandos de compilação. Você pode optar por não compartilhar, mas achamos útil.Uma maneira simples de manter suas configurações sem confirmá-las no repositório git do projeto é criar uma área de trabalho e adicionar uma pasta a ela.
Quando você cria um espaço de trabalho, precisa salvar um arquivo
code-workspace
. Este arquivo contém configurações personalizadas, salve-o fora do repositório git e estará livre para adicioná-.vscode
lo.gitignore
.fonte