mirror of
https://github.com/microsoft/vscode-extension-samples.git
synced 2026-04-27 16:55:44 +08:00
Adopt chat context API changes (#1271)
This commit is contained in:
@ -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<vscode.ChatContextItem | undefined> {
|
||||
// Register the chat resource context provider for JSON files
|
||||
const provider: vscode.ChatResourceContextProvider = {
|
||||
provideResourceChatContext(options: { resource: vscode.Uri }, token: vscode.CancellationToken): vscode.ProviderResult<vscode.ChatContextItem | undefined> {
|
||||
// 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<vscode.ChatContextItem> {
|
||||
resolveResourceChatContext(context: vscode.ChatContextItem, token: vscode.CancellationToken): vscode.ProviderResult<vscode.ChatContextItem> {
|
||||
// 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
|
||||
|
||||
Reference in New Issue
Block a user