From 61fda64ede073136f3716f69b067d212ef0893e1 Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 12 Feb 2026 12:54:44 +0100 Subject: [PATCH] Adopt chat context API changes (#1271) --- 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 81f9c0da..dc8bdb25 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