Native GitHub Copilot inline completions
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
調査の方向性
まず CodeFileDocument と CodeFileView を読み、次に CopilotClient、CopilotService、CopilotProtocol、CopilotInlineCompletionProvider、CopilotBinaryResolver のエントリポイントを追跡します。CodeEditTextView と CodeEditSourceEditor の依存関係のバージョンを確認し、ドキュメント化されたローカルブランチでアプリを実行します。パッケージのピン留めが統合をサポートし、CI でビルドが成功し、Settings のサインインフローと Tab で受け入れたゴーストテキストがエンドツーエンドで動作すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Description
Add native GitHub Copilot inline completions to CodeEdit: as you type, the editor shows AI ghost text suggestions and accepts them with Tab. This is the app-level integration that ties together the inline suggestion rendering (CodeEditTextView) and the inline completion coordination layer (CodeEditSourceEditor).
What it adds:
- A Copilot language-server client and service (
CopilotClient,CopilotService,CopilotProtocol) that launches and talks to the officialcopilot-language-serverover LSP, including device-flow sign-in, status, and document sync. - A per-document
CopilotInlineCompletionProviderthat conforms to the editor'sInlineCompletionDelegate, maps the caret to an LSP position, requests completions, strips already-typed prefixes, and adapts results into the editor's ghost-text model. - A
CopilotBinaryResolverthat locatescopilot-language-server(explicit path,PATH, or common install dirs) and builds a launch environment that can findnode(including nvm-managed installs), since the server is a Node script. - A Settings page (enable toggle, device-flow sign-in UI, optional language-server path) and a status bar item reflecting Copilot state.
- Wiring in
CodeFileDocument/CodeFileViewto attach the provider per open document.
Design notes:
- Suggestions render as ghost text via the
CodeEditTextViewoverlay primitive and never mutate the document until accepted. - Disabled by default; opt-in via Settings. Requires a GitHub Copilot subscription.
Alternatives Considered
- A plugin/extension instead of a built-in. CodeEdit does not yet have an extension API surface for inline completions, and the integration needs the editor's cursor/lifecycle hooks, so a built-in (opt-in, behind settings) is the practical option today.
- Driving the suggestion lifecycle in the app rather than the editor. Rejected; the request/accept/dismiss lifecycle lives in
CodeEditSourceEditor(see the dependency below), and the app only supplies a concrete provider.
Additional Context
This is the top layer of a three-repo change for native inline completions:
CodeEditTextView: inline suggestion (ghost text) rendering primitive (CodeEditApp/CodeEditTextView#124, PR CodeEditApp/CodeEditTextView#125).CodeEditSourceEditor: inline completion coordination layer (CodeEditApp/CodeEditSourceEditor#374, PR CodeEditApp/CodeEditSourceEditor#375).CodeEdit(this issue): the GitHub Copilot provider and UI.
I have a working, documented implementation. Locally it builds and runs against the two dependency branches via a workspace that references local checkouts, and I have verified end to end against the real copilot-language-server (device-flow sign-in and inline ghost text that accepts with Tab). The package pins for CodeEditTextView / CodeEditSourceEditor need bumping to the releases that include layers 1 and 2 before this can build in CI. Would the maintainers welcome native Copilot support in CodeEdit?
Screenshots
I will attach a screen recording of the device-flow sign-in and inline ghost text on the PR.
- 主要言語
- Swift
- スター
- 23k
- フォーク
- 1.2k
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CodeEditApp/CodeEdit のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
CodeEditApp/CodeEdit#2190 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 15/100
CodeEditApp/CodeEdit#2195 · リアクション 5 件 ·
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
CodeEditApp/CodeEdit#2185 ·
-
creashes on starting オープンbug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
CodeEditApp/CodeEdit#2180 ·
-
bug
CodeEditApp/CodeEdit#2174 · コメント 1 件 · 担当者 1 名 ·
CodeEditApp/CodeEdit の issue をすべて見る
似ている issue
-
area:dictation documentation P2
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
uttrflow/uttrflow-swift#1180 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
OneBusAway/onebusaway-ios#1451 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100