KEMBAR78
Completition for include adds an extra closing quote · Issue #13615 · microsoft/vscode-cpptools · GitHub
Skip to content

Completition for include adds an extra closing quote #13615

@csorvagep

Description

@csorvagep

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:

  1. Open VS Code in a new directory
  2. Create a project with CMake: Quick Start command
  3. Add a header, i.e. SomeHeader.h
  4. Open main.cpp and type #include "Some then 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 symbolsLanguage ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.quick fixverifiedBug has been reproduced

Type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions