2015-08-18 27 views
17

In Intellij IDEA, quando rinominare un metodo utilizzando lo strumento di rifasamento Rename (che essenzialmente sostituisce le occorrenze del vecchio nome del metodo per il suo nuovo), IDEA rimuove anche le importazioni non utilizzate dai file, dove il nome del metodo viene sostituito.Come impedire a IntelliJ IDEA di eliminare pacchetti inutilizzati durante il refactoring di Rename?

Questo non è quello che voglio fare. E anche se voglio rimuovere queste importazioni ridondanti, mi piacerebbe farlo nell'intero progetto in un'azione separata, quindi potrebbe essere un commit separato.

Come disabilitare questo comportamento?

La versione che uso è 14.1.3 Ultimo.

C'è già una domanda simile How to prevent IntelliJ IDEA from deleting unused packages?, ma l'opzione menzionata lì (Optimize imports on the fly) non ha nulla a che fare con il mio problema. In realtà l'ho deselezionato.

Aggiornamento: Mi sembra ora che l'unica soluzione sia eliminare tutte le importazioni non utilizzate prima di applicare altri strumenti di refactoring.

+0

+1. Puoi inviare una richiesta di funzionalità al loro camionista di bug, ma dal momento che suona a me bassa priorità, se ti infastidisce così tanto puoi biforcarti IntelliJ su Github e creare una richiesta di pull con una correzione/possibilità di saltare la rimozione delle importazioni inutilizzate. – Vic

+0

È inoltre possibile verificare se è stata accidentalmente selezionata la casella "Ottimizza importazioni" nell'interfaccia di Git Commit. Vedi questa domanda: http://stackoverflow.com/questions/12585253/how-to-remove-unused-imports-in-intellij-idea-on-commit?rq=1 –

+0

@ phil_20686 Ho controllato e non è spuntato . Inoltre, le importazioni vengono rimosse esattamente durante la rinomina (la notifica viene visualizzata per un secondo o due). Tuttavia, grazie. –

risposta

1

L'ho chiesto al supporto IntelliJ e la risposta mi ha indirizzato a this issue in their issue tracking.

Fondamentalmente, è stato un bug/funzionalità dal 2005. C'è stata discussione avanti e indietro su se il comportamento dovrebbe essere cambiato, ma così com'è, non ci sono stati cambiamenti e non c'è nulla come utente può fare al riguardo.

Problemi correlati