近期,公司推行正版化,本人使用的是 JetBrains 教育版,是不允许进行商业开发的,因此开启了艰难的备用 IDE 选型之路。最终,我选定了轻量级的 Visual Studio Code(以下简称 VS Code)。
各种 IDE 选型比较的过程就不赘述了,Eclipse、NetBeans、Srping Tools Suite 等等,只能说青菜萝卜各有所爱。
插件淘沙
众所周知,VS Code 是一款轻量级的通用编辑器,和 Eclipse 一样全靠海量的插件扩展,网上各类插件推荐文章又都是面向 VS Code 的最大 IDE 用户群 - 前端开发人员的。
无奈之下只能逐一试验,又开始了一轮插件淘沙的过程,最终筛选出几十款插件,详见
https://github.com/larva-zhang/vscode-java-dev-tools-pack/blob/master/README.md
定制 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? Yes
Error code
Command 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/.gitattributes
Your 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 instructions
on 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 的官方文档:
https://code.visualstudio.com/api/references/extension-manifest
也可以参考我的 vscode-java-dev-tools-pack/package.json,这是一个比较完整的 Demo。
https://github.com/larva-zhang/vscode-java-dev-tools-pack/blob/master/package.json
package & publish
微软关于插件打包发布可以参考文档:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension
微软提供了 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 创建,比较直观。
https://marketplace.visualstudio.com/manage
也可以通过 vsce 命令行创建,详见:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension#create-a-publisher
有了 publisher 后就能进行 publish 了,还是在 management page 页面,通过上传.vsix 文件的方式即可,当 vs code 校验通过后就会发布到 Visual Studio Code Marketplace。
publish 同样可以通过 vsce 命令行进行,详见:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension#log-in-to-a-publisher
总结
插件安装完成后还是需要逐一去配置调试的,这个没法自动化,毕竟各人喜好不同,不过大多数插件都是开箱即用的。
作为开源的轻量级通用编辑器,VS Code 的 Java 开发体验确实不如 JetBrains,但和 Eclipse 一样胜在开源免费,所以还是可堪一用的。
题外话
在此疾速成长的科技元年,编程就像是许多人通往无限可能世界的门票。而在编程语言的明星阵容中,Python就像是那位独领风 骚的超级巨星, 以其简洁易懂的语法和强大的功能,脱颖而出,成为全球最炙手可热的编程语言之一。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
如果你对Python感兴趣,想要学习pyhton,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
学习资源推荐
除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。
这里给大家展示一下我进的兼职群和最近接单的截图
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取,也可以内推兼职群哦~
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
### 1.Python学习路线
2.Python基础学习
01.开发工具
02.学习笔记
03.学习视频
3.Python小白必备手册
4.数据分析全套资源
5.Python面试集锦
01.面试资料
02.简历模板
因篇幅有限,仅展示部分资料,添加上方即可获取👆
------ 🙇♂️ 本文转自网络,如有侵权,请联系删除 🙇♂️ ------