Skip to content

What's the best way to work with source control in VSCode to ensure the C/C++ integration stays up to date #5052

@mgaudet

Description

@mgaudet

Type: LanguageService

When using VSCode, I tend to use the terminal to jump around between revisions a lot because I am more productive when I do this.

However, this appears to challenge the C/C++ integration plugin, as when I change revisions it has an incomplete view of the types that may have changed from one revision to the next. For example, if I have a file open, and update to a new revision that adds a type in a file that's not open, I'll get Red-squiggles until I open the file that adds the new type, at which point the extension seems to realize its perspective on the types was no longer valid.

I'm wondering if there's something I could add as an on-update hook to help keep VSCode + plugins aware that the revision of the working directory has changed, and that there may be processing still to do.

I do find the state of the world is -way- better than it used to be, where changing working directory state would often mean that I'd totally lose all completion and error support. Now it seems to keep working, just with stale data (which often is totally fine, as changing revs rarely changes every datastructure in the project)

Describe the bug

  • OS and Version: Linux Ubuntu 19
  • VS Code Version: 1.42.1
  • C/C++ Extension Version: 0.27.0-insiders

To Reproduce

A rough summary is something like this:

  1. Have a fairly large workspace open (I work on mozilla-central, the firefox codebase)
  2. Open a file that when you update will have a reference to a type that's defined in a file that's not open.
  3. in the terminal, do hg up <some nearby revision> that adds that type definition
  4. Notice that you get red-squiggles under the new type in your current file,
  5. Open the file that defines that type: notice the red-squiggles in the original file go away.

Expected behavior

hg up is able to inform VSCode that there are some files that changed.

Additional context

I intermittently get the warning about too many files to watch on this workspace, though this seems to happen on sessions where I haven't gotten said warning.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions