fix: pass editor content for JetBrains autocomplete to fix large file truncation#12399
Open
praneethb7 wants to merge 4 commits into
Open
fix: pass editor content for JetBrains autocomplete to fix large file truncation#12399praneethb7 wants to merge 4 commits into
praneethb7 wants to merge 4 commits into
Conversation
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #12390 : autocomplete showing wrong/static prefix & suffix on files larger than ~3000 lines in JetBrains.
Root cause:
FileUtils.readFile()caps file content at 100,000 characters. For large files this truncates the content always from line 0, so the core computed the same wrong prefix/suffix regardless of cursor position.Fix: Pass
editor.document.text(full live in-memory content, no size limit) asmanuallyPassFileContentsin the autocomplete request, exactly mirroring what the VS Code extension already does viaopenTextDocument.getText(). WhenmanuallyPassFileContentsis present, the core skips the disk/file read entirely.Changes:
CompletionService.kt: added optionalfileContentsparameter to interfaceContinueCompletionService.kt: passesmanuallyPassFileContentsin the request payloadContinueInlineCompletionProvider.kt: readseditor.document.textand passes it to the serviceAI Code Review
@continue-reviewChecklist
Screen recording or screenshot
N/A: The fix mirrors the existing VS Code implementation and was verified by code inspection.
Tests
No new tests added. The fix mirrors the VS Code extension's approach (
openTextDocument.getText()).Summary by cubic
Fixes wrong/static autocomplete prefixes and suffixes in JetBrains for large files by sending the full in-memory editor text instead of reading from disk. Also updates docs to cover local config profiles and dynamic model fetching in the UI.
editor.document.textasmanuallyPassFileContentsso the core skips disk reads and uses the full file content.fileContentstoCompletionServiceand wire it throughContinueCompletionServiceandContinueInlineCompletionProvider.getAutocompletesignature.Written for commit bccf247. Summary will update on new commits.