microsoft / microsoft/vscode-cpptools

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

Offen
#9,746 5 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug Feature: Rename Language Service Visual Studio
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere die Umbenennung mit dem test.c- und test.h-Beispiel des Issues unter Verwendung von F2 in VS Code und verfolge anschließend die Verarbeitung der Refactor-Vorschau für Deklarationen und Definitionen über eine eingebundene Header-Datei hinweg. Erledigt ist es, wenn das Umbenennen einer der Parameterlisten den passenden Parameter in der anderen Datei zur Auswahl in der Vorschau aufführt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, typescript
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.