近期,公司推行正版化,本人使用的是 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的朋友有帮助!
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓