C'è un modo per eseguire il refactoring in Xcode 7.1? Quando provo a rinominare una variabile (ad esempio, evidenziare, fare clic con il tasto destro, refactor -> rinominare), Xcode visualizza una finestra di errore che dice "Impossibile refactoring codice Swift. Xcode può refactoring solo C e codice Objective-C." C'è una soluzione per questo?Come si effettua il refactoring in Xcode?
risposta
Come di Xcode 7.2 beta gli strumenti di refactoring non supportano Swift.
Quello che faccio è usare il controllo di tipo. Cambia il nome/tipo di qualcosa e poi correggi tutte le rotture della compilazione. A causa della forte digitazione puoi avere più fiducia che questo approccio catturerà tutto. A volte ho deliberatamente cambiato le cose e le ho interrotte temporaneamente per controllare da dove gli oggetti oi tipi sono usati o cui si accede.
Oppure utilizzare AppCode per il refactoring, ho sentito che è buono ma non ho provato molto me stesso.
La mancanza di refactoring è sbalorditiva (soprattutto perché sto uscendo da un periodo più importante utilizzando VS) Tuttavia ho appena notato che qualcuno ha fatto qualcosa al riguardo. Su GitHub c'è Refactorator Xcode Plugin (licenza MIT), che afferma:
Refactorator è un plugin per il refactoring Xcode Swift & ora codice Objective-C. Rinominerà le vars, le funzioni, le funzioni pubbliche, enum, ecc. Per le entità private e locali usa la funzionalità "Modifica All in Scope" esistente.
La divulgazione completa è che non ho niente a che fare con loro e sto solo per installare il prodotto da solo.
Non ho avuto fortuna con questo. Ad esempio, per rinominare una variabile, è possibile che venga rilevata la maggior parte, ma non tutti gli usi (perché?) - Trova e sostituisci ottiene il 100%. Non sono stato impressionato –
- 1. Quando si effettua il refactoring del codice?
- 2. Come si effettua il blocco di fadeOut in JQuery?
- 3. Come si effettua l'autoaggiornamento di un'applicazione Java?
- 4. Come si effettua una classe iterabile?
- 5. Come si effettua il codice in lib/si ricarica automaticamente quando il file cambia?
- 6. Come si refactoring una classe di Dio?
- 7. Come si "refactoring" i file ant build.xml?
- 8. Come si effettua una chiusura opzionale in swift?
- 9. Come refactoring logging in C#?
- 10. Come si effettua l'aggiornamento automatico di un'app Java?
- 11. fetch(), come si effettua una richiesta non memorizzata nella cache?
- 12. Refactoring in Emacs
- 13. Come si ottiene il percorso sul desktop dell'utente in XCode?
- 14. Come si apre il browser di memoria in Xcode 4?
- 15. Come si effettua una chiamata all'API del protocollo MTProto Telegram?
- 16. Come si effettua una query "Eccetto" LINQ alle entità?
- 17. Come si recupera uno storyboard in xcode?
- 18. Come si duplica un file in XCode?
- 19. Come si esegue TDD in Xcode?
- 20. Come si "installa" tramite xcode?
- 21. Buoni esempi nell'insegnare il refactoring?
- 22. Come si refactoring due classi con gli stessi eventi duplicati?
- 23. Refactoring codice duplicato in metodi
- 24. Java Reflection e il dolore nel Refactoring
- 25. Come refactoring questi metodi generici?
- 26. Come ottenere la variabile ENV quando si effettua il Docker Inspect
- 27. Come si utilizza il preprocessore C effettua una sostituzione con un ambiente variabile
- 28. Fare JavaDoc robusta contro il refactoring
- 29. AutoFixture refactoring
- 30. Come si effettua una prova net.Conn in unit test in Golang?
Allo stato attuale, non si può. Domanda simile qui: http://stackoverflow.com/questions/24133664/xcode-can-only-refactor-c-and-objective-c-code-how-to-rename-swift-class-name-i. –
È fuori di testa che nel 2016 un IDE importante non possa gestire un compito di base come il refactoring. Nel 1995 con Visual Basic 3 sono stato in grado di refactoring. – MusiGenesis
Lo stesso problema continua con Xcode 8. :( – Shad