Intellij. 插件

基于Intellij的IDES主题

基于Intellij的IDES主题

Intellij灯和Darcula是默认在基于IntelliJ的IDE中提供的众所周知的UI主题。有些用户喜欢坚持采用预选的明亮界面,而其他用户则更喜欢浅色暗色方案.然而,许多开发人员喜欢通过从内部提供的各种主题中选择各种主题来表达他们的个性主题类别在Jetbrains市场。我们选择某些主题的原因是我们每个人的习惯,欣赏漂亮的东西,颜色视觉缺陷,更适合聚焦,或其他人的习惯。

Jetbrains Marketplace - 主题类别

UI主题插件只是IntelliJ的IDES众多类型的插件之一,即2019.1发布周期中可用。

UI主题的作者可以在IDE中引入各种内置UI元素的变化:

  • 用图标
  • 更改图标和UI控件的颜色
  • 提供自定义编辑器方案
  • 添加背景图像

最受欢迎的主题提供界面更改,更高级的机制,可让您自己配置一些插件行为,引入其他操作,或者在将新功能带入IDE的主题中实现各种扩展点。

IntelliJ IDEA与主题应用

创建UI主题

为Intellij的IDE创建插件和主题需要在潜入实际开发之前进行一些准备。有两种方法可以设置这样的项目。

第一种方法依赖于项目向导,并在IntelliJ SDK文档中详细解释了使用devkit主题向导创建UI主题页。

生成的脚手架是基于Devkit方法的简单结构,应该仅用于简单的插件。您可以找到一个示例项目IntelliJ SDK文档代码样本github存储库。

虚拟项目项目

对于更复杂的插件,我们建议创建一个Gradle-based项目.正如我们不断提高基于Intellij的IDES的插件开发经验,也可以使用该项目开始使用新项目Intellij平台插件模板.该模板提供了Gradle扩展和GitHub Actions的管理配置,如依赖管理、更新日志支持和预配置的持续集成/持续部署(CI/CD)设置。

在这两种情况下,插件项目的最重要文件是plugin.xml.文件,必须包含athemeProvider扩展点定义:

  org.jetbranse.plugins.mytheme  我的主题 <供应商> Jetbrains  <依赖> com.intellij.modules.platform <扩展defaule1autionsns =“com.intellij”>   

plugin.xml.和其他UI自定义文件 -我。犹太逊my.xml.- 放在了/ src / main /资源目录以及您计划提供的任何图像或图标。

主题插件项目脚手架

themeProvider是指我。犹太逊JSON文件包含一个修改背景颜色的实际主题定义,并在IDE的右下角设置一个整洁的图像。

{“姓名”:“我的主题”,“黑暗”:true,“作者”:“jetbrains”,“编辑”:“/themes/my.xml”,“颜色”:{“colorprimary”:“#3b3531”,“foluiceecondary”:“#342e2b”},“ui”:{“*”:{“背景”:“ColorPrimary”,“Separimary”:“ColorPrimary”,“BorderColor”:“BorderColor”:“ColoredEcondary”}}“背景”:{“图像”:“/background.png”,“透明度”:50,“填充”:“平原”,“锚”:“bottom_right”}

编辑博物馆关键是指my.xml.负责调整编辑器中可见的内容颜色的文件,如图集行颜色,前景和背景颜色,以及排水沟段背景。

      

这个简单的示例主题已经给出了一个有趣的结果——而这仅仅是开始!

intellij想法用“我的主题”应用

探索定制可能性

在使用IDE自定义时,了解您可以覆盖的内容以及在哪里搜索调整接口的可能性是至关重要的。因此,我们提供多种选项,以帮助探索IDE的内部工作。

查找UI控件的属性键

最直接的可能性是由Intellij主题JSON文件的架构映射提供的自动完成。要尝试一下,打开你的* .theme.json.文件,将插入符放在适当的上下文中,然后按Ctrl +空间快捷方式 - 将出现可用键或值列表。

查找UI控件的属性键

UI检查员

UI检查器是一个强大的工具,用于调查基于intellij的IDE UI元素,以获得每个元素的内部描述。此外,用户界面元素可以交互测试Ctrl + Alt +点击在元素上(⌘+⌥+点击在Mac)。检查我们UI检查员“文档”页面要了解如何启用它,并准确地实现它所可以帮助您。

UI检查员

外观和感到默认值

Look and Feel (LaF) Defaults窗口为UI控件提供了一个键值对查找。使用这个工具,您可以过滤掉IDE中定义的UI元素的所有可用默认值,或者交互式地为您的组件创建原型。你可以找到更多关于LAF默认值Intricij SDK文档中的UI工具。

外观和感到默认值

IntelliJ Platform Explorer.

提供UI主题的每个插件都应该实现themeProvider扩展点.使用IntelliJ Platform Explorer.基于Web的工具,您可以在开源Intellij平台插件中浏览现有的实现。您可以直接进入工具并开始探索代码,或者在我们的情况下阅读更多信息博客文章

IntelliJ Platform Explorer.

IntelliJ SDK文档

IntelliJ SDK文档,特别是自定义UI主题章节,是我们不断完善的知识库,为插件开发人员提供最有价值的学习资料来源。为了进一步提高它的价值,我们鼓励您提供反馈信息在特定的文档部分,如果你有任何疑问或误解。

获得帮助

每个人有时会被困住!有关帮助与插件开发或文档相关的问题,请访问获得帮助部分或使用以下支持渠道之一与我们联系:

发布主题插件

与他人共享您的插件是一个令人兴奋的步骤,使您的努力工作。你可以用几种方式做到这一点。

对于基于GRADELE的项目,建筑和出版是一个直接的过程,落后于跑步buildplugin.Publishplugin.Gradle任务。首先,检查使用Gradle发布插件文章并准备包含您的代码的ZIP工件在Jetbrains Marketplace上发布,或者只是与您的朋友分享。

如果您使用的是IntelliJ平台插件模板,则部署和发布步骤将使用GitHub操作自动化。检查与插件相关的项目文档持续集成设置。

基于Devkit的项目需要IntelliJ SDK文档中描述的一些手动步骤部署出版文章。

市场营销

JetBrains Marketplace使用插件作者提供的所有信息来帮助在搜索引擎和插件列表中发现它。将插件上载到JetBrains Marketplace时,它可以提供超过1000多万码码产品用户。因此,必须提供高质量的内容,如表现性名称,插件图标,有意义的描述和屏幕截图。这将吸引并参与用户,这将导致更高的下载。我们收集了一套文章来帮助您正确准备您的插件创建您的市场上市市场文档页面。

销售主题插件

由于创建此类项目所需的努力,一些供应商已抓住机会通过销售插件和UI主题来产生收入码头市场在全额支付或屡收入的模型中。在里面市场支付插件文档部分,您将找到有关Jetbrains市场,定价模型,付款处理,技术信息如何实施付费或屡泡名插件许可的所有细节,以及更多。

结论

为IntelliJ的IDE创建UI主题插件是一个主要依赖于您的美学和想象力的过程 - Intellij SDK缺乏了解不应该是一块障碍。但是,我们想鼓励您更深入地扩展我们的IDE的功能。谁知道,也许它会帮助我们许多人在我们的日常工作中!

如果你有一个想法,但没有足够的时间发展它,或者如果你只是寻找一些灵感,请查看插件想法

如果你在任何时候被卡住,请随时使用它与我们联系Intellij Idea Open API和插件开发论坛Jetbrains平台松弛

要保持关于Intellij平台和Jetbrains Marketplace的最新版本,请在Twitter上关注我们!

Jakub Chrzanowski.码头平台