From 890d340d7fd3fc318b83edb373710708f2faf5d2 Mon Sep 17 00:00:00 2001 From: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com> Date: Sun, 28 Jul 2024 11:50:31 -0400 Subject: [PATCH] Update view IDs and add comment about vscode caching behavior --- src/extension.ts | 4 ++-- src/providers/ClaudeDevProvider.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index e88305d..9aec3dd 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -39,7 +39,7 @@ export function activate(context: vscode.ExtensionContext) { const sidebarProvider = new ClaudeDevProvider(context, outputChannel) context.subscriptions.push( - vscode.window.registerWebviewViewProvider(ClaudeDevProvider.viewType, sidebarProvider, { + vscode.window.registerWebviewViewProvider(ClaudeDevProvider.sideBarId, sidebarProvider, { webviewOptions: { retainContextWhenHidden: true }, }) ) @@ -61,7 +61,7 @@ export function activate(context: vscode.ExtensionContext) { //const column = vscode.window.activeTextEditor ? vscode.window.activeTextEditor.viewColumn : undefined const lastCol = Math.max(...vscode.window.visibleTextEditors.map((editor) => editor.viewColumn || 0)) const targetCol = Math.max(lastCol + 1, 1) - const panel = vscode.window.createWebviewPanel(ClaudeDevProvider.viewType, "Claude Dev", targetCol, { + const panel = vscode.window.createWebviewPanel(ClaudeDevProvider.tabPanelId, "Claude Dev", targetCol, { enableScripts: true, retainContextWhenHidden: true, localResourceRoots: [context.extensionUri], diff --git a/src/providers/ClaudeDevProvider.ts b/src/providers/ClaudeDevProvider.ts index d4543f4..d810311 100644 --- a/src/providers/ClaudeDevProvider.ts +++ b/src/providers/ClaudeDevProvider.ts @@ -13,7 +13,8 @@ https://github.com/KumarVariable/vscode-extension-sidebar-html/blob/master/src/c */ export class ClaudeDevProvider implements vscode.WebviewViewProvider { - public static readonly viewType = "claude-dev.SidebarProvider" + public static readonly sideBarId = "claude-dev.SidebarProvider" // used in package.json as the view's id. This value cannot be changed due to how vscode caches views based on their id, and updating the id would break existing instances of the extension. + public static readonly tabPanelId = "claude-dev.TabPanelProvider" private disposables: vscode.Disposable[] = [] private view?: vscode.WebviewView | vscode.WebviewPanel private providerInstanceIdentifier = Date.now()