microsoft / microsoft/vscode-cpptools

Renaming (F2) parameter in function declaration in header file doesn't rename it in defintion

Ouverte
#9,746 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug Feature: Rename Language Service Visual Studio
Langage dominant
TypeScript
Étoiles
6.2k
Forks
1.7k
Merge moyen
14 h 46 min
PR mergées (30 j)
61

Description

Environment
  • OS and Version: Windows 10
  • VS Code Version: 1.70.2
  • C/C++ Extension Version: 1.11.5
Bug Summary and Steps to Reproduce

When renaming (F2) a parameter in a function declaration in a header file, the parameter in the function definition in the source file that includes the header file is not renamed and it is also not listed in the refactor preview. The same applies vice versa.

However, if the function declaration is placed in the source file, the parameter in the function definition is listed in the refactor preview if the parameter in the declaration is renamed and vice versa.

Expected behavior

The parameter in the function definition should be listed in the refactor preview for selection if the parameter in the declaration is renamed and vice versa, regardless of whether the declaration is placed in the source or in a included header file.

Code sample and Logs
// test.c

#include "test.h"

void foo(int arg)
{
  return;
}


// test.h

void foo(int arg);
Screenshots

Refactor preview when renaming a parameter in the declaration when it is placed in the source file:

image

Refactor preview when renaming a parameter in the definition when it is placed in the source file:

image

After renaming a parameter in the declaration when it is placed in the included header file (no refactor preview):

image

After renaming a parameter in the definition when it is placed in the included header file (no refactor preview):

image

Additional context

No response

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le renommage avec l’exemple test.c et test.h de l’issue en utilisant F2 dans VS Code, puis suivez le traitement de l’aperçu de la refactorisation pour les déclarations et les définitions à travers un header inclus. C’est terminé lorsque le renommage de l’une ou l’autre des listes de paramètres affiche le paramètre correspondant dans l’autre fichier afin de pouvoir le sélectionner dans l’aperçu.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, typescript
Domaine
tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.