2013-05-23 7 views
8

To doprowadza mnie do szału, wypróbowałem wsparcie Resharper bez rozwiązania, ale zastanawiałem się, czy ktoś tam doświadczył tego.Czy istnieje sposób wyłączenia automatycznego formatowania Resharper 7?

Kiedy zaktualizować istniejące metody i uderzanie nawias klamrowy lub średnik, otrzymuję podwójne wcięcie:

public void abc(int a, int b) { 
     var c; // <- after hitting return after the curly brace 
    var d; 
    var e; 
} 

Czy istnieje jakiś sposób, aby całkowicie wyłączyć formatowania ReSharper? Lub przynajmniej rozwiązać ten problem? Sprawdziłem w Resharper-> Code Editing-> C#, ale nie znalazłem niczego, co działało.

PS - To jest VS 2010

+0

Czy mógłbyś mi powiedzieć, w jaki sposób skontaktowałeś się z naszym wsparciem (ReSharper)? Przez e-mail, formularz internetowy, forum lub w jakikolwiek inny sposób? –

+0

Hej Dmitry, poszedłem na stronę wsparcia Resharpera i napisałem "wyłącz autoformatowanie", bez rezultatów. Wypróbowałem kilka innych bez powodzenia. –

Odpowiedz

20

Zarówno ReSharper i Visual Studio ma automatycznego formatowania. Ale w języku C# są zwykle wywoływane przez naciśnięcie; lub}, a nie przez powrót karetki, więc albo opisałeś swoje działania źle, albo trafiłeś jakiś błąd.

Aby wyłączyć automatyczne formatowanie ReSharper, przejdź do ReSharper | Opcje -> Środowisko | Edytor i wyłącz "Automatyczny format średnika" i "Automatyczny format na nawiasie zamykającym". Jeśli to nie pomoże w przypadku Twojego błędu, możesz również wyłączyć "Automatyczne wstawianie nawiasów klamrowych" na tej samej stronie.

Aby wyłączyć automatyczne formatowanie Visual Studio, przejdź do Narzędzia | Opcje -> Edytor tekstu | C# | Formatowanie | Ogólne i wyłącz opcje "Automatycznie formatuj ...".

Ale nawet bez formatowania automatycznego formatowania nadal będzie wykonywana przy refaktoringach i szybkich poprawkach, więc możesz chcieć dostroić opcje formatowania (oprócz wyłączania automatycznego formatowania). Przede wszystkim przejdź do Narzędzia | Opcje -> Edytor tekstu | C# | Tabulatory. Upewnij się, że rozmiar tabulatora i rozmiar wcięcia są równe (ReSharper nie obsługuje tutaj różnych wartości) i mają poprawną wartość. Wybierz między Wstaw spacje i Zachowaj tabulatory. Następnie przejdź do ReSharper | Opcje -> Edycja kodu | C# | Styl formatowania | Układ szelek. Sądząc po kodzie, wolisz styl K & R. Wybierz wartość "K & R" dla pierwszych 6 opcji na tej stronie. To są najważniejsze ustawienia, ale możesz również chcieć spojrzeć na inne ustawienia stylu formatowania, aby lepiej dostosować je do swojego stylu.

+0

Dziękuję Dmitry, masz rację, problem polegał na tym, że uderzyłem w średnik, a nie powrót karetki. Ale problem nadal istnieje. Dzięki za podpowiedź o wyłączeniu autoformatowania, zadziałało, ale nadal chcę, żeby to było wcięcie (myślałem, że domyślnie będzie to ustawienie VS, ale tak nie jest). Kiedy korzystam z zalecanych przez ciebie ustawień, wciąż dwa razy automatycznie wcina się, więc zawsze muszę uderzyć w backspace, aby uzyskać kod w kolejce. –

+0

@MarkKadlec To bardzo dziwne. Chyba muszę spojrzeć na twój plik i twoje ustawienia. Czy mógłbyś utworzyć nowy raport o błędzie na http: // http: //youtrack.jetbrains.com/. Wybierz projekt "ReSharper" i podsystem "Styl kodu - Formatter", w ten sposób zostanie on przypisany bezpośrednio do mnie. Tam możesz albo załączyć plik i ustawienia (pole ustawiania "Problem jest widoczny jako" dla "resharper-programistów", aby uczynić je prywatnymi) lub możemy zorganizować konferencję wideo Skype. –

+0

Dzięki, świetna odpowiedź – joniba

Powiązane problemy