当前第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的使用方法的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
23个常用的vsCode快捷键(动图演示)
vsCode设置代码特效
vsCode怎么编译php?
phpstrom 转 vsCode 折腾记录(配置分享)
vsCode python文件注释乱码怎么办
如何用vsCode进行单步调试
vsCode能做哪些编程
vsCode无法用jq怎么办
vsCode怎么使用虚拟环境
vsCode怎么修改当前工作区默认文件编码
更多相关阅读请进入《vsCode》频道 >>
转载请注明出处:木庄网络博客 » 浅谈VSCode中Webview的使用方法