mirror of
https://github.com/microsoft/vscode-extension-samples.git
synced 2026-04-27 16:55:44 +08:00
Merge pull request #376 from evangrayk/webview-deserialize-ext-version
Fix webview sample deserializing after an extension update
This commit is contained in:
@ -26,12 +26,24 @@ export function activate(context: vscode.ExtensionContext) {
|
||||
vscode.window.registerWebviewPanelSerializer(CatCodingPanel.viewType, {
|
||||
async deserializeWebviewPanel(webviewPanel: vscode.WebviewPanel, state: any) {
|
||||
console.log(`Got state: ${state}`);
|
||||
// Reset the webview options so we use latest uri for `localResourceRoots`.
|
||||
webviewPanel.webview.options = getWebviewOptions(context.extensionUri);
|
||||
CatCodingPanel.revive(webviewPanel, context.extensionUri);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getWebviewOptions(extensionUri: vscode.Uri): vscode.WebviewOptions {
|
||||
return {
|
||||
// Enable javascript in the webview
|
||||
enableScripts: true,
|
||||
|
||||
// And restrict the webview to only loading content from our extension's `media` directory.
|
||||
localResourceRoots: [vscode.Uri.joinPath(extensionUri, 'media')]
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Manages cat coding webview panels
|
||||
*/
|
||||
@ -63,13 +75,7 @@ class CatCodingPanel {
|
||||
CatCodingPanel.viewType,
|
||||
'Cat Coding',
|
||||
column || vscode.ViewColumn.One,
|
||||
{
|
||||
// Enable javascript in the webview
|
||||
enableScripts: true,
|
||||
|
||||
// And restrict the webview to only loading content from our extension's `media` directory.
|
||||
localResourceRoots: [vscode.Uri.joinPath(extensionUri, 'media')]
|
||||
}
|
||||
getWebviewOptions(extensionUri),
|
||||
);
|
||||
|
||||
CatCodingPanel.currentPanel = new CatCodingPanel(panel, extensionUri);
|
||||
|
||||
Reference in New Issue
Block a user