Como fazer o Visual Studio não colocar em uma nova linha?

97

Se eu tiver um código como este

if(true){

e eu adiciono

}

é transformado em

if (true)
{
}

mas eu gostaria que ficasse no formato

if (true) {
}

Mesmo que eu copie um código ifassim, ele será transformado em uma versão mais longa.

PS: Eu entendo que usar a versão mais longa é um padrão C ++ e C #, mas eu venho de um padrão diferente e é mais fácil usar a versão mais curta.

Aposto que há alguma opção de formatador que pode ser desativada ou alterada.

IAdapter
fonte

Respostas:

143

Vá para Ferramentas -> Opções -> Editor de Texto -> C # -> Estilo de Código -> Formatação-> Novas Linhas

Aqui existem muitas opções. Remova a seleção de todas as opções aqui para nunca colocar o colchete aberto em uma nova linha.

EDITAR

A seção New Line Options for expressionsnão está relacionada ao posicionamento do código em conjunto com colchetes, portanto, aqueles que você não precisa tocar.

Øyvind Bråthen
fonte
9
+1 obrigado. No entanto, quando eu os desligo e, em seguida, coloco deliberadamente a chave na nova linha, ele a move de volta para a mesma linha :( Existe uma maneira de impedir que ele se intrometa em coisas que não pedi para ele mexer?
Engenheiro revertido
30
Que monstro habilitaria novas linhas por padrão?
Abastecido por Café de
Estou usando a visualização do VS2019 e tive que fazer a alteração e, em seguida, sair completamente do Visual Studio e reabri-lo para que a alteração seja mantida. Se eu apenas alterasse e tentasse reformatar o documento, ele seria redefinido para as configurações anteriores.
Bernard
Para o Visual Studio Code, vá em Arquivo -> Preferências -> Configurações e, em Extensões, escolha o idioma que deseja alterar as propriedades. Pesquise Clang_format_fallback Style(por exemplo: para C ++ C_Cpp: Clang_format_fallback Style) e altere o valor de Visual StudioparaGoogle
Riccardo Bonesi
Obrigado! Este é um dos recursos mais indutores da raiva do Visual Studio for Unity.
SacWebDeveloper
29

Tenha em mente que se você estiver usando o Resharper, o procedimento acima não ajudará, já que o Resharper substitui o comportamento nativo do VS. Se for esse o seu caso, vá para Resharper> Opções, Edição de código> C #> Estilo de formatação> Layout de colchetes, defina todas as opções de "Layout de colchetes" para "No final da linha (estilo K&R)".

Levei um tempo para descobrir isso, então espero que ajude alguém.

MaDDoX
fonte
10

Para todos os usuários de Mac que estão por aí, resolvi assim:

Preferências -> Código-fonte -> Formatação do código -> código-fonte C # -> Formato C # -> Editar

Lá você pode alterá-lo na Categoria: Novas Linhas

exemplo de imagem

Hacks00r
fonte
9

Dê uma olhada Tools -> OptionsentãoText Editor -> C# -> Formatting -> New Lines

Nekresh
fonte
8

Você pode alterar isso nas opções do Visual Studio. Vá para Ferramentas -> Opções -> Editor de Texto -> C # -> formatação -> novas linhas (ou algo semelhante, só tenho a versão alemã do Visual Studio). Você pode então alterar onde deseja colocar os colchetes na próxima linha e onde não deseja. Pessoalmente, removi todas as opções, mas se você quiser ter uma nova linha, por exemplo, em loops, existem muitas opções para personalizar isso.

Sören
fonte
0

Para C ++, a única maneira de evitar que o VC ++ coloque '{' em uma nova linha para namespaces é desmarcando a opção "Formatar bloco automaticamente quando eu digitar um}":

insira a descrição da imagem aqui

Shital Shah
fonte
-1

Para fazer o mesmo com o CSS, você deve ir para: Tools > Options > Text Editor > CSS > Advanced > Formatting > Automatic Formatting > Off

Formatação automática CSS desativada

Andrew
fonte