microsoft / microsoft/vscode-cpptools
Using dot '.' as member access operator fails to trigger auto completion/intellisense when used inside macro.
Dieses Issue hat noch niemand übernommen.
- 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.108.2
- C/C++ Extension Version: 1.32.2
- If using SSH remote, specify OS of remote machine: none
Bug Summary and Steps to Reproduce
Bug Summary:
There is a feature that allows to type '.' as access member operator on any type to show completion window with all members and then it resolves to '.' or '->' automatically.
This feature fails when used inside macro call.
Steps to reproduce:
- Paste code (file.hpp):
#define myMacro(value)
struct MyStruct
{
int value;
};
struct Container
{
int value2;
MyStruct *myStruct;
};
void func(Container *container)
{
myMacro(container. // <- problem here
}
- Go to 'func' function and type in 'myMacro(container'
- Now when we type access member operator '.' normally popup with suggestions should appear - but it doesn't.
- Instead of '.' type '->' - suggestions appear.
Expected behavior:
After typing '.' in macro call we should see suggestions with struct members just like after typing '->'.
'Trigger Suggest' command (CTRL+SPACE) doesn't work on '.' but works after '->' when used in macro call.
Configuration and Logs
ask for more details
Other Extensions
No response
Additional context
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduzieren Sie das Problem in file.hpp mit VS Code 1.108.2 und der C/C++-Erweiterung 1.32.2, beginnend mit dem Makroaufruf in func und durch den Vergleich von '.' mit '->'. Verfolgen Sie das Vervollständigungsverhalten beim Memberzugriff innerhalb von Makroargumenten; abgeschlossen ist die Aufgabe, wenn '.' dieselben Membervorschläge wie '->' öffnet, auch wenn Trigger Suggest aufgerufen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp, typescript, vscode
- Bereich
- developer-experience, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 68/100