Skip to content

Unification Tasks #10927

Open
Open
@Colengms

Description

@Colengms

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

    • (VC codebase) Hooks to enable file configurations for browse and TU creation (instead of canonicalized CL command-lines).
    • Integratation with new configuration system: Extensible compiler querying #6931
  • 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.

Metadata

Metadata

Assignees

Labels

Language ServiceinternalUsed to opt-out an issue from having GitHub actions applied to it

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions