近期,公司推行正版化,本人使用的是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一样胜在开源免费,所以还是可堪一用的。

厉害,竟然把VSCode玩成了IDEA的效果,有点哇塞相关推荐

  1. 竟然有人把VSCode玩成了IDEA的效果,有点东西

    近期,公司推行正版化,本人使用的是JetBrains教育版,是不允许进行商业开发的,因此开启了艰难的备用IDE选型之路.最终,我选定了轻量级的Visual Studio Code(以下简称VS Cod ...

  2. 1分钟将vscode撸成小霸王

    1分钟将vscode撸成小霸王 今天给大家分享一下自己最近撸的一款vscode游戏插件,基于vscode的休闲放松利器. 前言 本文转载 原文:https://juejin.im/post/68825 ...

  3. vscode设置成中文完整步骤

    vscode支持非常多的文件格式,不够vscode默认的语言是英文,那么怎样把vscode设置成中文的呢? 步骤: 1.打开vscode,按键盘上的快捷键Ctrl+shift+p或者F1键,打开搜索框 ...

  4. android 修改充电图标,更换图标、修改充电音...这个软件把iPhone玩成了安卓

    原标题:更换图标.修改充电音...这个软件把iPhone玩成了安卓 TASTER科技|快捷指令 9月17日,苹果推送IOS 14正式版,在无数用户升级到IOS 14之后,iPhone充电提示音火了! ...

  5. # linux mini版 玩成DVD版(哈哈哈哈)

    linux mini版 玩成了DVD版 文章目录 linux mini版 玩成了DVD版 Less查看文件: 停止ping命令:按CTRL+c或CTRL+z 查看现在所在的文件路径的地址 pwd 查找 ...

  6. 将VSCode设置成中文语言环境

    VSCode默认是英文语言环境,这对于像我这种英语比较菜的人来说不是那么友好 另外也习惯了用中文,所以接下来介绍下如何将VSCode设置成中文语言环境. 1.打开VSCode软件,按快捷键[Ctrl+ ...

  7. Photoshop把漂亮湖景照片调成唯美雪景效果

    Photoshop把漂亮湖景照片调成唯美雪景效果 感兴趣的小伙伴可加群:741090028,暗号:小螺号 常看到有高手用改过的相机或者用红外线滤镜长曝出超梦幻雪景,感觉就像是进入了另一个世界,太美了. ...

  8. PS将视频头像转成古典手绘效果

    PS将视频头像转成古典手绘效果 http://www.cyhd.net/appdesign/2009/0519/article_1683.html

  9. vscode 分支列表刷新_分钟将vscode撸成小霸王

    前言 今天给大家分享一下自己最近撸的一款vscode游戏插件,基于vscode的休闲放松利器. 前言 开始会先介绍该插件的安装使用方式,然后简单介绍下主要的开发步骤. 安装&运行 安装和其他的 ...

最新文章

  1. OSPF-网络类型(ip ospf network ?)
  2. Python 中 Iterator和Iterable的区别
  3. springmvc的异步处理
  4. Android 插件化原理解析——Activity生命周期管理
  5. 【spring boot】【spring cloud】异常:找不到方法HikariDataSource.getMetricsTrackerFactory()
  6. python中__init__.py的作用、module和package
  7. 香港2013迷你制汇节即将启幕
  8. 12.4scrum report
  9. 整个csdn网站处于不死不活的状态
  10. matlab迭代xyz到blh,基于matlab的坐标转换精编.doc
  11. 未能加载文件或程序集 CrystalDecisions.Web Version=10.2.3600解决方法
  12. 问题六十一:三次b样条(b-spline)曲线的控制点和曲线形状的对应——以回旋体的“基本曲线”为例
  13. func服务器报警显示C,serve_func.c
  14. C# ComBox 垂直滚动条
  15. Ubuntu 16.04重启Nautilus
  16. 子空间方法——MUSIC算法
  17. UIUC云计算概念(chord)
  18. 让你的编程不再乏味:「陪伴姬」来了!
  19. java相关优秀博文收藏
  20. gitlab服务: kex_exchange_identification: Connection closed by remote host

热门文章

  1. 设计必备,5个免费图标资源网站
  2. 沟通管理--关于信息的有效传递和维护
  3. 图片添加水印及打印文件
  4. ppt插入html,如何在PPT中嵌入网页?
  5. VR看房:全景图和移动切换的实现
  6. 如何实现 Linux + Windows 双系统启动
  7. 河北工业职业技术学院计算机怎样,河北工业职业技术学院宿舍怎么样 住宿条件好不好...
  8. Win10更新后,无音量,显示未安装任何音频设备,解决方法,2021-9-15
  9. Sipeed MaixSense:Allwinner R329 (一)官方Debian系统--AIPU的基本使用--图像识别
  10. 文字识别——检测部分 CTPN论文翻译