diff --git a/chat-context-sample/src/extension.ts b/chat-context-sample/src/extension.ts index 81f9c0da97..dc8bdb25c8 100644 --- a/chat-context-sample/src/extension.ts +++ b/chat-context-sample/src/extension.ts @@ -5,9 +5,9 @@ const PROVIDER_ID = 'chat-context-sample.jsonLineCount'; export function activate(context: vscode.ExtensionContext) { console.log('Chat context sample extension is now active!'); - // Register the chat context provider for JSON files - const provider: vscode.ChatContextProvider = { - provideChatContextForResource(options: { resource: vscode.Uri }, token: vscode.CancellationToken): vscode.ProviderResult { + // Register the chat resource context provider for JSON files + const provider: vscode.ChatResourceContextProvider = { + provideResourceChatContext(options: { resource: vscode.Uri }, token: vscode.CancellationToken): vscode.ProviderResult { // Find the text document for this resource const document = vscode.workspace.textDocuments.find(doc => doc.uri.toString() === options.resource.toString()); if (!document) { @@ -18,7 +18,8 @@ export function activate(context: vscode.ExtensionContext) { const fileName = options.resource.path.split('/').pop() ?? 'unknown'; return { - icon: new vscode.ThemeIcon('json'), + icon: new vscode.ThemeIcon('file'), + resourceUri: options.resource, label: `${fileName}: ${lineCount} lines`, modelDescription: `The JSON file "${fileName}" has ${lineCount} lines.`, tooltip: new vscode.MarkdownString(`**Line count:** ${lineCount}`), @@ -26,14 +27,14 @@ export function activate(context: vscode.ExtensionContext) { }; }, - resolveChatContext(context: vscode.ChatContextItem, token: vscode.CancellationToken): vscode.ProviderResult { + resolveResourceChatContext(context: vscode.ChatContextItem, token: vscode.CancellationToken): vscode.ProviderResult { // Context items already have values, so just return as-is return context; } }; // Register with a document selector for JSON files - const disposable = vscode.chat.registerChatContextProvider( + const disposable = vscode.chat.registerChatResourceContextProvider( [{ language: 'json' }, { language: 'jsonc' }], PROVIDER_ID, provider