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.pswp.cn/news/284812.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284812.shtml
英文地址,請注明出處:http://en.pswp.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)】,如下所示: