Como posso confirmar algumas alterações em um arquivo, mas não em outros, no VSCode?

139

O VSCode possui uma excelente integração com o git, mas não consigo encontrar uma maneira de fazer confirmações parciais. Basicamente, desejo poder selecionar alterações específicas nos meus arquivos e prepará-las sem prepará-las. Essa funcionalidade é suportada pela CLI do git, aplicativos nativos do Github e plugins Atom.

Principalmente me certificando de que não estou perdendo apenas algo antes de abrir um ticket.

Rayne
fonte

Respostas:

212
  • Abra a visualização Controle de origem e clique em um arquivo alterado para abrir a comparação.

  • Selecione as linhas que você deseja preparar.

  • Clique em '...' então Stage Selected Ranges.

insira a descrição da imagem aqui

Benjamin Pasero
fonte
45
Apenas no caso de alguém ficar confuso como eu: essa captura de tela se refere ao ···canto superior direito do editor, não ···ao topo do painel git à esquerda.
waldyrious
4
Se isso retornar um erro " Git: valor ilegal paraline ", isso foi relatado algumas vezes no GitHub, mas ainda não foi corrigido. Nesse caso, basta alternar para "Visualização embutida" e funcionará. Fonte
Marc.2377
2
Conforme mencionado por @Dimitris, esse comando também está na Paleta de Comandos, portanto você não precisa estar no modo de exibição Controle de Origem.
eatcrayons
2
Esteja ciente de que isso encena linhas inteiras; se você deseja encenar partes de uma linha, acho que está de volta à get add -iedição interativa ...
Zarepheth
97

⚡ Resumindo tudo nesta postagem com um gif.

  1. Verifique se você está na exibição de controle de origem para usar esse recurso
  2. Selecione o intervalo de código
  3. Abra ···no canto superior direito do editor (não ···no topo do painel git à esquerda)
  4. Você também pode pressionar COMMAND (⌘)+ K+ COMMAND (⌘)+ Spara abrir os atalhos de teclado, procurar rangee definir um atalho de teclado para esta ação.

Confirmação de seleção de intervalo VSCode

Paz! ✌️

Ahmad Awais
fonte
difícil selecionar linhas excluídas
duXing 11/06
45

Atualização: outubro de 2017: No VSCode mais recente a partir de outubro de 2017 (versão 1.18), você pode realmente preparar linhas específicas muito fáceis, exatamente como faria com a CLI do git git add -p. Você só precisa clicar na linha editada pelo lado, assistir ao diff e aplicá-lo ou não.

Visualizar alterações pendentes e realizar confirmações parciais no editor

Konstantinos Leimonis
fonte
5
No entanto, existem duas coisas que faltam ... Você não pode dividir pedaços e nem editar manualmente pedaços ... :(
Robert Koritnik:
12

Esta opção foi movida para a paleta:

shift + command + P e digite "intervalos selecionados do estágio"

Dimitris
fonte
parece não funcionar quando no modo vim.
baxx 15/06
@baxx Por que você esperaria isso?
tejasvi88 11/07
@ tejasvi88 porque não?
baxx 11/07