Como posso usar guias para recuo no IntelliJ IDEA?


129

Como posso usar guias em vez de vários espaços para recuo no IntelliJ IDEA 11.0?

Eu tenho "Usar caractere de tabulação" marcado em "Estilo do código"> "Geral"> "Opções de recuo padrão". E também tentou verificar "Guias inteligentes", mas isso não ajuda.

A partir da documentação :

Se esta caixa de controle estiver selecionada, os caracteres de tabulação serão usados:

  • Ao pressionar a tecla Tab
  • Para recuo
  • Para reformatação de código

Caso contrário, são utilizados espaços em vez de tabulações.

Respostas:


58

IntelliJ IDEA 15

Somente para o arquivo atual

Você tem as seguintes opções:

  1. Ctrl+ Shift+ A> escreva "tabs"> clique duas vezes em "To Tabs"

    Para guias

    Se você deseja converter guias em espaços, pode escrever "espaços" e escolher "Para espaços".

  2. Editar> Converter recuos> Para guias

    Para converter guias em espaços, você pode escolher "Para espaços" no mesmo local.

Para todos os arquivos

Os caminhos nas outras respostas foram alterados um pouco:

  • Arquivo> Configurações ...> Editor > Estilo do código> Java> Guias e recuos> Usar caractere de tabulação Usar caractere de tabulação
  • Arquivo> Outras configurações> Configurações padrão ...> Editor > Estilo do código> Java> Guias e recuos> Usar caractere de tabulação
  • Arquivo> Configurações ...> Editor > Estilo do código> Detectar e usar recuos de arquivos existentes para edição
  • Arquivo> Outras configurações> Configurações padrão ...> Editor > Estilo do código> Detectar e usar recuos de arquivos existentes para edição

Parece que não importa se você marcar / desmarcar a caixa em Configurações ... ou em Outras configurações> Configurações padrão ... , porque a alteração de uma janela estará disponível na outra janela.

As alterações acima serão aplicadas aos novos arquivos , mas se você desejar alterar os espaços para guias em um arquivo existente , formate o arquivo pressionando Ctrl+ Alt+ L.


1
É isso que chamo de explicação! Muito obrigado. Estou acostumado a espaços e também havia definido as outras coisas, mas havia perdido a reformatação.
geisterfurz007

210

Arquivo > Configurações > Editor > Estilo do código > Java > Guias e recuos > Usar caractere de tabulação

Substitua a arma escolhida pelo Java, conforme necessário.


5
Observe que, se você estiver alterando isso e também substituindo todas as guias / espaços em um arquivo, pode ser necessário fechar e reabrir o arquivo para corrigir a detecção após as alterações.
mlissner

3
Alguma idéia de por que "Usar caractere de tabulação" não está ativado por padrão?
precisa saber é o seguinte

2
Os caracteres da guia @IvanBalashov podem causar alguns problemas de formatação quando vistos em outros editores de texto. Além disso, algumas linguagens, como Python, podem ser interrompidas quando você usa guias em vez de espaços.
Cache Staheli

11
e o que faço quando quero ter guias como recuo PARA TODAS AS LÍNGUAS? devo clicar em 500 idiomas diferentes e aplicá-lo individualmente?
27916 phil294

3
Eu fiz isso e o IntelliJ ainda está usando espaços (consulte o post por que não usar o intellij-use-tabs )
dude1ejack

24

Comecei a usar o IntelliJ IDEA Community Edition versão 12.1.3 e encontrei a configuração no seguinte local: -

File > Other Settings > Default Settings > {choose from Code Style dropdown}

4
Não teria encontrado isso sem a sua resposta. Obrigado!
MegaMatt

2
Você pode precisar desmarque "Detectar recuo de arquivo"
lowcrawler

14

Para alguém que não é capaz de obter isso, é necessário desmarcar também o seguinte

Preferences > Editor > Code Style
[] Enable EditorConfig support
EditorConfig may override the IDE code style settings

My IntelliJ versão 15.0.4


1
Obrigado! Você acabou de salvar meu teclado.
precisa

Eu estava tendo 2 espaços como tamanho da guia e estava tentando, desde os últimos dias, consertar isso. Foi assim que eu corrigi o problema. Muito obrigado @visheshd
adi

10

Outra opção útil no IDEA para desligar ou manter a verificação se você realmente precisa disso:

Preferences -> Code Style -> Detect and use existing file indents for editing

se sua equipe mudar para a formatação de guias com o código existente escrito com espaços, desmarque


8

Você já tentou .editorconfig ? Você pode criar esse arquivo na raiz do seu projeto e configurar o recuo para diferentes tipos de arquivos. Seu código será formatado automaticamente. Aqui está o exemplo:

# top-most EditorConfig file
root = true

# matches all files
[*]
indent_style = tab
indent_size = 4

# only json
[*.json]
indent_style = space
indent_size = 2

Este arquivo substitui qualquer outra coisa nas configurações intellij. É muito importante verificar esse arquivo primeiro.
Arashsoft 26/04/19

Tendo tentado de tudo - aceito ou não - nesta página, essa é a única coisa que superou a mão pesada de espaços (Macos, Intellij CE 2018.3.4, arquivo .rs existente).
cloudsurfin

0

Minha versão do Intellij é 13.4.1

Intellij IDEA->Perference->Code Style(Project Setting)

0

Para expandir a resposta de @Dmitiri Algazin: as configurações de idiomas individuais são substituídas pela configuração geral

Preferences -> Code Style -> Detect and use existing file indents for editing

Portanto, se você está se perguntando por que suas novas configurações estão sendo ignoradas depois de alterá-las para um idioma específico, é possível que essa caixa de seleção esteja marcada.

Como uma nota rodapé; alterar automaticamente qualquer configuração padrão cria um clone de perfil de configuração (ou seja Default(1)), que eu assumo estar em vigor para que as configurações padrão do IDE nunca sejam substituídas.

É um pouco confuso a princípio, realmente, editar Defaultconfigurações ou Project Settingster algum efeito no seu projeto, pois você pode selecionar Defaultno menu suspenso e depois editar a partir daí.

Se você não quiser continuar vendo clones aleatórios de Padrão preenchendo seus perfis de configurações, edite as Configurações do projeto diretamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.