microsoft / microsoft/vscode-cpptools

Don't trigger an IntelliSense update on fileChanged/Created/Deleted if it's not a C/C++ file

Open
#11,744 1 comment 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Language Service performance
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

          > @bobbrow fileChanged/Created/Deleted triggers an IntelliSense update unless the file or the file's folder is filtered from a files.exclude setting. So sure you can put the cmake build folder in your workspace folder, but you should also add it to the C_Cpp.files.exclude to avoid unnecessary IntelliSense updating.

Can we change that behavior? If it's obviously not a C or C++ file, I don't see why we would want to trigger an IntelliSense update. We have filters for non-C/C++ files (based on file extension) in the TypeScript code so it doesn't seem wrong to do the same thing in the language server.

Originally posted by @bobbrow in https://github.com/microsoft/vscode-cpptools/issues/10651#issuecomment-1832891918

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing fileChanged, fileCreated, and fileDeleted handling in the language server, then compare it with the TypeScript code's file-extension filters for non-C/C++ files. Done means obviously unrelated files no longer trigger IntelliSense updates while C/C++ files continue to do so; check the repository's existing tests for coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cpp, typescript
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.