Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not check targets and includes after configuration. (Since plugin version v1.13.40) #2980

Closed
traversebitree opened this issue Jan 27, 2023 · 1 comment · Fixed by #2985
Closed
Assignees
Labels
bug a bug in the product Feature: cpptools integration regression used to work and no longer does. Regressions are typically high priority
Milestone

Comments

@traversebitree
Copy link

Brief Issue Summary

Since update to v1.13.40, "vscode-cpptools" not check whether target links and includes path exists.
For example
Step 1 (Prepare):
image
image

Step 2 (Bug appear):
image
image

Step 3 (After build, it becomes normal):
image
image

CMake Tools Diagnostics

{
  "os": "win32",
  "vscodeVersion": "1.74.3",
  "cmtVersion": "1.13.43",
  "configurations": [
    {
      "folder": "d:\\Workspace\\CPP\\CPPT001",
      "cmakeVersion": "3.25.2",
      "configured": true,
      "generator": "Ninja",
      "usesPresets": true,
      "compilers": {
        "C": "gcc",
        "CXX": "g++"
      }
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Release",
    "buildTypesSeen": [
      "Release"
    ],
    "requests": [
      "file:///d%3A/Workspace/CPP/CPPT001/main.cpp"
    ],
    "responses": [
      {
        "uri": "file:///d%3A/Workspace/CPP/CPPT001/main.cpp",
        "configuration": {
          "includePath": [
            "d:/workspace/cpp/cppt001/extern/fmt_x64-mingw-static/include"
          ],
          "defines": [],
          "compilerPath": "c:/dev/tdm-gcc-64/bin/g++.exe",
          "compilerArgs": [],
          "compilerFragments": [
            "-O3 -DNDEBUG",
            "-std=gnu++2a"
          ]
        }
      }
    ],
    "partialMatches": [],
    "targetCount": 1,
    "executablesCount": 1,
    "librariesCount": 0,
    "targets": [
      {
        "name": "main",
        "type": "EXECUTABLE"
      }
    ]
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": true
    }
  ]
}

Debug Log

No response

Additional Information

Version v1.12.x and before, no this bug. The header check is done after configuration, not after build.

@elahehrashedi elahehrashedi added the bug a bug in the product label Jan 27, 2023
@elahehrashedi
Copy link
Contributor

Thank you for reporting this issue. I can repro this in 1.13.xx versions.
If the file is already open, after re-configure, the config provider is not updating the include paths.
If we reload the window, or build, or open a file that hasn't been already opened, the config provider will send the updated information.

@elahehrashedi elahehrashedi added the regression used to work and no longer does. Regressions are typically high priority label Jan 27, 2023
@bobbrow bobbrow added this to the 1.13 patches milestone Jan 27, 2023
@elahehrashedi elahehrashedi linked a pull request Jan 30, 2023 that will close this issue
@github-actions github-actions bot locked and limited conversation to collaborators Mar 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug a bug in the product Feature: cpptools integration regression used to work and no longer does. Regressions are typically high priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants