2015-05-05 15 views
11

Pracuję nad projektem, w którym poprzedni twórcy dodali wiele kodu this.x, co moim zdaniem sprawia, że ​​jest on dłuższy i przez to mniej czytelny. Zostało ono umieszczone w całym projekcie przez akcję zapisu Eclipse.IntelliJ/Android Studio: usuń niepotrzebne użycie "tego".

Co szukam jest IntelliJ refaktoring sposób, że mogę byłaby wszystkie samodzielne odniesień na cały projekt tak, że w ten sposób:

this.something = "foo"; 

staje się w ten sposób:

something = "foo"; 

Czy istnieje coś takiego (używam Androida Studio 1.2), czy muszę uruchomić wyrażenie regularne i upewnić się, że nic nie zepsuje?

Odpowiedz

22

Jednym ze sposobów osiągnięcia tego jest użycie Inspections. Możesz edytować inspekcje uruchomione na kodzie, przechodząc do Ustawienia> Edytor>Inspekcje. Ten, który chcesz zmienić, znajduje się pod Java >Problemy z Stylem Kodu i nazywa się "Niepotrzebny" ten "kwalifikator".

Po sprawdzeniu i zastosowaniu tej kontroli, podświetli obszary kodu, które niepotrzebnie używają słowa kluczowego this. W tej chwili nie będzie to miało bezpośredniego wpływu na bazę kodu i będziesz musiał przejść przez każdą instancję jeden po drugim. W celu ustalenia partię inspekcji ostrzeżeń następnie przejść do Analizować>Sprawdzić kod ...

Z tej opcji można wybrać, aby wykonać inspekcję określonych plików lub całego projektu. Spowoduje to wyróżnienie wszystkich wystąpień kodu, które są sprzeczne z regułami inspekcji, na przykład z tą nowo dodaną regułą. Aby zastosować poprawkę, wystarczy kliknąć prawym przyciskiem myszy na problem lub grupę problemów, które chcesz naprawić, a następnie wybrać opcję Zastosuj poprawkę.

enter image description here

+0

Dobra robota! To znacznie lepsze rozwiązanie niż moje. – jimpanzer

+1

Gdy ta opcja jest ustawiona w 15.0.2, IntelliJ oferuje "Kod oczyszczający", gdy kursor znajduje się na niepotrzebnym "tym" i naciśnięcie Alt + Enter. Spowoduje to usunięcie wszystkich niepotrzebnych "tego" wystąpień. –

-1

myślę, że można użyć:

  1. CTRL + SHIFT + R
  2. Tekst znaleźć "to \".
  3. Wymień ""

To powinno rozwiązać problem.

+1

które potencjalnie mogłyby złamać kod w niektórych miejscach. Powiedzmy, że masz 'public void setFoo (Foo foo) {this.foo = foo; } 'następnie wyszukaj i zamień go złamać, ponieważ w tym przypadku' ten' nie jest niepotrzebny. –

+0

@ BohuslavBurghardt, tak, masz rację. Więc moja odpowiedź nie jest bezpieczna. – jimpanzer

Powiązane problemy