-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Feature: Add '#include'Add '#include' code action on undefined symbolsAdd '#include' code action on undefined symbolsLanguage ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.Check the Milestone for the release in which the fix is or will be available.quick fixverifiedBug has been reproducedBug has been reproduced
Milestone
Description
Environment
- OS and Version: Windows 11 23H2 build 22631.5189
- VS Code Version: 1.100.2
- C/C++ Extension Version: 1.25.3
Bug Summary and Steps to Reproduce
Bug Summary:
Starting to type #include " will add a closing quote at the and, and IntelliSense will provide files to include. After selecting one from the list with tab, it will complete the include with the closing quote, leaving an extra quote at the end: #include "SomeHeader.h""
Steps to reproduce:
- Open VS Code in a new directory
- Create a project with CMake: Quick Start command
- Add a header, i.e. SomeHeader.h
- Open main.cpp and type
#include "Somethen press tab
#include <iostream>
#include "SomeHeader.hpp""
int main(int, char **)
{
std::cout << "Hello, from test_project!\n";
}Expected behavior:
No extra quote at the end of include
Configuration and Logs
Config:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22000.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
Logs:
loggingLevel has changed to: Debug
LSP: (invoked) cpptools/didChangeCppProperties (id: 427)
Attempting to get defaults from C++ compiler in "compilerPath" property: 'cl.exe'
Attempting to get defaults from C compiler in "compilerPath" property: 'cl.exe'
Folder: C:\CODE\TEST will be indexed
Folder: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\CPPWINRT will be indexed
Folder: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\SHARED will be indexed
Folder: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\UCRT will be indexed
Folder: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\UM will be indexed
Folder: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\WINRT will be indexed
Folder: C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\ENTERPRISE\VC\TOOLS\MSVC\14.39.33519\ATLMFC\INCLUDE will be indexed
Folder: C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\ENTERPRISE\VC\TOOLS\MSVC\14.39.33519\INCLUDE will be indexed
LSP: Sending response (id: 427)
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Intellisense update pending for: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeActiveEditor: file:///c%3A/code/test/main.cpp
LSP: (invoked) cpptools/didChangeActiveEditor: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 428)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 428)
LSP: Sending response (id: 428)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/documentHighlight: file:///c%3A/code/test/main.cpp (id: 429)
LSP: (invoked) textDocument/documentHighlight: file:///c%3A/code/test/main.cpp (id: 429)
sending compilation args for C:\code\test\main.cpp
system include: C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\ENTERPRISE\VC\TOOLS\MSVC\14.39.33519\INCLUDE
system include: C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\ENTERPRISE\VC\TOOLS\MSVC\14.39.33519\ATLMFC\INCLUDE
system include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\UM
system include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\UCRT
system include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\SHARED
system include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\WINRT
system include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.22000.0\CPPWINRT
define: _DEBUG
define: _MT
define: _DLL
define: WIN32
define: _WINDOWS
other: --rtti
stdver: ms_c++17
intelliSenseMode: windows-msvc-x64
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 430)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 430)
LSP: Sending response (id: 430)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 431)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 431)
LSP: Sending response (id: 429)
LSP: Sending response (id: 431)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 432)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 432)
LSP: Sending response (id: 432)
IntelliSense update scheduled and TU acquisition started for: file:///c%3A/code/test/main.cpp
Update IntelliSense time (sec): 0.025
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 433)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 433)
LSP: Sending response (id: 433)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 434)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 434)
LSP: Sending response (id: 434)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 435)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 435)
LSP: Sending response (id: 435)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 436)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 436)
LSP: Sending response (id: 436)
LSP: (received) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 437)
LSP: (invoked) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 437)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 438)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 438)
LSP: Sending response (id: 438)
tag parsing file: C:\code\test\main.cpp
LSP: Sending response (id: 437)
Intellisense update pending for: file:///c%3A/code/test/main.cpp
IntelliSense update scheduled and TU acquisition started for: file:///c%3A/code/test/main.cpp
Update IntelliSense time (sec): 0.011
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 439)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 439)
LSP: Sending response (id: 439)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 440)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 440)
LSP: Sending response (id: 440)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 441)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 441)
LSP: Sending response (id: 441)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/completion: file:///c%3A/code/test/main.cpp (id: 442)
LSP: (invoked) textDocument/completion: file:///c%3A/code/test/main.cpp (id: 442)
auto_complete::handle_completion: file:///c%3A/code/test/main.cpp (2:3)
Offering completion
LSP: Sending response (id: 442)
LSP: (received) completionItem/resolve (id: 443)
LSP: (invoked) completionItem/resolve (id: 443)
LSP: Sending response (id: 443)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) completionItem/resolve (id: 444)
LSP: (invoked) completionItem/resolve (id: 444)
LSP: Sending response (id: 444)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 445)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 445)
LSP: Sending response (id: 445)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/completion: file:///c%3A/code/test/main.cpp (id: 446)
LSP: (invoked) textDocument/completion: file:///c%3A/code/test/main.cpp (id: 446)
auto_complete::handle_completion: file:///c%3A/code/test/main.cpp (2:11)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 447)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 447)
LSP: Sending response (id: 447)
LSP: Sending response (id: 446)
LSP: (received) completionItem/resolve (id: 448)
LSP: (invoked) completionItem/resolve (id: 448)
LSP: Sending response (id: 448)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 449)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 449)
LSP: Sending response (id: 449)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 450)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 450)
LSP: Sending response (id: 450)
LSP: (received) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 451)
LSP: (invoked) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 451)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 452)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 452)
LSP: Sending response (id: 452)
tag parsing file: C:\code\test\main.cpp
tag parsing error (this can be ignored unless symbols can't be found):
line 2 (col. 1): error: expected a file name
LSP: Sending response (id: 451)
Intellisense update pending for: file:///c%3A/code/test/main.cpp
IntelliSense update scheduled and TU acquisition started for: file:///c%3A/code/test/main.cpp
Update IntelliSense time (sec): 0.02
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 453)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 453)
LSP: Sending response (id: 453)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 454)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 454)
LSP: Sending response (id: 454)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 455)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 455)
LSP: Sending response (id: 455)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/completion: file:///c%3A/code/test/main.cpp (id: 456)
LSP: (invoked) textDocument/completion: file:///c%3A/code/test/main.cpp (id: 456)
auto_complete::handle_completion: file:///c%3A/code/test/main.cpp (2:12)
LSP: Sending response (id: 456)
LSP: (received) completionItem/resolve (id: 457)
LSP: (invoked) completionItem/resolve (id: 457)
LSP: Sending response (id: 457)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) completionItem/resolve (id: 458)
LSP: (invoked) completionItem/resolve (id: 458)
LSP: Sending response (id: 458)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) completionItem/resolve (id: 459)
LSP: (invoked) completionItem/resolve (id: 459)
LSP: Sending response (id: 459)
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 460)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 460)
LSP: Sending response (id: 460)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 461)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 461)
LSP: Sending response (id: 461)
LSP: (received) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 462)
LSP: (invoked) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 462)
tag parsing file: C:\code\test\main.cpp
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 463)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 463)
LSP: Sending response (id: 463)
LSP: Sending response (id: 462)
LSP: (received) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (invoked) textDocument/didChange: file:///c%3A/code/test/main.cpp
LSP: (received) cpptools/didChangeTextEditorSelection
LSP: (invoked) cpptools/didChangeTextEditorSelection
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 464)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 464)
LSP: Sending response (id: 464)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 465)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 465)
LSP: Sending response (id: 465)
LSP: (received) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 466)
LSP: (invoked) cpptools/getDocumentSymbols: file:///c%3A/code/test/main.cpp (id: 466)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 467)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 467)
tag parsing file: C:\code\test\main.cpp
LSP: Sending response (id: 467)
LSP: Sending response (id: 466)
Intellisense update pending for: file:///c%3A/code/test/main.cpp
IntelliSense update scheduled and TU acquisition started for: file:///c%3A/code/test/main.cpp
Update IntelliSense time (sec): 0.017
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 468)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 468)
LSP: Sending response (id: 468)
LSP: (received) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 469)
LSP: (invoked) cpptools/getCodeActions: file:///c%3A/code/test/main.cpp (id: 469)
LSP: Sending response (id: 469)
LSP: (received) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 470)
LSP: (invoked) cpptools/getFoldingRanges: file:///c%3A/code/test/main.cpp (id: 470)
LSP: Sending response (id: 470)Other Extensions
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
Feature: Add '#include'Add '#include' code action on undefined symbolsAdd '#include' code action on undefined symbolsLanguage ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.Check the Milestone for the release in which the fix is or will be available.quick fixverifiedBug has been reproducedBug has been reproduced
Type
Projects
Status
Done