WholeTomato

Remanier code facilement

Réduisez la complexité de votre code, améliorez sa lisibilité et rendez-le extensible sans modifier son comportement externe. Remaniez le code dont vous héritez, ou la première version de votre propre travail.

Accès aux commandes de Remaniement

Les commandes de remaniement sont disponibles dans des menus accessibles par le clavier et la souris, et le contenu des menus varie en fonction du contexte. Le remaniement est disponible dans les fenêtres d'outils de Visual Assist, et dans l'éditeur de texte sur les symboles, les sélections et les espaces.

Ouvrez un menu contextuel, d'action rapide et de correction pour le symbole courant avec le raccourci par défaut Shift+Alt+Q.

context aware refactoring menu

Obtenez une liste complète des commandes de remaniement dans le menu contextuel de l'éditeur de texte.

Obtain a complete list of refactoring commands in the context menu

Survolez un symbole et Visual Assist affiche une icône lorsque le remaniement est disponible. Cliquez sur l'icône pour ouvrir un menu contextuel.

Hover over a symbol and Visual Assist displays an icon when refactoring is available


Modifier la signature

Modifier la signature d'une méthode par rapport à toute référence, mise en œuvre ou déclaration.

Mettez à jour la signature d'une méthode ou d'une fonction dans un simple dialogue, et Visual Assist déduit les différences entre la signature originale et la nouvelle signature. Réorganisez, renommez, ajoutez et supprimez des paramètres grâce à ce puissant correcteur qui met également à jour toutes les références à votre méthode. Lorsque vous renommez un paramètre, les références à ce paramètre dans la méthode sont également renommées.

Modifiez l'une ou l'ensemble des parties suivantes d'une signature:

  • Nom de la méthode
  • Type de retour
  • Visibilité
  • Noms des paramètres
  • Types de paramètres
  • Ordre des paramètres
  • Nombre de paramètres
  • Qualificateurs

Comme pour le remaniement du nom, définissez la portée du changement et prévisualisez l'ensemble des références qui seront remaniées.

x


Conversion entre le pointeur et l'instance

Changez les pointeurs d'objets en références d'objets, et vice versa.

Convertissez rapidement le type dans une déclaration, intervertissez "." et "->" dans les références, et ajustez "*" et "&" selon le cas.

Change object reference to object pointer


Champ d'encapsulation

Créer des accesseurs à un champ membre en encapsulant le champ.

Restreindre les actions sur un champ membre avec le correcteur du champ encapsulé. Les accesseurs sont créés et nommés automatiquement, et votre champ d'origine reste intact au cas où vous auriez besoin d'un ancien code pour compiler les références mises à jour. Si vous encapsulez un nouveau champ, rendez immédiatement le champ privé pour en restreindre l'accès futur.

Create accessors to a member field by encapsulating the field

En C/C++, les méthodes d'accès sont créées à côté d'une déclaration dans un fichier d'en-tête, et peuvent rester dans le fichier d'en-tête pour une exécution en ligne.

In C/C++, accessor methods are created adjacent to a declaration in a header file

Si vous préférez les implémentations dans un fichier source, suivez « Encapsulate Field » avec un autre correcteur pour déplacer les implémentations vers un fichier source correspondant.

Move the implementations to a corresponding source file


Méthode d'extraction

Déplacez un segment de code dans une méthode séparée, et remplacez le segment par un appel à la méthode extraite.

Rendre les méthodes longues plus faciles à lire et partager des blocs de code communs grâce au correcteur de méthode d'extraction. Extrayez plusieurs lignes, ou un segment d'une ligne. La valeur de retour et les paramètres de la méthode extraite sont déterminés pour vous.

Move a segment of code into a separate method, and replace the segment with a call to the extracted method

En C/C++, le correcteur permet de créer une méthode en ligne dans un fichier d'en-tête, ou d'extraire l'implémentation directement à la source.

In C/C++, the refactoring creates an inline method in a header file


Introduire une variable

Remplacez une expression par une variable qui explique l'objectif du code remplacé.

La variable introductive définit une variable temporaire dans le cadre le plus interne de la sélection, initialise la variable temporaire avec le code remplacé, et remplace une ou plusieurs occurrences de l'expression par la variable temporaire.

Replace an expression with a variable that explains the purpose of the replaced code.


En C/C++, il est facile de déplacer l'implémentation d'une méthode de la source vers un fichier d'en-tête ou une déclaration de classe.

Ce correcteur place les implémentations dans des fichiers d'en-tête pour une exécution en ligne. Le correcteur déplace également une implémentation de méthode dans une déclaration de classe, à proximité d'autres méthodes de la même classe. Définissez le format des implémentations avec un VA Snippet.

Move Implementation to Header File


Déplacer l'implémentation vers le fichier source

En C/C++, déplacer l'implémentation d'une méthode du fichier d'en-tête au fichier source.

Ce correcteur est souvent initié après d'autres correcteur qui placent les implémentations dans des fichiers d'en-tête pour une exécution en ligne, par exemple le champ d'encapsulation. Le correcteur crée une déclaration dans l'en-tête, et rapproche l'implémentation de celles des autres méthodes de la même classe.

Move Implementation to Source File


Déplacer les implémentations de méthodes vers le fichier source

En C/C++, déplacez toutes les implémentations du fichier d'en-tête au fichier source en une seule opération.

En complément de la commande de correction qui déplace une seule implémentation, cette version plurielle déplace toutes les méthodes d'un fichier d'en-tête vers une classe. Invoquez la commande à partir du nom d'une classe, et non à partir d'un de ses membres. Un dialogue apparaît dans lequel vous pouvez sélectionner les implémentations à déplacer.

Move Method Implementations to Source File


Déplacer la sélection vers un nouveau dossier

Déplacez le code vers un nouveau fichier d'en-tête ou un nouveau fichier source, et faites en sorte que le nouveau fichier soit automatiquement ajouté au projet actif.

Le correcteur crée le nouveau fichier dans le même répertoire que le document actif. Définissez le format du nouveau fichier avec un VA Snippet. En C/C++, Visual Assist peut remplacer la sélection dans le document actif par un #include si la sélection est déplacée vers un fichier d'en-tête.

Move code to a new header file or source file


Renommer

Renommez les symboles rapidement et avec précision, dans votre projet actif et tout au long de votre solution.

Ce correcteur très souvent utilisé permet de renommer la définition et la déclaration d'un symbole, toutes les références à celui-ci et, éventuellement, les occurrences dans les commentaires et les chaînes de caractères. Un aperçu de toutes les cibles à renommer est toujours affiché afin que vous soyez certain que le renommage répond à vos attentes. Désélectionnez toutes les références que vous souhaitez ne pas modifier et annulez toute l'opération si vous faites une erreur.

Renommer est disponible pour:

  • Classes
  • Énumération
  • Domaines
  • Macros
  • Méthodes
  • Paramètres de la méthode
  • Variables

Sélectionnez Renommer dans l'un des menus de correction, spécifiez un nouveau nom et définissez vos options. L'aperçu des modifications différencie les occurrences en lecture seule et en écriture.

Select Rename from any of the refactoring menus


Renommer les fichiers

Renommez votre document actif sans en casser la structure.

Renommez le document actif et ses fichiers correspondants facilement, sans interrompre votre flux ni interrompre la construction. Visual Assist met automatiquement à jour les fichiers, les projets et les solutions, puis propage le renommage par le biais de systèmes de contrôle des sources qui s'intègrent à Microsoft Visual Studio.

En C/C++, les fichiers d'en-tête et les fichiers sources sont renommés par paires, et le renommage d'un fichier d'en-tête met automatiquement à jour toutes les directives qui #incluent le fichier d'en-tête. En C#, les fichiers de conception et les fichiers de code caché sont renommés simultanément.

Rename your active document without breaking the build


Simplifier la déclaration de l'Instance

Rendre les déclarations d'objets plus faciles à comprendre.

Éliminer la mise en place étrangère d'un objet à une nouvelle instance de son type.

Simplify an instance declaration

Après avoir invoqué le refactoring, l'objet est créé et initialisé dans une déclaration plus simple, mais équivalente.

Simplified instance declaration