当前位置:网站首页>有点东西,竟然把VSCode玩成了IDEA的效果
有点东西,竟然把VSCode玩成了IDEA的效果
2022-07-16 17:52:00 【chenzixia】

近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路。最终,我选定了轻量级的Visual Studio Code(以下简称VS Code)。
各种IDE选型比较的过程就不赘述了,Eclipse、NetBeans、Srping Tools Suite等等,只能说青菜萝卜各有所爱。
插件淘沙
众所周知,VS Code是一款轻量级的通用编辑器,和Eclipse一样全靠海量的插件扩展,网上各类插件推荐文章又都是面向VS Code的最大IDE用户群-前端开发人员的。
无奈之下只能逐一试验,又开始了一轮插件淘沙的过程,最终筛选出几十款插件
定制Extension Pack
插件是筛选出来了,但是几十款插件总不能每次都一个一个去点击安装吧,而且也难以维护。
幸而VS Code自身提供了一种叫Extension Pack的插件,这种插件的目的就是为了汇集一批插件到一起而设计的,安装了一个Extension Pack就会自动安装Pack内的全部插件。
VS Code提供了一套nodejs工具用于辅助开发者创建扩展,同时官方文档中提供了简单明了的文档说明以及丰富的samples,samples包括Command、Color Theme、Tree View等等,本文仅做Extension Pack的示例。
环境准备
环境依赖 nodejs 以及 Git,以MacOS为例,通过Homebrew安装:
brew install node git然后通过 npm 安装Yeoman和VS Code Extension Generator:
npm install -g yo generator-code工程初始化
调用Yeoman生成新的Extension Pack
$ yo code _-----_ ╭──────────────────────────╮ | | │ Welcome to the Visual │ |--(o)--| │ Studio Code Extension │ `---------´ │ generator! │ ( _´U`_ ) ╰──────────────────────────╯ /___A___\ / | ~ | __'.___.'__ ´ ` |° ´ Y `? What type of extension do you want to create? New Extension (TypeScript) New Extension (JavaScript) New Color Theme New Language Support New Code Snippets New Keymap* New Extension Pack New Language Pack (Localization)回车后会提问是否要将当前已安装的扩展安装到新的Extension Pack中,选择Yes会报错
? What type of extension do you want to create? New Extension Pack? Add the currently installed extensions to the extension pack? YesError codeCommand failed: code --list-extensions/bin/sh: code: command not found这是因为我的VS Code并不是通过命令行安装的,如果要使用code命令就需要通过命令行安装VS Code,然后重新执行yo code。
MacOS上通过Homebrew安装vs code:
brew cask install visual-studio-code
当然也可以选择不自动安装已有扩展,同样可以顺利进行后面的配置。
? What type of extension do you want to create? New Extension Pack? Add the currently installed extensions to the extension pack? No? What's the name of your extension? vscode-java-dev-tools-pack? What's the identifier of your extension? vscode-java-dev-tools-pack? What's the description of your extension? Some Java develop support tools extension pack.? Initialize a git repository? Yes create vscode-java-dev-tools-pack/.vscode/launch.json create vscode-java-dev-tools-pack/package.json create vscode-java-dev-tools-pack/vsc-extension-quickstart.md create vscode-java-dev-tools-pack/README.md create vscode-java-dev-tools-pack/CHANGELOG.md create vscode-java-dev-tools-pack/.vscodeignore create vscode-java-dev-tools-pack/.gitignore create vscode-java-dev-tools-pack/.gitattributesYour extension vscode-java-dev-tools-pack has been created!To start editing with Visual Studio Code, use the following commands: cd vscode-java-dev-tools-pack code .Open vsc-extension-quickstart.md inside the new extension for further instructionson how to modify, test and publish your extension.For more information, also visit http://code.visualstudio.com and follow us @code.通过Yeoman工具,我们配置了name、identifier、description,并且工具自动生成了一个本地git仓库,工程目录结构如下:
$ tree -a -L 1.├── .git├── .gitattributes├── .gitignore├── .vscode├── .vscodeignore├── CHANGELOG.md├── README.md├── package.json└── vsc-extension-quickstart.md- CHANGELOG.md 发布变更记录,在Visutal Studio Code Marketplace的详情页中有该文件的链接。
- README.md 在Visutal Studio Code Marketplace的扩展详情,作用类似GitHub Page。
- package.json 扩展的 manifest文件,定义了扩展的相关属性。
- vsc-extension-quickstart.md 针对生成的工程中文件的简易说明文档。
package.json
作为Extension Pack类型的VS Code 扩展来说,只需要维护package.json就行,package.json中的各项字段可以参考VS Code的官方文档Extension Manifest。
package & publish
微软关于插件打包发布可以参考文档Publishing Extensions。
微软提供了vsce这款命令行工具方便开发者进行打包和发布:
npm install -g vsce安装完成后,cd到工程目录下,进行打包生成.vsix文件
$ vsce package DONE Packaged: /Users/larva-zhang/vscode-java-dev-tools-pack/vscode-java-dev-tools-pack-0.0.1.vsix (7 files, 16.7KB)注意版本号,是根据package.json文件中的version来生成的,version必须是major.minor.stage的格式
package成功后,需要去vs code创建一个publisher,推荐通过浏览器访问management page创建,比较直观。
也可以通过vsce命令行创建,详见Create a publisher
有了publisher后就能进行publish了,还是在management page页面,通过上传.vsix文件的方式即可,当vs code校验通过后就会发布到Visual Studio Code Marketplace。
publish同样可以通过vsce命令行进行,详见Log in to a publisher
总结
插件安装完成后还是需要逐一去配置调试的,这个没法自动化,毕竟各人喜好不同,不过大多数插件都是开箱即用的。
作为开源的轻量级通用编辑器,VS Code的Java开发体验确实不如JetBrains,但和Eclipse一样胜在开源免费,所以还是可堪一用的。
边栏推荐
- 第一个大规模中文视频多模态相似度数据集
- 创始人与合伙人股权构架设计
- 1.爬虫概述
- 【uniapp-checkbox】修改uniapp-checkbox复选框的样式
- 2. Markdown instructions
- wallys/QCA9880/ WiFi 5 (802.11ac) mini PCIe cards deliver higher Tx power and performance (Sponsored
- Network disk + download method of the first nuscenes dataset in the whole network
- (manual) [sqli-labs50-53] order by injection
- Eureka Series : High-Speed Web Download Client
- Codeforces Round #806 (Div. 4)(A.B.C.D.E.F)
猜你喜欢

Unity-2D像素晶格化消融

OSPF理论
![[Xuelang download tutorial] 01 configuration of fiddler for Xuelang Download](/img/0b/f2ccff1084385df29757d03e3cabec.png)
[Xuelang download tutorial] 01 configuration of fiddler for Xuelang Download

How to use modify run configuration on pychart with parameter configuration

【学浪下载教程】02学浪下载之Fiddler学浪插件配置

Tiktok protocol interface, protocol analysis add_ x_ bogus add_ signature

从 0 到 1 搭建企业级数据治理体系!

Codeforces Round #806 (Div. 4)(A.B.C.D.E.F)
![[uniapp checkbox] modify the style of the uniapp checkbox check box](/img/e3/db2711adcf1267ed6b7088fcea7607.png)
[uniapp checkbox] modify the style of the uniapp checkbox check box
![[C language] in depth understanding of conditional compilation](/img/5e/721d35938179ff59c5eb91c9a31794.jpg)
[C language] in depth understanding of conditional compilation
随机推荐
【uniapp调用微信支付】uniapp开发小程序-调用微信支付
First experience of raspberry pie
graph theory
[in depth study of 4g/5g/6g topic -38]: urllc-9 - in depth interpretation of 3GPP urllc related protocols, specifications and technical principles -3-analysis ideas and research methods of urllc Techn
Interface test - verify parameter validity / fault tolerance test
自定义类型详解(c语言)
Feign call delivery request header
Eventbus is used temporarily
动态内存管理(c语言)
单源最短路径
netstat常用场景记录
Alibaba cloud video on demand
How to use Fiddler to capture a Qiyi applet video download
Unity-2d pixel lattice ablation
【学浪下载教程】05学浪下载之正式抓包下载
[AI application] detailed parameters of Intel (R) Xeon (R) silver 4216 CPU @ 2.10GHz
Dalvik virtual machine and art
[C language] in depth understanding of conditional compilation
MySQL 66 questions, 20000 words + 50 pictures in detail! A little six!
[Xuelang download tutorial] 01 configuration of fiddler for Xuelang Download