2013-02-13 12 views
5

Quando eseguo una correzione rapida su un campo in eclissi, posso generare un getter e un setter per il campo. Ciò rende inoltre privato il campo e successivamente trasforma tutti gli accessi per questo campo in tutti i file sorgente per utilizzare il getter e il setter. Questo è il caso di un singolo campo.Eclipse genera getter e setter non incapsulati

Tuttavia se faccio contextmenu> Source> Genera getter e setter ... (l'opzione da utilizzare quando si vogliono influenzare tutti i campi) non fa la modifica di cui sopra e tutto l'accesso ai campi nel codice sorgente è lasciato così com'è.

Sto trascurando qualcosa?

risposta

6

La correzione rapida non sta andando a questo menu. Il menu che la chiamata rapida è accessibile da Context Menu -> Refactor -> Encapsulate Field

+0

CTRL-1 (pensavo che fosse una scorciatoia rapida) offre "genera getter e setter" e questo apre la finestra che descrivi (incapsula). Questa è la caratteristica che descrivo nella prima parte del mio post. correggimi se sbaglio. Il mio problema è che Source> Refactor non incapsula alcun campo, a differenza del campo refactoring> encapsulate. Potrei fare Refactor> Incapsula il campo per tutti i miei campi ma sono piuttosto pigro .. – cdbeelala89

+0

Quando usi Ctrl-1 e vai a 'Genera getter and setter' ti darà la schermata' Encapulate Field'. Il nome è confuso. Se si guarda la documentazione 'Genera getters and setter', la si vedrà chiaramente: Si dice' Avvia il refactoring 'Encapsulate field' per creare getter e setter'. Probabilmente avrebbero dovuto chiamarlo meglio. –

+2

C'è un modo per farlo in batch? per esempio. selezionare 20 campi e dire: incapsulare tutti loro? –