microsoft / microsoft/vscode-cpptools

Add UI to provide args for templates, to enable template IntelliSense

Offen
#1,946 40 Kommentare 95 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Feature Request Feature: Find All References Language Service Works in VS
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

* Operating System and version

MacOS 10.13.4

* VS Code version and if you are using the Insiders build

VSCode 1.24.0-Insiders #2404210629c744e6237a14d7b5fa852e24c6e898

* C/C++ extension version

0.16.1

* step-by-step instructions to reproduce the issue

Create at least one class declaration in a header file.
Use a template on this class
Intentionally create a syntax error
Note that no error squiggles are generated and no error or warning given in the Problems pane.
In the example below, I am showing quite a few compiler errors (there are plenty in this file). One in particular is the errant use of override. This shows up in the compiler output, but not in the error squiggles or in the Problems pane:
screen shot 2018-05-06 at 10 56 09 pm

* A small code sample, zipped up project, or open source repo we can use to verify the bug

Errant header file attached
LinkedList.h.zip

* Any log messages present in the Output window (use "C_Cpp.loggingLevel": "Information" in settings.json)

The logs indicate that it thinks it is looking for syntax errors:
IntelliSense Engine = Default.
The extension will use the Tag Parser for IntelliSense when #includes don't resolve.
Autocomplete is enabled.
Error squiggles are enabled.
File exclude: **/.git
File exclude: **/.svn
File exclude: **/.hg
File exclude: **/CVS
File exclude: **/.DS_Store
File exclude: **/.o
File exclude: **/
.d
File exclude: **/.vscode
Search exclude: **/node_modules
Search exclude: **/bower_components
Search exclude: **/.vscode
Code browsing service initialized
Folder: /usr/local/include/ will be indexed
Folder: /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/ will be indexed
Folder: /Users/dustinlane/Desktop/VSCode_Test/ will be indexed
Folder: /System/Library/Frameworks/ will be indexed
Folder: /Library/Frameworks/ will be indexed
Discovering files...
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.h
Processing folder (recursive): /usr/local/include/
Processing folder (recursive): /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/
Processing folder (recursive): /Users/dustinlane/Desktop/VSCode_Test/
Processing folder (recursive): /System/Library/Frameworks/
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.h
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.h
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.cpp
Shutting down IntelliSense server: /Users/dustinlane/Desktop/VSCode_Test/C++_Test/main.cpp
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.h
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.h
Processing folder (recursive): /Library/Frameworks/
Discovering files: 301712 file(s) processed
0 file(s) removed from database
Done discovering files.
Parsing open files...
Parsing remaining files...
Parsing: 0 files(s) processed
Done parsing remaining files.
Done parsing open files.
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/main.cpp
Checking for syntax errors: file:///Users/dustinlane/Desktop/VSCode_Test/C%2B%2B_Test/LinkedList.h

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

Beginnen Sie mit der angehängten LinkedList.h.zip und den Reproduktionsschritten und untersuchen Sie anschließend die IntelliSense- und UI-Einstiegspunkte der Erweiterung für die Konfiguration von Template-Argumenten. Als abgeschlossen gilt die Aufgabe, wenn Benutzer Template-Argumente über die UI bereitstellen können und die Template-IntelliSense damit umgehen kann; überprüfen Sie außerdem das gemeldete Diagnoseszenario.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, vscode
Bereich
developer-experience, devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

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