Desativar a formatação automática no Visual Studio


134

Sou purista de código, preferindo meu próprio estilo de formatação de código, em oposição às configurações padrão do Visual Studio. Desativei as opções de formatação automática em Ferramentas / opções. Na maioria dos casos, funciona.

Depois de usar qualquer uma das refatorações internas, o Visual Studio restringe minhas configurações com as configurações padrão. Como evito que o VS faça isso?


9
@ user1142958 a cada poucos meses em um projeto de código aberto e a cada poucos anos nos negócios, me deparo com algumas dicas que insistem em que seu estilo é melhor que o padrão. Através de anos de pesquisa, foi determinado que os padrões de estilo melhoram a legibilidade e a manutenção do código. Quando os desenvolvedores criam sua própria abordagem "melhor", geralmente tem a tendência de afastar outros desenvolvedores da equipe. Leia isto como um exemplo - woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo

29
@senfo Essas são ótimas informações, mas o formatador interno do Visual Studio é inegavelmente quebrado em alguns casos (por exemplo, stackoverflow.com/questions/6459861/… ). Nesses casos, prefiro usar minha inteligência humana para conformar os padrões que considero adequados, em vez de confiar na triste tentativa de VS de "estilo".
21915 Dan Danhard

5
@senfo - VS .cshtml formatação automática, especialmente em termos de Razor, está quebrado. Concordado com você em outras partes, mas esta não é uma característica - é um bug
Ross

5
Quando "o padrão" se parece com dois gatos lutando no teclado, a consistência não é uma virtude. Chame-me um hotshot, mas o tempo extra para tornar o código legível vale a pena. Minha experiência é perfeitamente consistente: as pessoas mais apaixonadas pela consistência (sic) promovem o código mais ilegível que conseguem criar.
Chris Fox

5
Um purista de código é uma pessoa que insere o texto na formatação correta, para que não haja necessidade de formatação automática (possivelmente interrompida).
Anders Lindén 17/02

Respostas:


106

Eu tive esse problema ao escrever VB em uma aspxpágina.

A solução foi ir para 'Ferramentas> Opções> Editor de texto> Básico> VB Specific' e desativar 'Pretty Listing'.


Nota - no Visual Studio 2015, pode ser encontrado em:

Ferramentas> Opções> Editor de Texto> Básico> Avançado


Eu gostaria de poder vincular essas caixas de seleção facilmente a qualquer tecla curta.
Mike de Klerk

1
Obrigado, isso funcionou para mim. O "bonito" é incrivelmente ruim, com os parâmetros de função "escondidos" sob o nome da função, uma escolha inexplicável quando o alinhamento vertical tabular é o que qualquer pessoa que trabalha em comunicação pode dizer que é mais fácil de apreender.
Chris Fox

54
só vou fazer uma pausa para admirar a beleza de ter uma hierarquia de árvore de opções que diz text editor -> basic -> advanced... 'oh sim, você quer a seção avançada'? Isso é básico
fostandy

12
@ fostandy, eu sei que você provavelmente sabe disso, mas basicé o nome do idioma, não a seção de opções, pois o C # também está listado lá.
precisa saber é o seguinte

32

Desativar lista bonita. É a opção que re-formata o que você está fazendo. Eu tive o mesmo desconforto com ele e, depois de fazer isso, meu código permanece como eu quero e ele não volta às configurações anteriores.

insira a descrição da imagem aqui


Não tenho essa opção no meu VS2010 Premium
Maciej

2
Corrige-o no VS2017
Doug Null

Não resolver o meu problema C ++ no VS 2013. E eu tenho certeza que não foi quebrado antes eu mudei máquinas
Cashcow

6

No meu caso, foi ReSharper.

Teste se o ReSharper

StackOverflow: Como posso desabilitar o ReSharper no Visual Studio e habilitá-lo novamente?

Impedir que o ReSharper reformate o código

StackOverflow: Existe uma maneira de marcar o código para dizer ao ReSharper para não formatá-lo?

Atualizar

Foi ReSharper no final:

insira a descrição da imagem aqui


2
Obrigado, isso estava me deixando louco.
Simon Arnold

1
De acordo, os aparelhos estavam sempre no lugar errado e literalmente pisoteavam o código com uma bota pesada e pesada toda vez que você batia um ponto e vírgula. Não é legal.
Contango 15/03/19

5

Você pode ter o Power Tool instalado.

Nesse caso, você pode desativá-lo em 'Ferramentas> Opções> Ferramentas elétricas de produtividade> PowerCommands> Geral'

insira a descrição da imagem aqui


4

Como sugerido por @TheMatrixRecoder, demorei um pouco para descobrir, então talvez isso ajude alguém. A opção VS 2017 pode ser encontrada aqui

Escolha estas opções para evitar formatação automatizada irritante quando você coloca um ponto-e-vírgula ou pressiona retorno no final de uma linha.


3

No VS2017, você pode alterá-lo após selecionar o idioma de codificação no menu de configurações. Existe uma opção chamada "novas linhas" no submenu "Formatação".


2

Duvido que você possa desativar a reformatação após refatoração. A refatoração altera o código e, como é apenas texto, duvido que você queira que ele apenas despeje texto não formatado em sua fonte. Não seria um pouco mais fácil apenas definir o estilo de código que o VS adere ao estilo que você gosta e segue?


1
Às vezes, o estilo de codificação não é algorítmico. Às vezes, é deliberadamente inconsistente, porque alguém contribui para um projeto com estilo de codificação inconsistente e deseja aderir ao estilo de codificação da parte específica do código que está sendo editada.
Palec

2

A reformatação em ponto-e-vírgula ou chave de fechamento não pode ser desativada. Acho irritante que a Microsoft tenha a ousadia de dizer a alguém como formatar o código; o código mais ilegível que eu já vi foi enquanto trabalhava lá.

Quero que as tarefas adjacentes sejam alinhadas verticalmente; O VS os reformata para um espaço em ambos os lados do sinal de igual, independentemente do comprimento da variável à esquerda. Isso é intolerável. E desativá-lo nas opções do editor é ignorado; dados comentários como o abridor acima, estou certo de que isso é deliberado.

A consistência é apenas uma virtude quando leva a resultados desejáveis. Este não é um.


2

Configurações do VS2015 que me ajudaram a impedir a formatação automática:

(e Ferramentas> Opções> Editor de texto> Básico> Avançado, como sugerido pelo Tango91 )

insira a descrição da imagem aqui


1

Siga FERRAMENTAS-> OPÇÕES-> Editor de texto-> CSS-> Formatação Escolha "Regras compactas" e desmarque a opção "Indentação hi-ercical"


Editor de Texto -> CSS ou HTML -> Tabs -> recuo -> (o) Nenhum
Bob Stein

1

Pode ser o caso do formato Clang. Anteriormente, o arquivo inteiro era formatado automaticamente no salvamento de arquivos, e isso me deixava louco (para os repositórios que o Clang Format não está ativado).

Esse comportamento desaparece depois de transformar "Ferramentas -> Opção -> LLVM / Clang -> ClangFormat -> Formatar ao salvar -> Ativar" em Falso.

Formato ClangFormat ao salvar


0

Você pode ajustar as configurações da formatação do código. Eu sempre desativo todas as quebras de linha extras e funciona bem na formatação do código.

Se você ajustar as configurações o mais próximo possível da sua preferência, isso deverá permitir um trabalho mínimo sempre que você usar a refatoração.


0

Além da resposta do Tango para a solução real, pode haver pessoas que realmente desejam manter-se atualizadas com auto-formatos, mas não precisam estragar suas alterações relevantes. Sugiro que você modifique o arquivo para ativar o formato automático, verifique essas alterações e prossiga com as alterações reais que deseja fazer.

Dessa forma, seu código pode se manter atualizado, mas seu check-in será relevante.


0

Tente desativar a extensão Bundler & Minifier

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.