当前第2页 返回上一页
当VSCode重启后,就全都清空了,所以等于不能用。
调用VSCode的node环境来保存,这里需要让webview和VSCode插件环境进行通讯。
4号坑:Webview内容被释放
当Webview所在的tab pannel进入后台时(比如切到别的tab了),webview里的内容就会被清除,内存占用被释放。再次切回时会重新加载html内容。
启用retainContextWhenHidden

消息通讯
1、插件发消息,Webview接收消息
1 | panel.webview.postMessage({text: '你好,我是插件' });
|
1 2 3 | window.addEventListener( 'message' , function (e){
console.log(e.data.text);
})
|
2、Webview发消息,插件接收消息
1 2 3 4 5 6 | var vscode = acquireVsCodeApi();
vscode.postMessage({
text: '你好,我是Webview'
})
|
1 2 3 | panel.webview.onDidReceiveMessage( function (data) {
console.log(data.text);
});
|
比如前面提到的cookie和localstorage,就可以封装一下消息通讯,通过插件node环境来保存到本地
1 2 3 4 5 6 7 8 | var vscode = acquireVsCodeApi();
function setLocalStorage(k,v){
vscode.postMessage({
command: 'setLocalStorage' ,
key:k,
value:v
})
}
|
1 2 3 4 5 6 | panel.webview.onDidReceiveMessage( function (data) {
if (data.command == 'setLocalStorage' ){
lowdb.set(data.key,data.value).write();
}
});
|
官方Demo
- https://github.com/microsoft/vscode-extension-samples/tree/master/webview-sample
- https://github.com/microsoft/vscode-extension-samples/tree/master/webview-view-sample
更多编程相关知识,请访问:编程视频!!
以上就是浅谈VSCode中Webview的使用方法的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
vsCode可以开发javaweb么
vsCode断点加不上的解决方法
vsCode终端窗口无法输入命令怎么办
vsCode怎么设置插件安装位置
vsCode突然不能用怎么办
vsCode怎么设置代码补全
vsCode的终端不显示内容怎么办
vsCode有头文件不能编译解决方法
vsCode如何关闭eslint语法检查
vsCode中使用git的方法介绍
更多相关阅读请进入《vsCode》频道 >>
转载请注明出处:木庄网络博客 » 浅谈VSCode中Webview的使用方法