From ac0b574dbd40b28260e496d32a592db0b44f3e4e Mon Sep 17 00:00:00 2001 From: Ulugbek Abdullaev Date: Wed, 16 Jul 2025 16:56:39 +0200 Subject: [PATCH] nes: make cache delay configurable (#266) --- .../src/extension/inlineEdits/node/nextEditProvider.ts | 8 ++++---- .../platform/configuration/common/configurationService.ts | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/extensions/copilot/src/extension/inlineEdits/node/nextEditProvider.ts b/extensions/copilot/src/extension/inlineEdits/node/nextEditProvider.ts index 0056c2c67800..cd651193fbc9 100644 --- a/extensions/copilot/src/extension/inlineEdits/node/nextEditProvider.ts +++ b/extensions/copilot/src/extension/inlineEdits/node/nextEditProvider.ts @@ -41,8 +41,6 @@ import { CachedOrRebasedEdit, NextEditCache } from './nextEditCache'; import { LlmNESTelemetryBuilder } from './nextEditProviderTelemetry'; import { INextEditResult, NextEditResult } from './nextEditResult'; -const ARTIFICIAL_CACHE_HIT_DELAY = 300; // delay cache hits by 300ms to make it more like a regular request and to reduce flicker ;) - export interface INextEditProvider extends IDisposable { readonly ID: string; getNextEdit(docId: DocumentId, context: vscode.InlineCompletionContext, logContext: InlineEditRequestLogContext, cancellationToken: CancellationToken, telemetryBuilder: TTelemetry, data?: TData): Promise; @@ -160,6 +158,8 @@ export class NextEditProvider extends Disposable implements INextEditProvider('chat.advanced.inlineEdits.yieldToCopilot', false, INTERNAL_RESTRICTED); export const InlineEditsLogContextRecorderEnabled = defineSetting('chat.advanced.inlineEdits.logContextRecorder.enabled', false, INTERNAL_RESTRICTED); export const InlineEditsDebounce = defineExpSetting('chat.advanced.inlineEdits.debounce', 200, INTERNAL_RESTRICTED); + export const InlineEditsCacheDelay = defineExpSetting('chat.advanced.inlineEdits.cacheDelay', 300, INTERNAL_RESTRICTED); export const InlineEditsBackoffDebounceEnabled = defineExpSetting('chat.advanced.inlineEdits.backoffDebounceEnabled', true, INTERNAL_RESTRICTED); export const InlineEditsExtraDebounceEndOfLine = defineExpSetting('chat.advanced.inlineEdits.extraDebounceEndOfLine', 0, INTERNAL_RESTRICTED); export const InlineEditsDebounceOnSelectionChange = defineExpSetting('chat.advanced.inlineEdits.debounceOnSelectionChange', undefined, INTERNAL_RESTRICTED);