From 9defecd830e0052f6c7104dc5ba955be344dd8bb Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 12 Feb 2026 12:40:33 +0100 Subject: [PATCH] Adopt chat context API changes --- chat-context-sample/src/extension.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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