github / github/copilot-language-server-release

Guidance on pattern to improve context for completions in an IDE

Open
#24 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
290
Forks
24
PR merge metrics
No merged PRs in 30d

Description

## Background

Our IDE has an opt-in feature where it will tell copilot about all files in the current project by doing `textDocument/didOpen` on them. This could potentially be dozens, possibly even hundreds of files, given the nature of the projects in real-world use.

This was originally implemented using the vim copilot plugin, now switched to using `copilot-language-server`.

## Question

Is this a "Good Idea"? Will it actually improve completion suggestions by providing more context, or will it quickly hit some internal limit?

When I switched this to `copilot-language-server` I also implemented setting `workspaceFolders` to true, and pass the root folder of the project as the workspace folder; is that accomplishing anything in terms of improving awareness of other files in the project (i.e. does this make the "pretend to open all files" approach redundant)?

Thanks!

Contributor guide

Open the contributing guide

Research direction

Review the vim copilot plugin behavior, the switch to copilot-language-server, and the workspaceFolders and textDocument/didOpen handling described in the issue. Determine whether opening every project file improves completion context or reaches limits, then document the recommended pattern and whether workspaceFolders makes that approach redundant.

Written by the indexing model from the issue text.

Assessment

Domain
ai, developer-experience, tooling
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.