vscode使用

福尔摩斯对我笑 2019-05-30 40093 次 8561条

VSCODE配置项目,F5启动 npm

  • launch.json文件配置启动,打开谷歌或火狐浏览器
    {
      "version": "0.2.0",
      "configurations": [
        {
          "type": "chrome",
          "request": "launch",
          "name": "Launch Chrome",
          "url": "http://localhost:9528",
          "webRoot": "${workspaceFolder}/src",
          "breakOnLoad": true,
          "sourceMapPathOverrides": {
            "webpack:///./src/*": "${webRoot}/*"
          }
        },
        {
          "type": "firefox",
          "request": "launch",
          "name": "HCS: firefox",
          "url": "http://localhost:9528",
          "webRoot": "${workspaceFolder}/src",
          "preLaunchTask": "RunNode",
          "pathMappings": [{ "url": "webpack:///src/", "path": "${webRoot}/" }]
        }
      ]
    }
    
  • preLaunchTask是用来启动npm的,新建一个文件task.json,文件名名字不能改
    {
        "version": "2.0.0",
        "tasks": [
          {
            "label": "RunNode",
            "type": "npm",
            "script": "dev",
            "problemMatcher": []
          }
        ]
    }
    
    • F5启动即可

VSCODE插件开发

  • 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"
}

  • 编辑器命令

context.subscriptions.push(vscode.commands.registerTextEditorCommand('extension.testEditorCommand', (textEditor, edit) => {
console.log('您正在执行编辑器命令!');
console.log(textEditor, edit);
}));


  • 获取所有命令

vscode.commands.getCommands().then(allCommands => {
console.log('所有命令:', allCommands);
});
  • 通知
vscode.window.setStatusBarMessage('你好,前端艺术家!');

标签: 无

非特殊说明,本博所有文章均为博主原创。

头像也是LOGO
未来博客 博主大人
到了这个年纪,不应该再彷徨!

发表评论



 


已有 8561 条评论 1


  1. StevDede

    Buy Avanafil Online Propecia 5 Mg Effetti Collaterali Zithromax Solubility buy viagra online Propecia Monthly Budget Can You Treat Chlamydia With Flagyl 200 Vrai Viagra Pas Cher

    回复 2019年10月17日
  2. ferragamo belts

    I actually wanted to make a note so as to thank you for all the nice advice you are sharing on this site. My time consuming internet research has now been rewarded with awesome ideas to write about with my friends and classmates. I ‘d state that that we website visitors actually are really blessed to exist in a fine website with very many perfect people with valuable solutions. I feel extremely lucky to have used your entire website page and look forward to so many more entertaining minutes reading here. Thanks once again for all the details.

    回复 2019年10月16日
  3. yeezy boost

    I simply needed to thank you so much once more. I’m not certain the things that I would’ve implemented in the absence of the type of aspects shown by you over my situation. It was actually a very terrifying problem for me, but understanding your expert technique you dealt with the issue forced me to weep with happiness. Now i am thankful for the help as well as believe you really know what a powerful job you were carrying out instructing the others via your blog post. I am sure you’ve never come across any of us.

    回复 2019年10月15日
  4. reebok outlet

    My spouse and i were excited Chris managed to deal with his analysis because of the ideas he gained using your site. It’s not at all simplistic to just always be giving for free tips and tricks which often others could have been trying to sell. Therefore we grasp we’ve got the website owner to thank for this. These explanations you’ve made, the simple site navigation, the friendships you can help instill – it is many wonderful, and it’s aiding our son and us know that that idea is excellent, which is certainly pretty vital. Many thanks for everything!

    回复 2019年10月14日
  5. cheap nba jerseys

    My wife and i have been really peaceful when Chris could conclude his reports because of the ideas he gained from your very own web pages. It is now and again perplexing to simply happen to be giving for free secrets and techniques which usually some others might have been selling. And we grasp we now have the blog owner to thank because of that. The most important illustrations you made, the simple web site menu, the friendships you can aid to foster – it’s everything overwhelming, and it is letting our son and the family do think that subject matter is awesome, which is certainly especially fundamental. Thanks for the whole thing!

    回复 2019年10月13日
  6. christian louboutin outlet

    My husband and i have been lucky that Michael managed to do his studies through the entire precious recommendations he discovered from your own site. It’s not at all simplistic just to choose to be giving freely solutions which the others might have been selling. Therefore we discover we’ve got the blog owner to thank for that. The main explanations you have made, the simple blog menu, the relationships you make it easier to promote – it’s many awesome, and it is assisting our son in addition to us do think that matter is pleasurable, which is wonderfully vital. Many thanks for the whole thing!

    回复 2019年10月12日
  7. kyrie 5 shoes

    I together with my friends were found to be going through the good guidelines from your web blog then immediately came up with a terrible feeling I never expressed respect to the website owner for those secrets. These guys came as a result passionate to learn them and now have truly been taking advantage of those things. I appreciate you for getting really considerate and for pick out these kinds of fabulous information millions of individuals are really desirous to learn about. My very own honest apologies for not expressing appreciation to earlier.

    回复 2019年10月11日
  8. converse outlet

    I want to express my gratitude for your kind-heartedness in support of men and women who absolutely need help with that concept. Your personal dedication to getting the solution across became remarkably interesting and has specifically allowed guys and women much like me to reach their pursuits. The interesting tips and hints implies a whole lot to me and extremely more to my colleagues. Regards; from each one of us.

    回复 2019年10月10日
  9. yeezy boost 350

    Thank you a lot for giving everyone an extremely nice possiblity to discover important secrets from this website. It can be very fantastic and as well , full of a good time for me and my office colleagues to search your website at the very least three times a week to read through the new items you have. And definitely, I’m so always amazed concerning the astonishing things served by you. Certain 1 points in this posting are undeniably the finest we have ever had.

    回复 2019年10月9日
  10. birkin bag

    Thank you so much for giving everyone an exceptionally splendid possiblity to read articles and blog posts from this site. It’s always so beneficial and jam-packed with a good time for me personally and my office acquaintances to visit your site more than three times per week to see the newest stuff you will have. And definitely, I am just certainly amazed considering the superb tactics you serve. Some two facts in this article are rather the most suitable I have had.

    回复 2019年10月8日
  11. fila shoes

    I am glad for commenting to make you know of the superb discovery our child developed using your site. She came to find plenty of details, not to mention what it’s like to have an awesome helping mindset to have many more without difficulty have an understanding of certain impossible issues. You actually did more than people’s expectations. Thanks for producing these precious, healthy, revealing as well as unique tips on that topic to Lizeth.

    回复 2019年10月7日