中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VSCode中package.json的用法

發布時間:2020-07-28 14:37:01 來源:億速云 閱讀:519 作者:小豬 欄目:編程語言

這篇文章主要講解了VSCode中package.json的用法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

package.json

在詳細介紹vscode插件開發細節之前,這里我們先詳細介紹一下vscode插件的package.json寫法,但是建議先只需要隨便看一下,了解個大概,等后面講到具體細節的時候再回過頭來看。

如下是package.json文件的常用配置,當然這里還不是全部:

{
	// 插件的名字,應全部小寫,不能有空格
 "name": "vscode-plugin-demo",
	// 插件的友好顯示名稱,用于顯示在應用市場,支持中文
 "displayName": "VSCode插件demo",
	// 描述
 "description": "VSCode插件demo集錦",
	// 關鍵字,用于應用市場搜索
 "keywords": ["vscode", "plugin", "demo"],
	// 版本號
 "version": "1.0.0",
	// 發布者,如果要發布到應用市場的話,這個名字必須與發布者一致
 "publisher": "sxei",
	// 表示插件最低支持的vscode版本
 "engines": {
  "vscode": "^1.27.0"
 },
	// 插件應用市場分類,可選值: [Programming Languages, Snippets, Linters, Themes, Debuggers, Formatters, Keymaps, SCM Providers, Other, Extension Packs, Language Packs]
 "categories": [
  "Other"
 ],
	// 插件圖標,至少128x128像素
 "icon": "images/icon.png",
	// 擴展的激活事件數組,可以被哪些事件激活擴展,后文有詳細介紹
 "activationEvents": [
  "onCommand:extension.sayHello"
 ],
	// 插件的主入口
 "main": "./src/extension",
	// 貢獻點,整個插件最重要最多的配置項
 "contributes": {
		// 插件配置項
		"configuration": {
   "type": "object",
			// 配置項標題,會顯示在vscode的設置頁
   "title": "vscode-plugin-demo",
   "properties": {
				// 這里我隨便寫了2個設置,配置你的昵稱
    "vscodePluginDemo.yourName": {
     "type": "string",
     "default": "guest",
     "description": "你的名字"
    },
				// 是否在啟動時顯示提示
    "vscodePluginDemo.showTip": {
     "type": "boolean",
     "default": true,
     "description": "是否在每次啟動時顯示歡迎提示!"
    }
   }
  },
		// 命令
  "commands": [
   {
    "command": "extension.sayHello",
    "title": "Hello World"
   }
  ],
		// 快捷鍵綁定
  "keybindings": [
   {
    "command": "extension.sayHello",
    "key": "ctrl+f10",
    "mac": "cmd+f10",
    "when": "editorTextFocus"
   }
  ],
		// 菜單
  "menus": {
			// 編輯器右鍵菜單
   "editor/context": [
    {
					// 表示只有編輯器具有焦點時才會在菜單中出現
     "when": "editorFocus",
     "command": "extension.sayHello",
					// navigation是一個永遠置頂的分組,后面的@6是人工進行組內排序
     "group": "navigation@6"
    },
    {
     "when": "editorFocus",
     "command": "extension.demo.getCurrentFilePath",
     "group": "navigation@5"
    },
    {
					// 只有編輯器具有焦點,并且打開的是JS文件才會出現
     "when": "editorFocus && resourceLangId == javascript",
     "command": "extension.demo.testMenuShow",
     "group": "z_commands"
    },
    {
     "command": "extension.demo.openWebview",
     "group": "navigation"
    }
   ],
			// 編輯器右上角圖標,不配置圖片就顯示文字
   "editor/title": [
    {
     "when": "editorFocus && resourceLangId == javascript",
     "command": "extension.demo.testMenuShow",
     "group": "navigation"
    }
   ],
			// 編輯器標題右鍵菜單
   "editor/title/context": [
    {
     "when": "resourceLangId == javascript",
     "command": "extension.demo.testMenuShow",
     "group": "navigation"
    }
   ],
			// 資源管理器右鍵菜單
   "explorer/context": [
    {
     "command": "extension.demo.getCurrentFilePath",
     "group": "navigation"
    },
    {
     "command": "extension.demo.openWebview",
     "group": "navigation"
    }
   ]
  },
		// 代碼片段
  "snippets": [
   {
    "language": "javascript",
    "path": "./snippets/javascript.json"
   },
   {
    "language": "html",
    "path": "./snippets/html.json"
   }
  ],
		// 自定義新的activitybar圖標,也就是左側側邊欄大的圖標
  "viewsContainers": {
   "activitybar": [
    {
     "id": "beautifulGirl",
     "title": "美女",
     "icon": "images/beautifulGirl.svg"
    }
   ]
  },
		// 自定義側邊欄內view的實現
  "views": {
			// 和 viewsContainers 的id對應
   "beautifulGirl": [
    {
     "id": "beautifulGirl1",
     "name": "國內美女"
    },
    {
     "id": "beautifulGirl2",
     "name": "國外美女"
    },
    {
     "id": "beautifulGirl3",
     "name": "人妖"
    }
   ]
  },
		// 圖標主題
  "iconThemes": [
   {
    "id": "testIconTheme",
    "label": "測試圖標主題",
    "path": "./theme/icon-theme.json"
   }
  ]
 },
	// 同 npm scripts
 "scripts": {
  "postinstall": "node ./node_modules/vscode/bin/install",
  "test": "node ./node_modules/vscode/bin/test"
 },
	// 開發依賴
 "devDependencies": {
  "typescript": "^2.6.1",
  "vscode": "^1.1.6",
  "eslint": "^4.11.0",
  "@types/node": "^7.0.43",
  "@types/mocha": "^2.2.42"
 },
	// 后面這幾個應該不用介紹了
 "license": "SEE LICENSE IN LICENSE.txt",
 "bugs": {
  "url": "https://github.com/sxei/vscode-plugin-demo/issues"
 },
 "repository": {
  "type": "git",
  "url": "https://github.com/sxei/vscode-plugin-demo"
 },
	// 主頁
 "homepage": "https://github.com/sxei/vscode-plugin-demo/blob/master/README.md"
}

activationEvents

插件在VS Code中默認是沒有被激活的,哪什么時候才被激活呢?就是通過activationEvents來配置,目前支持一下8種配置:

  • onLanguage:${language}
  • onCommand:${command}
  • onDebug
  • workspaceContains:${toplevelfilename}
  • onFileSystem:${scheme}
  • onView:${viewId}
  • onUri
  • *

都比較好懂,我就不做一一介紹了,舉個例子,如果我配置了onLanguage:javascript,那么只要我打開了JS類型的文件,插件就會被激活。

重點說一下*,如果配置了*,只要一啟動vscode,插件就會被激活,為了出色的用戶體驗,官方不推薦這么做。看到這里相信大家知道了我們前面HelloWord里面為啥要配置onCommand了吧。

3.contributes

  • configuration:設置
  • commands:命令
  • menus:菜單
  • keybindings:快捷鍵綁定
  • languages:新語言支持
  • debuggers:調試
  • breakpoints:斷點
  • grammars
  • themes:主題
  • snippets:代碼片段
  • jsonValidation:自定義JSON校驗
  • views:左側側邊欄視圖
  • viewsContainers:自定義activitybar
  • problemMatchers
  • problemPatterns
  • taskDefinitions
  • colors


VSCode中package.json的用法

看完上述內容,是不是對VSCode中package.json的用法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺义区| 临城县| 古交市| 洱源县| 原平市| 孙吴县| 常熟市| 霞浦县| 乌拉特后旗| 宿州市| 偏关县| 揭东县| 余干县| 牙克石市| 额敏县| 井研县| 静安区| 耿马| 永州市| 特克斯县| 福建省| 平昌县| 家居| 莆田市| 孟州市| 盐边县| 察隅县| 玛多县| 西乌珠穆沁旗| 濮阳县| 封开县| 丘北县| 天水市| 永修县| 德兴市| 乌拉特后旗| 松阳县| 阿克苏市| 雅安市| 大丰市| 呈贡县|