microsoft / microsoft/vscode-cpptools

Unification Tasks

Open
#10,927 0 comments 0 reactions 1 assignee View on GitHub

@Colengms is already working on this.

Since May 8, 2023.

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

Description

This internal issue tracks tasks related to the Unification effort - porting/abstracting code in VC such that it can be leveraged directly by both VC and cpptools. This is for project progress tracking purposes. It is incomplete, and subject to change.

  • Browse Unification ⏳

    • Use VC work items and external vcpkgsrv process to populate the browse database, build include graph, etc. ⏳
      • Initial population ⏳
        • Fast, async Enumeration of browse paths contents ⏳
      • Database rename/reset ⏳
      • Individual file add/change/remove parsing (project rescan?)
      • New progress notifications for population progress UI
      • New abort handling
      • Remove/Clean-up existing cpptools code related to populating the browse database ⏳
      • Move global cpp.hint file to where common code expects to find it (bin dir), or change where it looks for it.
      • (VC codebase) Add support for default encoding setting (files.encoding) to DirectBuffer
      • (VC codebase) Add support for default encoding setting to DB initialization (reset DB when default/fallback encoding changes).
  • Configuration Management

  • TU Creation using EdgeSystem

  • Switch to VC work items for IntelliSense features

    • Error squiggles, colorization, inactive regions - progressive
    • Quick Info / Hover
    • Navigations (Goto def, goto decl)
    • Complete
    • Signature Help
    • FAR
    • Rename
  • Misc

    • (VC and cpptools codebases) Remove path_utf8 class in favor of path_view, etc.
    • Need a new approach for vcpkg telemetry, as this is currently implemented in cpptools include graph generation, which will be replaced by Unification.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.