为安卓开发者建立一个企业级的IntelliJ插件
The Android engineering team at Lyft exclusively uses IntelliJ to develop new Android features (Android Studio is on the horizon, but that’s for another article). The IntelliJ platform offers a powerful SDK that enables developers to build plugins that enrich the IDE’s feature set, and a few years ago the team decided to take advantage of this SDK by building a plugin. There were a few goals in mind:
Lyft的Android工程团队完全使用IntelliJ来开发新的Android功能(Android Studio即将问世,但这是另一篇文章)。IntelliJ平台提供了一个强大的SDK,使开发人员能够建立插件来丰富IDE的功能集,几年前,该团队决定通过建立一个插件来利用这个SDK。当时心里有几个目标。
- Improve developer efficiency — Provide tools to incrementally improve the developer experience.
- 提高开发人员的效率--提供工具,逐步改善开发人员的体验。
- Encourage best practices — Generate templated code that conforms to the team’s best practices.
- 鼓励最佳实践- 生成符合团队最佳实践的模板化代码。
- Improve developer sentiment — Improve the mobile development experience at Lyft.
- 改善开发者的情绪 - 改善Lyft的移动开发体验。
If these goals resonate, continue on! Developing an enterprise-level IntelliJ plugin is easier than one might think. This blog post should have everything required to get started with writing an enterprise-level plugin.
如果这些目标产生了共鸣,就继续吧!开发一个企业级的IntelliJ插件,比人们想象的要容易。这篇博文应该有开始编写企业级插件所需要的一切。
Does the team need an IntelliJ plugin?
团队需要一个IntelliJ插件吗?
Before building a plugin, it is important to evaluate whether or not the team needs one! The following questions would be worthwhile to ask:
在建立一个插件之前,重要的是要评估团队是否需要一个插件!以下问题值得一问。
Are operations performed repeatedly during development?
在开发过程中是否反复进行操作?
Common operations may include generating test files with a specified internal format, implementing common architectural components, etc. If any of these ideas feel familiar, a plugin may be right for the team.
常见的操作可能包括用指定的内部格式生成测试文件,实现常见的架构组件,等等。如果这些想法中的任何一个感觉很熟悉,那么一个插件可能适合这个团队。
Android Rider and Driver line count (in millions) over time
安卓骑手和司机线路数(以百万计)随时间推移而变化
Is the team large enough to benefit from a shared IntelliJ plugin?
团队规模大到足以从共享的IntelliJ插件中获益吗?
Engineering velocity initiatives become more and more important as the size ...