Intellisense suggestions does not work inside a template lambda and a macro.

Offen
#11,751 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
cpp, typescript, vscode
Bereich
devtools

Rechercherichtung

Reproduziere das Problem in der gemeldeten Datei file.cpp mit VS Code und der C/C++-Erweiterung und vergleiche anschließend die Ctrl+Space-Vorschläge innerhalb des direkten Template-Lambda-Ausdrucks und innerhalb von MACRO(test.). Verfolge die IntelliSense-Verarbeitung für den kombinierten Template-Lambda- und Makrokontext; abgeschlossen ist die Aufgabe, wenn func im Makrofall wie in den anderen Beispielen vorgeschlagen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug Language Service Visual Studio
Environment
  • OS and Version: Windows 10
  • VS Code Version: 1.84.2
  • C/C++ Extension Version: v1.18.5
Bug Summary and Steps to Reproduce

Bug Summary:
Intellisense suggestions does not work when inside a template lambda and a macro at the same time.

#define MACRO(x) x
struct Test{
    void func() {  }
};

void main(){
    Test test;
    auto lambda = [&](auto a){
        test. // OK
        MACRO(test.) // NOT WORK
    };
    auto lambda2 = [&](int a){
        MACRO(test.) // OK
    };
}

Steps to reproduce:

  1. Create an empty folder, create a file.cpp with the contents of the example. Open the folder.
  2. Move cursor after test., press Ctrl+Space.
  3. See error: no suggestion of func
Configuration and Logs
Configuration: without `c_cpp_properties.json` (all properties are default)
Other Extensions

No response

Additional context

No response

Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/vscode-cpptools

Alle Issues in microsoft/vscode-cpptools

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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