mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-29 04:18:59 -05:00
committed by
GitHub
parent
e1d5bf35f9
commit
e992aa7164
@@ -4,13 +4,13 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { languages } from 'vscode';
|
||||
import { GhostTextProvider } from '../../completions-core/extension/src/ghostText/ghostText';
|
||||
import { Disposable } from '../../../util/vs/base/common/lifecycle';
|
||||
import { createContext, setup } from '../../completions-core/completionsServiceBridges';
|
||||
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
|
||||
import { ConfigKey, IConfigurationService } from '../../../platform/configuration/common/configurationService';
|
||||
import { autorun } from '../../../util/vs/base/common/observableInternal';
|
||||
import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService';
|
||||
import { Disposable } from '../../../util/vs/base/common/lifecycle';
|
||||
import { autorun } from '../../../util/vs/base/common/observableInternal';
|
||||
import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
|
||||
import { createContext, setup } from '../../completions-core/completionsServiceBridges';
|
||||
import { GhostTextProvider } from '../../completions-core/extension/src/ghostText/ghostText';
|
||||
|
||||
export class CompletionsCoreContribution extends Disposable {
|
||||
constructor(
|
||||
@@ -27,7 +27,7 @@ export class CompletionsCoreContribution extends Disposable {
|
||||
const ctx = instantiationService.invokeFunction(createContext);
|
||||
reader.store.add(setup(ctx));
|
||||
const provider = new GhostTextProvider(ctx);
|
||||
reader.store.add(languages.registerInlineCompletionItemProvider({ pattern: '**' }, provider, { debounceDelayMs: 0 }));
|
||||
reader.store.add(languages.registerInlineCompletionItemProvider({ pattern: '**' }, provider, { debounceDelayMs: 0, excludes: ['github.copilot'], groupId: 'completions' }));
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ describe('NextEditProvider Caching', () => {
|
||||
|
||||
doc.applyEdit(StringEdit.insert(11, '3D'));
|
||||
|
||||
const context: InlineCompletionContext = { triggerKind: 1, selectedCompletionInfo: undefined, requestUuid: generateUuid(), requestIssuedDateTime: Date.now() };
|
||||
const context: InlineCompletionContext = { triggerKind: 1, selectedCompletionInfo: undefined, requestUuid: generateUuid(), requestIssuedDateTime: Date.now(), earliestShownDateTime: Date.now() + 200 };
|
||||
const logContext = new InlineEditRequestLogContext(doc.id.toString(), 1, context);
|
||||
const cancellationToken = CancellationToken.None;
|
||||
const tb1 = new NextEditProviderTelemetryBuilder(gitExtensionService, mockNotebookService, workspaceService, nextEditProvider.ID, doc);
|
||||
|
||||
@@ -135,6 +135,7 @@ export class InlineEditProviderFeature extends Disposable implements IExtensionC
|
||||
displayName: provider.displayName,
|
||||
yieldTo: this._yieldToCopilot.read(reader) ? ['github.copilot'] : undefined,
|
||||
debounceDelayMs: 0, // set 0 debounce to ensure consistent delays/timings
|
||||
groupId: 'nes',
|
||||
}));
|
||||
|
||||
if (TRIGGER_INLINE_EDIT_ON_ACTIVE_EDITOR_CHANGE) {
|
||||
|
||||
@@ -1392,7 +1392,7 @@ class CachePopulationTrigger implements vscode.Disposable {
|
||||
this.onInlineCompletion(document, position, context);
|
||||
return undefined;
|
||||
}
|
||||
}, { debounceDelayMs: 0 }));
|
||||
}, { debounceDelayMs: 0, groupId: 'contextService' }));
|
||||
}
|
||||
|
||||
public dispose() {
|
||||
|
||||
@@ -46,6 +46,9 @@ declare module 'vscode' {
|
||||
action?: Command;
|
||||
|
||||
displayLocation?: InlineCompletionDisplayLocation;
|
||||
|
||||
/** Used for telemetry. Can be an arbitrary string. */
|
||||
correlationId?: string;
|
||||
}
|
||||
|
||||
export enum InlineCompletionDisplayLocationKind {
|
||||
@@ -78,6 +81,8 @@ declare module 'vscode' {
|
||||
debounceDelayMs?: number;
|
||||
|
||||
displayName?: string;
|
||||
|
||||
excludes?: string[];
|
||||
}
|
||||
|
||||
export interface InlineCompletionItemProvider {
|
||||
@@ -162,6 +167,8 @@ declare module 'vscode' {
|
||||
readonly requestUuid: string;
|
||||
|
||||
readonly requestIssuedDateTime: number;
|
||||
|
||||
readonly earliestShownDateTime: number;
|
||||
}
|
||||
|
||||
export interface PartialAcceptInfo {
|
||||
|
||||
@@ -169,7 +169,7 @@ export class InlineEditTester {
|
||||
|
||||
const historyContext = historyContextProvider.getHistoryContext(docId)!;
|
||||
const activeDocument = historyContext.getMostRecentDocument(); // TODO
|
||||
const context: InlineCompletionContext = { triggerKind: 1, selectedCompletionInfo: undefined, requestUuid: generateUuid(), requestIssuedDateTime: Date.now() };
|
||||
const context: InlineCompletionContext = { triggerKind: 1, selectedCompletionInfo: undefined, requestUuid: generateUuid(), requestIssuedDateTime: Date.now(), earliestShownDateTime: Date.now() + 200 };
|
||||
const logContext = new InlineEditRequestLogContext(activeDocument.docId.toString(), 1, context);
|
||||
const telemetryBuilder = new NextEditProviderTelemetryBuilder(gitExtensionService, notebookService, workspaceService, nextEditProvider.ID, workspace.getDocument(activeDocument.docId)!);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user