web-dev-qa-db-fra.com

Comment refactoriser Swift dans Xcode?

Existe-t-il un moyen de refactoriser Swift dans Xcode 7.1? Lorsque j'essaie de renommer une variable (par exemple, surbrillance, clic droit, refactoriser -> renommer), Xcode affiche une boîte de dialogue d'erreur indiquant "Can 't refactor Swift code. Xcode ne peut refactoriser que le code C et Objective-C. "Existe-t-il une solution à ce problème?

44
Paul Van Wieren

AFAIK le refactoring ne fonctionne pas avec Swift en ce moment, cependant, au moins dans le même fichier (portée), vous pouvez faire ce qui suit: enter image description here

86
Dániel Nagy

Xcode 9 - 10

Xcode 9 prend désormais en charge la refactorisation dans Swift. Cela a été annoncé lors de la WWDC 2017.

enter image description here

13
Guy Daher

Le manque de refactoring est étonnant (surtout que je sors d'un relais majeur avec VS) Cependant je viens de remarquer que quelqu'un a fait quelque chose. Sur GitHub il y a Refactorator Xcode Plugin (licence MIT) qui prétend:

Refactorator est un plugin Xcode pour la refactorisation Swift & maintenant le code Objective-C. Il renommera les vars publics ou internes, les fonctions, les énumérations, etc. Pour les entités privées et locales, utilisez la fonction "Modifier tout dans l'étendue" de Xcode "fonctionnalité.

La divulgation complète est que je n'ai rien à voir avec eux et que je suis sur le point d'installer le produit moi-même.

6
Peter M

Depuis Xcode 7.2 beta, les outils de refactoring ne prennent pas en charge Swift.

Ce que je fais, c'est utiliser le vérificateur de type. Modifiez le nom/type de quelque chose, puis corrigez toutes les ruptures de compilation. En raison du typage fort, vous pouvez être plus sûr que cette approche va tout attraper. J'ai parfois délibérément changé des choses et les ai cassées temporairement pour vérifier où les objets ou les types sont utilisés ou accessibles.

Ou utilisez AppCode pour le refactoring, j'entends que c'est bon mais je n'ai pas beaucoup essayé moi-même.

2
Joseph Lord