2014-12-09 27 views
6

Mam problem przez jakiś czas w Visual Studio 2013. Nie wydaje się rozumieć, jak poprawnie zastosować zasady wcięcia do wyrażeń lambda, gdy zostały one ustawione w kolejce nieprawidłowo. Tutaj jest uproszczony przykład:Niepoprawne wcięcie Wyrażenia Lambda

var s = new Action(() => 
    { 
    }); 

W drugim i trzecim rzędzie, element wcięć jest tylko trzy przestrzenie zamiast 4 (przykład prawdziwy kod jest o wiele większe przy wewnętrznej ekspresji obejmującym setki linie - to sprawdzone przez mojego kolegę i próbuję to naprawić). Próbowałem każdej kombinacji reformatowania kodu, dokumentu, ponownego tworzenia nawiasów klamrowych itp. Nic nie działa. Odmawia automatycznej aktualizacji wcięcia poprawnie.

Zwykle nie zawracałbym sobie tym głowy, ale powoduje to, że cały kod w środku jest wyłączony także przez 1 znak. Kiedy piszę linie pośrodku, znaczniki tabulacji/przesunięcia + tabulacji mają 1 znak wyłączony z linii powyżej i poniżej i ciągle muszę się dostosowywać, aby znów ustawić kolejki. Najbliższą rzeczą, którą mogę znaleźć, aby odnieść się do tego problemu, jest ta Connect Feedback z 2013 r., Która podobno została naprawiona, ale mam aktualizację 4 (wydaną w listopadzie 2014 r.) I wciąż mam problem.

Skrót od ręcznego przechodzenia i aktualizowania wcięcia dla każdej linii w wyrażeniu lambda, czy ktoś ma pomysł, jak mogę szybko naprawić ten kod?

+0

Co powiesz na wyodrębnienie "wewnętrznego wyrazu obejmującego setki linii" i wstawienie tego w metodzie? Zabij dwa ptaki jednym kamieniem? – RenniePet

Odpowiedz

4

Zlekceważenie problemu w Visual Studio i natychmiastowe rozwiązanie problemu. Przytrzymaj alt, aby włączyć wybór bloku, zaznacz wszystkie linie i wpisz pojedynczą spację. Wystarczy, aby zilustrować:

Block Selection

Jeśli wpiszesz Hello World!, wynik będzie:

After Typing

jako 'rant': pojedyncza lambda nie powinien zawierać setki linii kodu, jest to bardzo duża mądrość nieopłacalna.

+0

Awesome, nie wiedziałem o tym! Jeśli chodzi o kod, lambda jest dla niestandardowego opakowania do rejestrowania. – mellamokb