Como alterar o recuo no código do Visual Studio?

342

Para cada arquivo datilografado, o código do visual studio usa um recuo automático de 8 espaços. Isso é um pouco demais para o meu gosto, mas não consigo encontrar onde alterá-lo.

Talvez esteja disponível como configuração, mas com um nome diferente, pois não consigo encontrar nada relacionado ao recuo.

ATUALIZAR

Atualmente, estou usando o formatador de código Prettier e isso resolve todos os problemas de formatação, formatação automática ao salvar (se não houver erro de sintaxe)

HMR
fonte

Respostas:

109

Você pode alterar isso em Usernível ou nível global Workspace.

Abra as configurações: Usando o atalho ctrl + ,ou clicando File> Preferences> Settingscomo mostrado abaixo.

Configurações no menu Código VS

Em seguida, faça as 2 seguintes alterações: (digite tabSizena barra de pesquisa)

  1. Desmarque a caixa de seleção Detect Indentation
  2. Altere o tamanho da guia para 2/4 (embora eu ache fortemente que 2 esteja correto para JS :))

insira a descrição da imagem aqui

Xin
fonte
11
Por favor, use 4 espaços para recuo.
Bohdan Kuts 16/04
3
@BohdanKuts ha ha, este será um argumento sem fim
Xin
Sim :) Eu fiz algumas pesquisas e descobri por que se tornaram 2 espaços. E para mim o motivo parece desatualizado, por isso vou recomendar o uso de 4 espaços, com certeza.
Bohdan Kuts 18/04
Isso é subjetivo e não tem nenhuma vantagem real, mantenho 2 espaços para alguns tipos de arquivos como js, ​​html e css e 3 espaços para código, apenas para facilitar a leitura. Em HTML e XML com 4 espaços, você precisará rolar para a direita em breve.
Pablo Pazos
574

Na barra de ferramentas no canto inferior direito, você verá um item parecido com o seguinte: insira a descrição da imagem aqui Depois de clicar nele, você terá a opção de recuar usando espaços ou guias. Depois de selecionar seu tipo de recuo, você terá a opção de alterar o tamanho de um recuo. No caso do exemplo acima, o recuo é definido como 4 caracteres de espaço por recuo. Se a guia for selecionada como seu caractere de indentação, você verá Tamanho da guia em vez de Espaços

Se você deseja que isso se aplique a todos os arquivos e não individualmente, substitua as configurações Editor: Tab Sizee Editor: Insert Spacesem Configurações do usuário ou Configurações da área de trabalho, dependendo de suas necessidades

Editar 1

Para acessar as configurações do usuário ou da área de trabalho, vá para Preferências -> Configurações . Verifique se você está na guia Usuário ou Área de trabalho, dependendo de suas necessidades, e use a barra de pesquisa para localizar as configurações. Você também pode desabilitar, Editor: Detect Indentationpois essa configuração substituirá o que você definiu Editor: Insert Spacese Editor: Tab Sizequando está ativado

elliot-j
fonte
O link da imagem está quebrado.
34
Alterar editor.tabSpacesse não alterar o espaçamento em todos os arquivos. Ele o altera apenas para arquivos criados no futuro. Ainda não há solução para corrigir todos os arquivos em uma ação.
Jacob Stamm
3
Uau. mente soprada. às vezes as coisas estão apenas se escondendo à vista de todos
pingo
4
Isso é super intuitivo. Eu já tenho recuo definido para usar espaços. Por que preciso clicar na opção de espaços para acessar um segundo menu oculto para definir o número de espaços? Todos os outros editores que usei são apenas um clique nos detalhes do recuo na barra de status e há uma opção de vários espaços. No VS Code, preciso procurar isso no Stack Overflow porque o menu que eu quero está oculto por trás de uma opção que não estou tentando alterar.
precisa saber é o seguinte
11
sempre parece voltar ao padrão de espaço 4 toda vez que crio um novo arquivo?!?!
oldboy 28/09/19
141

Para alterar o recuo com base na linguagem de programação :

  1. Abra a paleta de comando ( CtrlShiftP| MacOS: P)
  2. Preferências: Definições de idioma específicos Configurar ... (identificação de comando: workbench.action.configureLanguageBasedSettings)
  3. Selecione a linguagem de programação (por exemplo, TypeScript)
  4. Adicione este código:

    "[typescript]": {
        "editor.tabSize": 2
    }
    

Veja também: VS Code Docs

Martin Schneider
fonte
Como (onde) alguém usa o ID do comando? Não vejo "Definir configurações específicas do idioma" em Preferências de arquivo.
Alan Baljeu
@AlanBaljeu, você pode usar o ID do comando para atalhos, extensões do teclado, etc. Portanto, você pode ir para Arquivo > Preferências > Atalhos do Teclado , colar o ID na entrada e atribuir, por exemplo, Ctrl + K Ctrl + L ao comando.
Martin Schneider
55

Você também pode definir editor.detectIndentationfalso como, além da resposta de Elliot-J.

O VSCode substituirá suas configurações editor.tabSizee editor.insertSpacespor arquivo se detectar que um arquivo possui uma guia ou padrão de indentação de espaços diferente. Você pode enfrentar esse problema se adicionar arquivos existentes ao seu projeto ou se você adicionar arquivos usando geradores de código como o Angular Cli. A configuração acima impede que o VSCode faça isso.

RMuesi
fonte
44

Atalho para formatação de código:

VSCode no Windows - Shift + Alt + F

VSCode no MacOS - Shift + Option + F

VSCode no Ubuntu - Ctrl + Shift + I

Você também pode personalizar esse atalho usando a configuração de preferência, se necessário.

seleção de coluna com teclado Ctrl + Shift + Alt + Arrow

Sujatha Girijala
fonte
11
Shift + Alt + Falterei todos os recuos do meu arquivo de 8 espaços para meus 4 espaços padrão. Apenas o que eu estava procurando :)
Harry12345
24

No meu caso " EditorConfig for VS Code extensão " está substituindo as configurações do VSCode. Se você o tiver instalado, verifique o arquivo .editorconfig na pasta raiz do projeto.

Aqui está um exemplo de configuração. O "indent_size" define o número de espaços para uma guia.

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
Aviw
fonte
7

Explicação simplificada com fotos para aqueles que pesquisaram "Alterar recuo no código VS"

Etapa 1: clique em Preferências> Configurações

insira a descrição da imagem aqui

Etapa 2: a configuração que você está procurando é "Detectar recuo", comece a digitar isso. Clique em "Editor: Tamanho da guia"

insira a descrição da imagem aqui

Etapa 3: role para baixo até "Editor: Tamanho da guia" e digite 2 (ou o que você precisar).

insira a descrição da imagem aqui



As alterações são salvas automaticamente

insira a descrição da imagem aqui

Exemplo das minhas alterações

insira a descrição da imagem aqui

JGallardo
fonte
6

Para definir todos os arquivos existentes e novos arquivos para identificação de espaço como 2, basta colocá-lo em seu settingns.json (na raiz do json):

"[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features",
        "editor.tabSize": 2,
        "editor.insertSpaces": true,
        "editor.detectIndentation":false
 }

você pode adicionar o tipo de idioma da configuração:

"[javascript]": {
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "editor.detectIndentation":false
} 
Reculos Gerbi Neto
fonte
Hoje em dia eu uso o prettier.js e o plugin js, pois ele se preocupa com o espaçamento e com o alinhamento de linhas longas, bem como com qualquer outra coisa.
HMR
11
Obrigado, resposta incrível, melhor maneira para mim.
Swetabja Hazra
5

Como transformar 4 espaços recuos em todos os arquivos no VS Code para 2 espaços

  • Abrir pesquisa de arquivo
  • Ativar expressões regulares
  • Digite: ( {2})(?: {2})(\b|(?!=[,'";\.:\*\\\/\{\}\[\]\(\)]))no campo de pesquisa
  • Digite: $1no campo substituir

Como transformar recuos de 2 espaços em todos os arquivos no código VS para 4 espaços

  • Abrir pesquisa de arquivo
  • Ativar expressões regulares
  • Entrar: ( {2})(\b|(?!=[,'";\.:\\*\\\/{\}\[\]\(\)]))no campo de pesquisa
  • Digite: $1$1no campo substituir

NOTA: Você deve ativar o PERL Regex primeiro. É assim:

  • Abra as configurações e acesse o arquivo JSON
  • adicione o seguinte ao arquivo JSON "search.usePCRE2": true

Espero que alguém veja isso.

casual234
fonte
11
Especificamente para o VS Code, há também uma extensão para a conversão de 4 a 2 espaços.
tanius
4

Problema: A resposta aceita, na verdade, não corrige o recuo no documento atual.

Solução: Execute Format Documentpara reprocessar o documento de acordo com as configurações (novas) atuais.

Problema: Os documentos HTML em meus projetos são do tipo "Django HTML" e não "HTML" e não há formatador disponível.

Solução: Altere-os para a sintaxe "HTML", formate-os e volte para "Django HTML".

Problema: O formatador HTML não sabe como lidar com as tags de modelo do Django e desfaz grande parte do meu aninhamento cuidadosamente aplicado.

Solução: instale a extensão Indent 4-2 , que executa o recuo estritamente, sem levar em consideração a sintaxe do idioma atual (que é o que eu quero neste caso).

shacker
fonte
2

Eu queria alterar a indentação do meu arquivo HTML existente de 4 para 2 espaços.

Cliquei no botão 'Espaços: 4' na barra de status e mudei para dois na próxima caixa de diálogo.

Eu uso a extensão 'vim'. Eu não como reentrar sem vim

Para reentrar meu arquivo atual, usei o seguinte:

gg

=

G
Rounak
fonte
0

Adicionando: sim, você pode usar a interface do usuário no canto inferior direito para definir as configurações de espaço. Mas se você tiver um código existente que não esteja formatado para o novo espaçamento, clique com o botão direito do mouse em qualquer lugar do arquivo e clique em Formatar documento . Demorei um pouco para descobrir isso até eu tropecei nessa questão .

Menu Formatar documento

Wompinalong
fonte