VSCode 插件开发实例(WebView):微信读书 ^-^边撸代码边看小说^-^

最终效果

 

 

主要代码

package.json

{"name": "WeReadForVSCodeJackieZheng","repository": {"type": "git","url": "https://github.com/JackieZheng/WeReadForVSCode.git"},"displayName": "WeReadForVSCode","description": "WeRead for VSCode 微信读书 VSCode 插件","version": "0.1.0","author": {"name": "JackieZheng"},"publisher": "JackieZheng","engines": {"vscode": "^1.48.0"},"categories": ["Other", "Keymaps", "Language Packs", "Extension Packs"],"keywords": ["vscode", "plugin", "webView", "weread", "view in browser"],"icon": "Images/icon.png","activationEvents": ["onCommand:WeReadForVSCodeJackieZheng.Start"],"main": "./extension.js","contributes": {"commands": [{"command": "WeReadForVSCodeJackieZheng.Start","title": "Start","category": "WeRead","icon": {"light": "Images/icon.svg","dark": "Images/icon.svg"}}],"keybindings": [{"command": "WeReadForVSCodeJackieZheng.Start","key": "ctrl+f3","mac": "cmd+f3"}]},"license": "SEE LICENSE IN LICENSE.md","bugs": {"url": "https://github.com/JackieZheng/WeReadForVSCode/issues","email": "zhengxinzhe@jackyzheng.uu.me"},"homepage": "https://github.com/JackieZheng/WeReadForVSCode/blob/master/README.md","scripts": {"lint": "eslint .","pretest": "npm run lint","test": "node ./test/runTest.js"},"devDependencies": {"@types/vscode": "^1.48.0","@types/glob": "^7.1.3","@types/mocha": "^8.0.0","@types/node": "^14.0.27","eslint": "^7.6.0","glob": "^7.1.6","mocha": "^8.0.1","typescript": "^3.8.3","vscode-test": "^1.4.0"}
}

 extension.js

// @ts-nocheck
const vscode = require('vscode');
const {url} = require('inspector');// this method is called when your extension is activated
// your extension is activated the very first time the command is executedfunction activate(context) {// The command has been defined in the package.json file// Now provide the implementation of the command with  registerCommand// The commandId parameter must match the command field in package.jsonlet disposable = vscode.commands.registerCommand('WeReadForVSCodeJackieZheng.Start', function () {// The code you place here will be executed every time your command is executed// 1.创建并显示Webviewconst panel = vscode.window.createWebviewPanel(// 该webview的标识,任意字符串'WeRead',// webview面板的标题,会展示给用户'微信读书',// webview面板所在的分栏vscode.ViewColumn.One,// 其它webview选项{enableScripts: true, // 启用JS,默认禁用retainContextWhenHidden: true, // webview被隐藏时保持状态,避免被重置});//设置标题前图标panel.iconPath = {dark: vscode.Uri.file(context.extensionPath + '/Images/iconDark.png'),light: vscode.Uri.file(context.extensionPath + '/Images/iconBlack.png')};panel.webview.html = `<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta content="portrait" name="x5-orientation"><meta content="true" name="x5-fullscreen"><meta content="portrait" name="screen-orientation"><meta content="yes" name="full-screen"><meta content="webkit" name="renderer"><meta content="IE=Edge" http-equiv="X-UA-Compatible"><title>微信读书</title><style>html,body,iframe{width:100%;height:100%;border:0;overflow: hidden;}</style></head><body><iframe src="https://weread.qq.com/"/></body></html>`;});context.subscriptions.push(disposable);
}
exports.activate = activate;// this method is called when your extension is deactivated
function deactivate() {}module.exports = {activate,deactivate
}

 

其它相关 

安装脚手架:

npm install -g yo generator-code

初始化项目:

yo code

 

安装打包工具:

npm i vsce -g

打包成vsix文件:

vsce package

 

打包后插件及完整源码 

https://marketplace.visualstudio.com/items?itemName=JackieZheng.WeReadForVSCodeJackieZheng

https://github.com/JackieZheng/WeReadForVSCode

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QGIS入门实战精品教程】4.7:QGIS如何将矢量数据转为GeoJSON格式?

本文以案例的形式,讲述在QGIS专业软件中,将矢量数据转为GeoJSON的方法。 扩展阅读: 【ArcGIS风暴】如何将矢量数据(点、线、面)折点坐标转为GeoJSON格式? 在QGIS中,可以直接将数据导出为GeoJSON格式。具体操作方法是:右键矢量数据图层→导出图层→到文件,如下图所示:…

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

Git的纯命令操作&#xff0c;Install&#xff0c;Clone , Commit&#xff0c;Push&#xff0c;Pull&#xff0c;版本回退&#xff0c;撤销更新&#xff0c;分支的创建/切换/更新/提交/合并&#xff0c;代码冲突 这篇是接着上篇分布式版本库——Windows下Git的环境部署以及在Git…

掌握jQuery插件开发

在实际开发工作中&#xff0c;总会碰到像滚动&#xff0c;分页&#xff0c;日历等展示效果的业务需求&#xff0c;对于接触过jQuery以及熟悉jQuery使用的人来说&#xff0c;首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求。目前页面中常用的一些组件&#xff0c;都…

List 分页加载数据控制机制

分页加载是一种应用很广泛的数据展示控制机制&#xff0c;相信绝大多数开发者对于这一套机制都非常熟悉。这篇文章的主要目的结合实际的使用场景&#xff0c;对以往在开发中遇到一些概念进行梳理&#xff0c;归纳的同时加深理解&#xff0c;也希望能帮助更多刚刚接触到开发的同…

【QGIS入门实战精品教程】3.3:QGIS如何打开ArcGIS创建的文件数据库(GDB)?

在行业应用中,GIS地理空间数据往往存储在ESRI ArcGIS的文件地理数据库(File GeodataBase),因此,ArcGIS与QGIS的数据交互、共享就显得非常重要。QGIS3可以直接打开File GDB数据,并对数据进行显示、查看、处理等操作。具体的步骤如下: 相关阅读:【QGIS入门实战精品教程】3…

.NET 6 Linux 系统服务 Systemd (案例版)

.Net Core Windows 系统服务&#xff0c;之前已经写过了&#xff0c;但是&#xff0c;对于Linux的系统服务&#xff0c;却没有写过&#xff0c;主要是因为&#xff0c;大部分Linux的.Net服务都直接Docker了&#xff0c;当然&#xff0c;不排除有这种使用的&#xff0c;可能搞成…

封装一个Array 数据 绑定 html select 方法

/** * * param {} select select控件 * param {} nodes Array数据 * param {} value value绑定项 * param {} text text绑定项 * param {} prompt 选择提示信息 * returns {} */ function bindSelect(select, nodes, value, text, prompt) {select.empty();if (prom…

XmlParser和HtmlParser

经常要用的Xml和Html解决&#xff0c;实际上这个领域也有非常好的解决方案。 相对来说现在各种开源的Xml解析功能比较丰富&#xff0c;机制也比较灵活&#xff0c;但是由于他功能比较完善&#xff0c;干的事情比较多&#xff0c;所以性能方面也慢一点&#xff1b;另外&#xff…

【QGIS入门实战精品教程】3.2:QGIS如何打开ArcGIS创建的个人数据库(MDB)?

文章目录 1. 下载并安装Microsoft Access 2010数据库引擎2. 配置系统环境变量3. 打开mdb数据库【相关阅读】 【QGIS入门实战精品教程】005:QGIS如何打开ArcGIS创建的文件数据库(GDB)? 1. 下载并安装Microsoft Access 2010数据库引擎 https://www.microsoft.com/zh-cn/down…

SharedPreferences操作数据

SharedPreferences是一个简单轻量的android存储数据类。适合保存配置信息等。是以XML方式存储的。 存储数据 SharedPreferences sharedPreferencesgetSharedPreferences("test", Context.MODE_PRIVATE);sharedPreferences.edit().putString("userName",&qu…

[转]IaaS、PaaS、SaaS、CaaS、MaaS五者的区别

云计算构架图 很明显&#xff0c;这五者之间主要的区别在于第一个单词&#xff0c;而aaS都是as-a-service&#xff08;即服务&#xff09;的意思&#xff0c;这五个模式都是近年来兴起的&#xff0c;且这五者都是云计算的落地产品&#xff0c;所以我们先来了解一下云…

使用java开发简单的mis系统所需的技术

开发mis系统用到的技术 1. b/s架构&#xff1a;就broser/server&#xff0c;浏览器/服务器的说法。服务器端要运行tomcat&#xff0c;提供链接数据库服务供java代码读写数据&#xff0c;这个可以在eclipse中配置运行。浏览器则解释jsp或html格式中的标记元素&#xff0c;用于显…

聊聊 C++ 中的四种类型转换符

一&#xff1a;背景 在玩 C 的时候&#xff0c;经常会用 void* 来指向一段内存地址开端&#xff0c;然后再将其强转成尺度更小的 char* 或 int* 来丈量一段内存&#xff0c;参考如下代码&#xff1a;int main() {void* ptr malloc(sizeof(int) * 10);int* int_ptr (int*)ptr;…

【QGIS入门实战精品教程】3.1:QGIS如何连接SQL Server数据库?

文章目录 软件必备测试SQL Server服务是否启动QGIS与SQL Server建立连接软件必备 SQL Server 2008 R2QGIS 3.22.3测试SQL Server服务是否启动 打开SQL Server配置管理器,查看MSSQLSERVER服务的启动情况。

开源重量级的流程引擎或UI引擎

关注这两个方面的同学个踊跃加粉了~~同时在下面回复期望开源哪一个&#xff0c;将先开源呼声高的一个。 好吧&#xff0c;先小秀一下UI&#xff1a; 增加下面的pom依赖&#xff0c;表示此工程需要org.tinygroup.aerowindow ?12345<dependency> <groupId>org.tinyg…

阿里云网盘内测开启 填写申请表获取邀请码 附最新申请地址

日前有相关报道显示&#xff0c;阿里方面推出了一款名为“阿里云网盘”的独立App&#xff0c;并且其是由阿里云团队开发&#xff0c;定位则是为C端用户提供可靠安全的存储备份及智能相册等功能。据了解&#xff0c;目前这款APP尚未正式上线&#xff0c;暂时还在邀请制测试阶段。…

02 JRE与JDK

JRE (Java Runtime Environment) JAVA 运行环境 包括JAVA虚拟机和JAVA程序所需要的核心类库&#xff0c;如查想要运行一个开发好的JAVA程序&#xff0c;计算机只需要安装JRE即可 JDK&#xff08;JAVA Development Kit &#xff09;JAVA开发工具包 JDK是提供给JAVA开发人员使用…

第 133 章 FAQ

133.1. Haproxy 与 Nginx Haproxy 与 Nginx 都能实现负载均衡&#xff0c;那么 Haproxy 与 Nginx proxy 有什么差异&#xff0c;我们怎样选择两种方案。 如果是用于 HTTP 负载均衡我建议使用 Nginx&#xff0c;它可以SSL证书挂载&#xff0c;缓存定制&#xff0c;实现各种复杂的…

跟我做⼀个⾼德地图的 iOS / Android MAUI控件(Android 原⽣库绑定)

我们已经介绍了如何通过 .NET 绑定 iOS 原⽣库 &#xff0c;本篇开始介绍⼀下如何通过 .NET 绑定 Android 原⽣库。Android的库Android 的库以 .jar 做打包&#xff0c; 通过⼯具你可以将多个 .jar 完成绑定&#xff0c;然后通过 C# 调⽤原⽣的 Java 库。对⽐起 iOS &#xff0…

【QGIS入门实战精品教程】4.6:QGIS实现栅格(影像、DEM)的拼接与掩膜提取

参考阅读:ArcGIS实验教程——实验十一:影像拼接与提取 加载实验数据 本实验所采用的栅格数据为两个dem数据和一个矢量范围数据,加载如下图所示: 栅格数据信息如下: 栅格拼接 点击下拉菜单【栅格】→【杂项】→【合并(merge)】,如下所示: