microsoft / microsoft/vscode-cpptools
Unification Tasks
Open
@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).
- Initial population ⏳
- Use VC work items and external vcpkgsrv process to populate the browse database, build include graph, etc. ⏳
-
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: https://github.com/microsoft/vscode-cpptools/issues/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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.