Jak sprawić, by program Visual Studio nie wstawiał {w nowym wierszu?


97

Jeśli mam taki kod

if(true){

i dodaję

}

jest przekształcany w

if (true)
{
}

ale chciałbym, żeby pozostało w formacie

if (true) {
}

Nawet jeśli skopiuję taki kod if, to jest on przekształcany w dłuższą wersję.

PS Rozumiem, że dłuższa wersja jest standardem C ++ i C #, jednak pochodzę z innego standardu i łatwiej jest mi używać krótszej wersji.

Założę się, że jest jakaś opcja programu formatującego, którą można wyłączyć lub zmienić.

Odpowiedzi:


143

Przejdź do Narzędzia -> Opcje -> Edytor tekstu -> C # -> Styl kodu -> Formatowanie -> Nowe wiersze

Tutaj jest wiele opcji. Usuń zaznaczenie wszystkich opcji tutaj, aby nigdy nie umieszczać otwartego nawiasu w nowej linii.

EDYTOWAĆ

Sekcja New Line Options for expressionsnie dotyczy umieszczania kodu w połączeniu z nawiasami, więc nie musisz ich dotykać.


9
+1 dziękuję. Jednak kiedy je wyłączam, a następnie celowo umieszczam klamrę na nowej linii, przenosi ją z powrotem do tej samej linii :( Czy jest sposób, aby powstrzymać ją od wtrącania się w rzeczy, o które nie prosiłem?
Reversed Engineer

30
Jaki potwór domyślnie włączy nowe linie?
Fueled By Coffee

Używam wersji zapoznawczej VS2019 i musiałem wprowadzić zmianę, a następnie całkowicie zamknąć program Visual Studio i ponownie go otworzyć, aby zmiana została zachowana. Gdybym tylko go zmienił, a następnie spróbował ponownie sformatować dokument, po prostu zresetowałbym go do poprzednich ustawień.
Bernard

W przypadku Visual Studio Code przejdź do Plik -> Preferencje -> Ustawienia iw obszarze Rozszerzenia wybierz język, w którym chcesz zmienić właściwości. Wyszukaj Clang_format_fallback Style(np .: dla C ++ C_Cpp: Clang_format_fallback Style) i zmień wartość z Visual StudionaGoogle
Riccardo Bonesi

Dziękuję Ci! Jest to jedna z najbardziej wywołujących wściekłość funkcji programu Visual Studio for Unity.
SacWebDeveloper

29

Pamiętaj, że jeśli używasz Resharper, powyższa procedura nie pomoże, ponieważ Resharper zastępuje natywne zachowanie VS. Jeśli tak jest w Twoim przypadku, przejdź do Resharper> Opcje, Edycja kodu> C #> Styl formatowania> Układ nawiasów, ustaw wszystkie górne opcje „Układ nawiasów klamrowych” na „Na końcu wiersza (styl K&R)”.

Zajęło mi trochę czasu, zanim to rozgryzłem, więc mam nadzieję, że to komuś pomoże.


10

Dla wszystkich użytkowników komputerów Mac rozwiązałem to w następujący sposób:

Preferencje -> Kod źródłowy -> Formatowanie kodu -> Kod źródłowy C # -> Format C # -> Edytuj

Tam możesz to zmienić w kategorii: Nowe linie

przykład obrazu


9

Spójrz Tools -> OptionswięcText Editor -> C# -> Formatting -> New Lines


8

Możesz to zmienić w opcjach programu Visual Studio. Przejdź do Narzędzia -> Opcje -> Edytor tekstu -> C # -> formatowanie -> nowe linie (lub coś podobnego, mam tylko niemiecką wersję Visual Studio). Następnie możesz zmienić miejsce, w którym chcesz umieścić nawiasy w następnej linii, a gdzie nie. Osobiście usunąłem wszystkie opcje, ale jeśli chcesz mieć nową linię, np. W pętlach, jest wiele opcji, aby to dostosować.


0

W przypadku C ++ jedynym sposobem uniknięcia umieszczania znaku „{” w nowym wierszu przestrzeni nazw w języku VC ++ jest odznaczenie opcji „Automatycznie formatuj blok, gdy wpisuję a}”:

wprowadź opis obrazu tutaj


-1

Aby zrobić to samo dla CSS, musisz przejść do: Tools > Options > Text Editor > CSS > Advanced > Formatting > Automatic Formatting > Off

Automatyczne formatowanie CSS wyłączone

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.