婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 使用VSCode 創(chuàng)建一個(gè)插件

使用VSCode 創(chuàng)建一個(gè)插件

熱門標(biāo)簽:suitecrm 地圖標(biāo)注 承德地圖標(biāo)注公司收費(fèi) 揭陽(yáng)電腦外呼系統(tǒng)公司 臨沂ai電銷機(jī)器人招商 華創(chuàng)e路航彩票銷售點(diǎn)地圖標(biāo)注 鶴壁外呼系統(tǒng)公司 銀川語(yǔ)音外呼系統(tǒng)中心 高德地圖標(biāo)注常顯 外呼系統(tǒng)號(hào)顯示星號(hào)怎么看

VSCode 創(chuàng)建一個(gè)插件,如何創(chuàng)建一個(gè)插件,VS Code 的插件既然是一個(gè) Node.js 應(yīng)用,那么官方自然也會(huì)提供了基于 NPM 的工具鏈來(lái)幫助你創(chuàng)建和維護(hù)插件。
首先你需要的是 yeoman,一個(gè)腳手架工具。通過(guò) yeoman 你可以快速創(chuàng)建代碼模板,如下所示:

npm install -g yeoman

然后你需要安裝 VS Code 的模板:

npm install -g generator-code

有了腳手架,你就可以創(chuàng)建一個(gè) VS Code 的插件模板了。接下來(lái)運(yùn)行:

yo code myextension

請(qǐng)注意,第三個(gè)參數(shù)將是你新創(chuàng)建的插件的文件夾名字。

由上圖,你可以看到有七個(gè)插件模板:

前兩個(gè)是通過(guò)編程來(lái)提供插件功能,你可以選擇 TypeScript 或者 JavaScript,結(jié)果都是類似的,因?yàn)?TypeScript 最后也需要被編譯成 JavaScript 再發(fā)布;第三個(gè)是主題插件,你可以將你自己創(chuàng)建的主題分享給其他人;第四個(gè)是語(yǔ)言支持,也就是語(yǔ)法高亮、語(yǔ)言定義等;第五個(gè)是代碼片段的分享;第六個(gè)則是分享快捷鍵;第七個(gè)就是對(duì)多個(gè)插件進(jìn)行組合分享。

關(guān)于主題(Color Theme)、快捷鍵(Keymap)、代碼片段(Code Snippet)的分享,我會(huì)在下一講進(jìn)行介紹。語(yǔ)言支持之后也會(huì)涉及。今天,我們先講述第二個(gè)選項(xiàng) “New Extension (JavaScript)”。

接下來(lái),你會(huì)依次被提示輸入插件的名字、介紹、想要用哪個(gè)賬號(hào)發(fā)布、是否要打開(kāi) type check以及是否要使用 git 等。你可以暫時(shí)按照我的樣例進(jìn)行輸入,之后也可以再根據(jù)需要修改。

輸入全部問(wèn)題后,腳本就會(huì)自動(dòng)地創(chuàng)建文件,安裝需要的 dependencies。全部結(jié)束后,腳本會(huì)提示你,可以運(yùn)行下面的腳本打開(kāi)這個(gè)插件的代碼。

cd myextension code .

VS Code 的腳手架,默認(rèn)為我們創(chuàng)建了不少的文件。不過(guò)像 .gitignore、.eslintrc.json、README.md 這些文件的作用想必你已經(jīng)比較熟悉了。對(duì)于這個(gè)插件而言,最重要的是下面幾個(gè)文件:

package.json 我上面提到了,VS Code 的插件就是一個(gè) Node.js 的應(yīng)用,package.json 里記錄了這個(gè) Node.js 應(yīng)用的信息。同時(shí),插件的信息也會(huì)被記錄在這個(gè)文件內(nèi)。 extension.js 這個(gè)文件是當(dāng)前插件的全部代碼。 .vscode 腳手架工具已經(jīng)為我們提供了調(diào)試配置、任務(wù)配置等,有了它們,我們就不用自己花時(shí)間書寫了。

好了,下面我們來(lái)看看 extension.js 和 package.json。看完它們,你就對(duì) VS Code 插件是如何運(yùn)行的有很好的理解的。

extension.js的內(nèi)容在刪除了所有的注釋后,如下:

const vscode = require('vscode');

function activate(context) {
  console.log('Congratulations, your extension "myextension" is now active!');
  let disposable = vscode.commands.registerCommand('extension.sayHello', function () {
    vscode.window.showInformationMessage('Hello World!');
  });

  context.subscriptions.push(disposable);
}
exports.activate = activate;

function deactivate() {
}
exports.deactivate = deactivate;

第一,我們引用了 vscode 這個(gè)庫(kù)。通過(guò)引用這個(gè)庫(kù),我們就能夠使用 VS Code 的插件 API 了。

第二,我們創(chuàng)建了 activate 函數(shù)并且將其輸出。VS Code 的插件進(jìn)程在激活這個(gè)插件時(shí),就是調(diào)用這個(gè)被輸出(export)的函數(shù)。也就是說(shuō),這個(gè)函數(shù),就是這個(gè)插件的入口。

相對(duì)應(yīng)的就是 deactivate 函數(shù),當(dāng)我們禁用這個(gè)插件或者關(guān)閉 VS Code 時(shí),這個(gè)函數(shù)就會(huì)被調(diào)用了。
下面我們?cè)賮?lái)看看 activate 這個(gè)函數(shù):

function activate(context) {
  console.log('Congratulations, your extension "myextension" is now active!');
  let disposable = vscode.commands.registerCommand('extension.sayHello', function () {
    vscode.window.showInformationMessage('Hello World!');
  });

  context.subscriptions.push(disposable);
}`

這個(gè)函數(shù)首先輸出了 log,告訴我們插件已經(jīng)被成功激活了。接著,我們使用 vscode.commands.registerCommand注冊(cè)一個(gè)名為 extension.sayHello的命令,這個(gè)命令的實(shí)現(xiàn),是 registerCommand的第二個(gè)參數(shù),我們通過(guò)調(diào)用 vscode.window.showInformationMessage ,在界面上調(diào)出一個(gè)提示框,內(nèi)容則是 Hello World!

不過(guò),光有 extension.js ,這個(gè)插件是無(wú)法運(yùn)行的。VS Code 會(huì)根據(jù)條件來(lái)激活插件,而這個(gè)激活條件寫在了 package.json 中,那么我們一起來(lái)看下package.json。

{
  "name": "myextension",
  "displayName": "myextension",
  "description": "my extension",
  "version": "0.0.1",
  "publisher": "rebornix",
  "engines": {
    "vscode": "^1.29.0"
  },
  "categories": [
    "Other"
  ],
  "activationEvents": [
    "onCommand:extension.sayHello"
  ],
  "main": "./extension",
  "contributes": {
    "commands": [
      {
        "command": "extension.sayHello",
        "title": "Hello World"
      }
    ]
  },
  "scripts": {
    "postinstall": "node ./node_modules/vscode/bin/install",
    "test": "node ./node_modules/vscode/bin/test"
  },
  "devDependencies": {
    "typescript": "^2.6.1",
    "vscode": "^1.1.21",
    "eslint": "^4.11.0",
    "@types/node": "^8.10.25",
    "@types/mocha": "^2.2.42"
  }
}

上面這個(gè)文件,跟普通的 npm 的 package.json 只有三處不同。

第一處是 engines。

"vscode": "^1.29.0"

它指定了運(yùn)行這個(gè)插件需要的 VS Code 版本。比如 “^1.29.0” 就是說(shuō)明,要安裝運(yùn)行這個(gè)插件必須要使用 VS Code 1.29 及以上版本。

第二處是 activationEvents。

"activationEvents": [
  "onCommand:extension.sayHello"
]

這個(gè)屬性指定了什么情況下這個(gè)插件應(yīng)該被加載并且激活。在我們這個(gè)例子里,激活條件是,當(dāng)用戶想要運(yùn)行 “extension.sayHello” 這個(gè)命令時(shí),就激活這個(gè)插件。
這個(gè)機(jī)制能夠保證,當(dāng)我們需要使用這個(gè)插件的時(shí)候,這個(gè)插件才被激活,盡可能地保證性能和內(nèi)存使用的合理性。

第三處是 contributes。

"contributes": {
  "commands": [
    {
      "command": "extension.sayHello",
      "title": "Hello World"
    }
  ]
},

這個(gè)屬性指定了,我們這個(gè)插件給 VS Code 添加了一個(gè) command,這個(gè) command 的 id 是 “extension.sayHello”, 跟 extension.js 中寫的一樣。而這個(gè)命令的名字,叫做 Hello World。

如果不寫這個(gè)屬性的話,VS Code 是不會(huì)把這個(gè)命令注冊(cè)到命令面板中的,我們也就沒(méi)法找到這個(gè)命令并且執(zhí)行了。

您可能感興趣的文章:
  • 使用VScode 插件debugger for chrome 調(diào)試react源碼的方法
  • vscode中eslint插件的配置(prettier配置無(wú)效)
  • 解決vscode中g(shù)olang插件依賴安裝失敗問(wèn)題
  • VsCode插件開(kāi)發(fā)之插件初步通信的方法步驟
  • vscode extension插件開(kāi)發(fā)詳解
  • vsCode安裝使用教程和插件安裝方法
  • 詳解vscode中vue代碼顏色插件
  • VSCode下好用的Python插件及配置
  • VsCode插件整理(小結(jié))
  • 推薦VSCode 上特別好用的 Vue 插件之vetur
  • 如何使用VSCode 運(yùn)行調(diào)試插件代碼

標(biāo)簽:忻州 萊蕪 三沙 汕尾 咸寧 棗莊 許昌 七臺(tái)河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用VSCode 創(chuàng)建一個(gè)插件》,本文關(guān)鍵詞  使用,VSCode,創(chuàng)建,一個(gè),插件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用VSCode 創(chuàng)建一個(gè)插件》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于使用VSCode 創(chuàng)建一個(gè)插件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91精品国产欧美一区二区成人| 亚洲五月六月丁香激情| 国产一区二区中文字幕| 亚洲欧美偷拍三级| 国产亚洲精品7777| 日韩色在线观看| 欧美日韩中字一区| 91香蕉视频mp4| 高清不卡在线观看| 国产精品1024| 国产精品一二三四区| 九色|91porny| 精品亚洲国内自在自线福利| 青青青爽久久午夜综合久久午夜| 一区二区视频在线看| 亚洲欧洲日韩av| 亚洲欧美综合在线精品| 中文字幕欧美区| 中文字幕不卡在线播放| 中文字幕av一区 二区| 国产视频一区二区在线| 国产欧美日韩亚州综合| 国产精品沙发午睡系列990531| 久久久久久电影| 国产三级三级三级精品8ⅰ区| 亚洲精品一区二区三区精华液 | 国产高清在线精品| 极品少妇xxxx精品少妇| 国产制服丝袜一区| 国产美女一区二区| 丁香五精品蜜臀久久久久99网站| 粉嫩aⅴ一区二区三区四区五区| 国产精品一区二区你懂的| 国产成人超碰人人澡人人澡| 97久久人人超碰| 欧美探花视频资源| 欧美一级片在线看| 国产嫩草影院久久久久| 国产精品超碰97尤物18| 亚洲综合自拍偷拍| 奇米影视一区二区三区| 国产伦精品一区二区三区免费| 亚洲综合在线视频| 99在线视频精品| 亚洲精品欧美专区| 91在线播放网址| jlzzjlzz欧美大全| 在线观看视频91| 日韩一区二区三区视频在线观看| 日韩一区二区精品葵司在线| 国产视频一区在线播放| 亚洲另类春色国产| 日本不卡123| 北岛玲一区二区三区四区| 欧美色精品在线视频| 久久久久久久综合| 一区二区三区免费观看| 国产一区二区女| 91九色02白丝porn| 久久精子c满五个校花| 亚洲成人在线网站| 成人h动漫精品一区二区| 欧美精品一级二级三级| 国产精品久久久久影视| 91在线视频播放| 91麻豆精品国产91久久久久久久久 | 亚洲免费高清视频在线| 热久久国产精品| 91麻豆免费看| 国产拍欧美日韩视频二区| 日韩中文字幕不卡| 色八戒一区二区三区| 日本一区二区免费在线观看视频| 日韩精品福利网| 在线观看91视频| 日韩美女精品在线| 成人午夜电影网站| 欧美精品一区二区三区蜜桃视频| 天堂成人免费av电影一区| 91黄色小视频| 亚洲乱码一区二区三区在线观看| 成人性生交大片免费看在线播放| 日韩三级.com| 亚洲h在线观看| 欧美色爱综合网| 亚洲国产精品一区二区久久 | 欧美一区二区三区免费视频| 亚洲精品一二三| 91蜜桃视频在线| 成人免费视频在线观看| 99久久国产免费看| 亚洲日本免费电影| 91美女在线看| 一区二区三区欧美视频| 欧美日韩在线观看一区二区| 亚洲一区二区三区四区中文字幕 | 91精品国产综合久久精品 | 69av一区二区三区| 婷婷久久综合九色国产成人| 欧美日韩久久久| 香蕉成人伊视频在线观看| 欧美日韩一区二区三区高清| 亚洲韩国一区二区三区| 欧美体内she精高潮| 午夜精品视频一区| 91精品国产综合久久福利| 日韩电影免费在线观看网站| 日韩精品一区二区在线观看| 国产中文字幕一区| 国产精品视频第一区| 色综合久久久久综合体| 午夜影视日本亚洲欧洲精品| 日韩午夜激情av| 国产在线不卡一卡二卡三卡四卡| 中文字幕不卡的av| 91久久精品网| 久久国产婷婷国产香蕉| 欧美国产欧美综合| 成人a免费在线看| 一区二区高清在线| 日韩精品一区二区三区视频播放| 国产精品羞羞答答xxdd| 亚洲色图视频网| 日韩欧美国产电影| 精品国产一区二区三区久久久蜜月| 精品伊人久久久久7777人| 亚洲国产高清在线| 在线精品视频免费播放| 麻豆成人91精品二区三区| 国产欧美一区二区三区在线老狼| 99视频在线精品| 人人超碰91尤物精品国产| 欧美经典三级视频一区二区三区| 在线观看国产91| 精品中文字幕一区二区小辣椒| 中文字幕一区二区视频| 日韩一区二区影院| 日本高清视频一区二区| 激情五月激情综合网| 亚洲欧美日韩一区二区| 精品成人一区二区| 一本到不卡免费一区二区| 美女mm1313爽爽久久久蜜臀| 亚洲欧美国产三级| 久久久久久久久97黄色工厂| 欧美精品亚洲一区二区在线播放| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲激情五月婷婷| 精品伦理精品一区| 在线观看日韩高清av| 国产一区二区免费看| 天天爽夜夜爽夜夜爽精品视频| 国产精品女人毛片| 久久久av毛片精品| 精品免费99久久| 欧美日韩国产成人在线免费| 99精品欧美一区| 国产iv一区二区三区| 另类综合日韩欧美亚洲| 亚洲国产欧美一区二区三区丁香婷| 国产精品嫩草99a| 国产欧美精品区一区二区三区 | 日韩av不卡一区二区| 亚洲一区二区三区在线| 亚洲免费色视频| 国产精品免费视频观看| 国产欧美一区在线| 国产日韩欧美高清| 2024国产精品| 337p日本欧洲亚洲大胆精品| 日韩免费观看高清完整版| 欧美一区三区二区| 日韩一区二区精品在线观看| 91精品国产手机| 宅男噜噜噜66一区二区66| 在线不卡的av| 日韩一区二区三区在线视频| 欧美一级片免费看| 精品精品欲导航| 久久久亚洲精品一区二区三区| 精品黑人一区二区三区久久| www亚洲一区| 国产欧美一区二区精品秋霞影院| 国产视频一区二区在线观看| 欧美国产综合色视频| 国产精品人人做人人爽人人添| 国产精品伦理在线| 亚洲精品大片www| 亚洲第一在线综合网站| 秋霞电影网一区二区| 久久福利视频一区二区| 激情深爱一区二区| 国产黄人亚洲片| 成人短视频下载| 在线免费观看视频一区| 欧美一区二区视频观看视频| 精品国产精品网麻豆系列| 日本一二三不卡| 亚洲国产欧美另类丝袜| 精品一区二区在线视频|