大致将其扩展为“模型”和“视图”,我计划在扩展过程中实现模型,并计划将视图实现为基于TextdocumentContentProvIDer的HTML预览. (有更好的方法吗?)
现在,模型和视图应该相互通信.我想将视图实现为单页面应用程序.视图将向模型发送命令,模型将事件发送到视图(或视图将轮询模型以查找事件).视图将根据收到的事件自行更新.
我的问题是,我应该使用什么通信技术? HTML预览中的HTML页面可以访问VSCode / Atom / Electron / Node API吗?我可以共享对象实例,还是做一些轻量级的IPC?到目前为止我还没搞清楚.
当用户单击href设置为特定方案的链接(command://或我为TextdocumentContentProvIDer注册的链接)时,我发现我可以调用VSCode命令或刷新整个页面.
我成功地在扩展过程中打开http侦听器(http.createServer),并在HTML预览端通过XMLhttpRequest进行通信.但它看起来像一个沉重的矫枉过正.
我想知道是否有更合适的方法来做到这一点?
解决方法 VSCode有一个新的API,使这更容易.https://github.com/Microsoft/vscode/issues/43713
您可以找到新的API here
要尝试新的API:
>将“enableProposedAPI”:true添加到package.Json中
>手动下载vscode.proposed.d.ts并将其添加到您的项目中:https://raw.githubusercontent.com/Microsoft/vscode/master/src/vs/vscode.proposed.d.ts>使用最新的VS Code内部人员构建运行您的扩展
以上是内存溢出为你收集整理的webview – VSCode扩展IPC,在HTML预览中使用UI全部内容,希望文章能够帮你解决webview – VSCode扩展IPC,在HTML预览中使用UI所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)