microsoft / microsoft/vscode-cpptools

Intellisense degraded when using devcontainer remote

Aperta
#12,598 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

@sean-mcmanus ci sta già lavorando.

Dal 20/8/2024.

bug Language Service reliability
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Environment
  • OS and Version: macOS (Sonoma 14.6.1), Windows (10.0.19045)
  • VS Code Version: 1.92.2
  • C/C++ Extension Version: v1.21.6 (also tested 1.20.5, 1.16.3)
  • If using SSH remote, specify OS of remote machine: n/a
  • Devcontainer remote: Ubuntu/jammy, Ubuntu/noble, Debian/bookworm
Bug Summary and Steps to Reproduce

Bug Summary:

Intellisense is not erroring / reverting to tag parsing on devcontainer remotes. May be related to #12557, #12455. Let me know if you'd rather I add this context to a specific open issue.

Example minimum viable error at https://github.com/ianmclinden/vscode-cpptools-errcase

Steps to reproduce:

  • Open the example repo.
  • Under the host workspace, Intellisense works and the src/main.cpp:L9:WillReadMe shows errors squiggles. Autocomplete works fine.
  • Under the devcontainer workspace the error squiggles do not show up, unless intelliSenseCacheSize is set to 0. Autocomplete is degraded to tags.
  • Setting "C_Cpp.intelliSenseCacheSize": 0 masks the issue

Expected behavior:
Devcontainer remotes should have working intellisense

Configuration and Logs
c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "gnu++20",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}
C/C++: Log Diagnostics
-------- Diagnostics - 8/20/2024, 7:20:22 PM
Version: 1.21.6
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/workspaces/itest/**"
    ],
    "defines": [],
    "compilerPath": "/usr/bin/gcc",
    "cStandard": "c17",
    "cppStandard": "gnu++20",
    "intelliSenseMode": "linux-gcc-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "compilerPathInCppPropertiesJson": "/usr/bin/gcc",
    "mergeConfigurations": false,
    "browse": {
        "path": [
            "/workspaces/itest/**",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
cpptools version (native): 1.21.6.0
No active translation units.

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 2447
Number of files parsed: 1
Language Server Logs

c_cpp_lsp_log.txt

Other Extensions

n/a

Additional context

Host:
Screenshot 2024-08-20 at 14 23 23
Note: autocomplete of the test namespaces also works, but is not shown.

Devcontainer:
Screenshot 2024-08-20 at 14 22 44

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.