Platform logo

JetBrains Platform

Plugin and extension development for JetBrains products.

IntelliJ Plugins

IntelliJ 기반 IDE의 테마

Themes in IntelliJ-based IDEs

IntelliJ Light 및 Darcula는 IntelliJ 기반 IDE에서 기본 제공되는 잘 알려진 UI 테마입니다. 일부 사용자는 미리 선택된 밝은 인터페이스를 선호하는 반면, 어두운 색 구성표를 선호하는 사용자들도 있습니다. 한편, JetBrains Marketplace의 테마 카테고리에서 제공되는 다양한 테마를 선택하여 자신만의 개성을 드러내고 싶어 하는 개발자도 많습니다. 특정 테마를 선택하려는 이유는 제각기 다릅니다. 오래된 습관, 예쁜 것에 대한 이끌림, 색각 이상, 집중력의 차이 등 다양한 이유가 있을 것입니다.

JetBrains Marketplace – 테마 카테고리

UI 테마 플러그인은 2019.1 릴리스 주기에 제공된 많은 IntelliJ 기반 IDE용 플러그인 중 하나입니다.

UI 테마 작성자는 IDE의 기본 제공 UI 요소에 다양한 변화를 줄 수 있습니다.

  • 아이콘 대체
  • 아이콘 및 UI 컨트롤의 색상 변경
  • 사용자 지정 에디터 구성표 제공
  • 배경 이미지 추가

가장 인기가 많은 테마는 인터페이스 변경과 고급 메커니즘을 제공하여, 사용자가 일부 플러그인 동작을 직접 구성하거나 추가 액션을 삽입하거나 IDE에 새로운 기능을 부가하는 다양한 확장 기능을 구현하도록 합니다.

테마가 적용된 IntelliJ IDEA

UI 테마 만들기

IntelliJ 기반 IDE용 플러그인 및 테마를 만들려면 실제 개발에 들어가기 전에 몇 가지 준비가 필요합니다. 이러한 프로젝트를 준비하는 방법에는 두 가지가 있습니다.

첫 번째 방법은 Project Wizard(프로젝트 마법사)를 사용하는 것으로, Creating a UI Theme with the DevKit Theme Wizard(DevKit 테마 마법사로 UI 테마 만들기) 페이지의 IntelliJ SDK 문서에 자세히 설명되어 있습니다.

생성된 스캐폴드는 DevKit 접근 방식을 기반으로 하는 간단한 구조이며 간단한 플러그인에만 사용해야 합니다. IntelliJ SDK Docs Code Samples(IntelliJ SDK 문서 코드 샘플) GitHub 저장소에서 예시 프로젝트를 찾을 수 있습니다.

DevKit 기반 프로젝트

더 복잡한 플러그인의 경우 Gradle 기반 프로젝트를 만드는 것이 좋습니다. IntelliJ 기반 IDE의 플러그인 개발 환경이 지속적으로 개선되고 있으므로 IntelliJ 플랫폼 플러그인 템플릿을 사용하여 새 프로젝트를 시작할 수도 있습니다. 이 템플릿에서는 종속 요소 관리, 변경 로그 지원, 사전 구성된 CI/CD(지속적 통합/지속적 배포) 설정과 같은 Gradle 확장 기능 및 GitHub 액션의 구성을 선별하여 제공합니다.

두 경우 모두에서 가장 중요한 플러그인 프로젝트 파일은 themeProvider 확장 포인트 정의를 포함해야 하는 plugin.xml입니다.

<idea-plugin>
   <id>org.jetbrains.plugins.mytheme</id>
   <name>My Theme</name>
   <vendor>JetBrains</vendor>

   <depends>com.intellij.modules.platform</depends>

   <extensions defaultExtensionNs="com.intellij">
       <themeProvider id="org.jetbrains.plugins.mytheme" path="my.theme.json" />
   </extensions>
</idea-plugin>

plugin.xml 및 기타 UI 사용자 지정 파일(my.theme.json my.xml)은 제공하려는 이미지 또는 아이콘과 함께 /src/main/resources 디렉터리에 배치됩니다.

테마 플러그인 프로젝트 스캐폴드

themeProvidermy.theme.json JSON 파일을 참조하며, 이 파일에는 배경색을 수정하고 IDE 오른쪽 하단 모서리에 깔끔한 이미지를 배치하는 실제 테마 정의가 포함되어 있습니다.

{
 "name": "My Theme",
 "dark": true,
 "author": "JetBrains",
 "editorScheme": "/themes/my.xml",
 "colors": {
   "colorPrimary": "#3b3531",
   "colorSecondary": "#342e2b"
 },
 "ui": {
   "*": {
     "background": "colorPrimary",
     "separatorColor": "colorPrimary",
     "borderColor": "colorSecondary"
   }
 },

 "background": {
   "image": "/background.png",
   "transparency": 50,
   "fill": "plain",
   "anchor": "bottom_right"
 }

editorScheme 키는 텍스트의 캐럿 행 색상, 전경색 및 배경색, 및 여백 섹션 배경과 같이 에디터에 표시되는 콘텐츠의 색상 조정을 담당하는 my.xml 파일을 참조합니다.

<scheme name="My Theme" version="1" parent_scheme="Darcula">
   <colors>
       <option name="CARET_ROW_COLOR" value="372513" />
       <option name="GUTTER_BACKGROUND" value="372513" />
   </colors>
   <attributes>
       <option name="TEXT">
           <value>
               <option name="FOREGROUND" value="C67E48" />
               <option name="BACKGROUND" value="291918" />
               <option name="EFFECT_TYPE" value="5" />
           </value>
       </option>
   </attributes>
</scheme>

여기 간단하게 예를 든 테마는 이미 흥미로운 결과를 보여주고 있지만 아직 시작에 불과합니다!

‘My Theme’이 적용된 IntelliJ IDEA

맞춤설정이 가능한 위치 찾기

IDE를 사용자 지정하려고 할 때, 무엇을 재정의할 수 있고 인터페이스 조정을 위해 찾아보아야 할 곳은 어디인지 파악해야 합니다. 이를 위해 IDE의 내부 작업을 탐색할 수 있는 여러 옵션을 제공하고 있습니다.

UI 컨트롤의 속성 키 찾기

IntelliJ Theme JSON 파일의 Schema Mapping(스키마 매핑)에서 제공하는 자동 완성을 사용하는 것이 가장 쉽습니다. 직접 사용해 보려면 *.theme.json 파일을 열고 적절한 컨텍스트에 캐럿을 배치한 다음 Ctrl+Space 단축키를 누르세요. 사용 가능한 키 또는 값 목록이 나타납니다.

UI 컨트롤의 속성 키 찾기

UI Inspector

UI Inspector는 IntelliJ 기반 IDE UI 요소를 조사하여 각 요소가 내부적으로 어떤 역할을 하는지 알아볼 수 있는 강력한 도구입니다. 또한 UI 요소에서 Ctrl+Alt+Click(Mac의 경우 ⌘+⌥+Click)을 사용해 해당 요소를 대화식으로 테스트할 수 있습니다. UI Inspector 문서 페이지에서 이 기능을 활성화하는 방법과 정확히 어떤 도움을 주는지 알아보세요.

UI Inspector

룩앤필 디폴트값

LaF(룩앤필) 디폴트값 창에서는 UI 컨트롤에 대한 키-값 쌍 조회를 제공합니다. 이 도구를 사용하면 IDE 내에 정의된 UI 요소에 사용 가능한 모든 디폴트 값을 필터링하거나 대화형으로 구성 요소의 프로토타입을 만들 수 있습니다. IntelliJ SDK 문서에서 LaF Defaults UI 도구에 대해 자세히 알아볼 수 있습니다.

룩앤필 디폴트 값

IntelliJ 플랫폼 탐색기

UI 테마를 제공하는 각 플러그인은 themeProvider 확장점을 구현해야 합니다. IntelliJ 플랫폼 탐색기 웹 기반 도구를 사용하여 오픈 소스 IntelliJ 플랫폼 플러그인에서 기존 구현 내용을 탐색할 수 있습니다. 도구로 바로 이동하여 코드 탐색을 시작하거나 블로그 게시물에서 자세한 내용을 읽어 보세요.

IntelliJ 플랫폼 탐색기

IntelliJ SDK 문서

IntelliJ SDK 문서, 특히 사용자 정의 UI 테마 섹션은 플러그인 개발자에게 가장 가치 있는 학습 자료를 제공하기 위해 지속적으로 개선이 이루어지고 있는 지식 베이스입니다. 더욱 가치 있는 소스가 될 수 있도록 알 수 없거나 이해하기 어려운 점이 있다면, 해당 문서 섹션에 대해 피드백을 남겨 주세요.

도움이 필요한 경우

누구나 가끔씩 문제에 봉착합니다! 플러그인 개발 또는 문서와 관련된 문제 해결에 도움이 필요하다면 Getting Help 섹션을 방문하거나 다음의 지원 채널을 통해 저희에게 문의해 주세요.

테마 플러그인 공개

플러그인을 다른 사람들과 공유하는 것은 그 동안 들였던 노력이 인정을 받는 짜릿한 경험입니다. 플러그인을 공개하는 방법은 몇 가지가 있습니다.

Gradle 기반 프로젝트의 경우, buildPluginpublishPlugin Gradle 작업을 실행하기만 하면 간단하게 빌드와 게시가 가능합니다. 먼저 Publishing Plugins with Gradle 문서를 확인하고 JetBrains Marketplace에 게시하거나 친구에게 공유하기 위한 코드가 포함된 ZIP 아티팩트를 준비하세요.

IntelliJ Platform Plugin Template을 사용하는 경우 배포 및 게시 단계는 GitHub 작업으로 자동화됩니다. 플러그인의 지속적 통합 설정과 관련된 프로젝트 문서를 확인하세요.

DevKit 기반 프로젝트에는 일부 수작업이 필요한데, IntelliJ SDK 문서의 DeployingPublishing 자료에 관련 내용이 설명되어 있습니다.

마케팅

JetBrains Marketplace는 플러그인 작성자가 제공한 모든 정보를 검색 엔진과 플러그인 목록에서 찾을 수 있도록 해 줍니다. JetBrains Marketplace에 플러그인을 업로드하면 천만 명이 넘는 JetBrains 제품 사용자들이 사용할 수 있게 됩니다. 따라서 관심을 끄는 멋진 이름, 플러그인 아이콘, 의미 있는 설명, 스크린샷 등 고품질 콘텐츠를 제공하는 것이 필수적입니다. 그러면 사용자를 끌어들이고 사용을 유도하여 다운로드 수가 더 늘어납니다. Create Your Marketplace Listing Marketplace 문서 페이지에서 게시할 플러그인을 준비하는 데 도움이 되는 여러 자료를 확인하실 수 있습니다.

테마 플러그인 판매

이러한 프로젝트를 만드는 데 노력이 들어가는 만큼, 일부 공급업체는 JetBrains Marketplace에서 전액 유료 또는 freemium 모델로 플러그인 및 UI 테마를 판매하여 수익을 창출하기 위한 기회를 찾고 있습니다. Marketplace Paid Plugins 문서 섹션에서는 JetBrains Marketplace의 이점, 가격 책정 모델, 결제 처리, 유료 또는 freemium 플러그인에 대한 라이선스 체결 방법에 대한 기술 정보 등 관련된 자세한 내용을 찾을 수 있습니다.

결론

IntelliJ 기반 IDE용 UI 테마 플러그인을 만드는 일은 주로 미적 감각과 상상력이 요구되는 과정입니다. IntelliJ SDK에 대한 지식 부족이 장애물이 되어서는 안 됩니다. 하지만 IDE의 기능에 대해 좀 더 알아보기 위한 노력을 기울여 보시기를 권장합니다. 일상적 생활에서 많은 사람들에게 도움을 주게 될 수도 있으니까요!

아이디어는 있지만 개발할 시간이 부족하거나 영감이 필요하다면 Plugin Ideas(플러그인 아이디어)를 확인하세요!

중간에 문제가 생기면 IntelliJ IDEA Open API 및 플러그인 개발 포럼 또는 JetBrains 플랫폼 Slack을 통해 언제든지 문의하세요.

IntelliJ 플랫폼 및 JetBrains Marketplace에 대한 최신 정보를 얻으려면 Twitter에서 팔로우하세요!

Jakub Chrzanowski & JetBrains Platform

게시물 원문 작성자

image description
IntelliJ Plugins

IntelliJ ベース IDE のテーマ

Themes in IntelliJ-based IDEs

IntelliJ Light と Darcula は、IntelliJ ベース IDE にデフォルトで提供されている有名な UI テーマです。 あらかじめ設定されている明るいインターフェースをそのまま使用するユーザーもいますが、ダークモードの配色を好むユーザーもいます。 一方で、JetBrains Marketplace の Themes カテゴリで提供されている豊富なテーマの中から自身の個性を表すものを選択したいと考えている開発者も多いのではないでしょうか。 ある特定のテーマを選択する動機は人によってさまざまです。例えば、昔からの習慣である、美しいものを鑑賞したい、色覚に問題がある、集中力をアップしたい、などが挙げられます。

JetBrains Marketplace – Themes カテゴリ

UI テーマプラグインは、2019.1 のリリースサイクルで使用できるようになった多種多様な IntelliJ ベース IDE 向けプラグインの 1 つに過ぎません。

UI テーマの作者は、IDE 組み込みの UI 要素に次のようなさまざまな変更を導入できます。

  • アイコンの入れ替え
  • アイコンと UI コントロールの色の変更
  • カスタムエディタースキームの提供
  • 背景画像の追加

最も人気のあるテーマはインターフェースの変更を行うだけでなく、プラグイン動作の構成、アクションの追加、IDE に新しい機能を導入する各種拡張ポイントの実装に対応したより高度な仕組みを提供しています。

テーマを適用した IntelliJ IDEA

UI テーマの作成

IntelliJ ベース IDE 向けのプラグインとテーマを作成するには、実際の開発に着手する前にいくつかの準備が必要です。 このようなプロジェクトのセットアップ方法は 2 つあります。

最初の方法はプロジェクトウィザードを使用する方法で、IntelliJ SDK ドキュメントの Creating a UI Theme with the DevKit Theme Wizard ページで詳細に説明されています。

生成されるスキャフォールドは DevKit のアプローチに基づく単純な構造であるため、単純なプラグインにのみ使用することをお勧めします。 サンプルプロジェクトは、GitHub の IntelliJ SDK Docs Code Samples リポジトリにあります。

DevKit ベースのプロジェクト

より複雑なプラグインの場合は、Gradle ベースのプロジェクトを作成することをお勧めします。 IntelliJ ベース IDE のプラグイン開発エクスペリエンスは継続的に改善されているため、IntelliJ Platform Plugin Template を使って新規プロジェクトを開始することも可能です。 このテンプレートには、依存関係管理、変更ログサポート、事前構成済みの継続的インテグレーション/継続的デプロイ(CI/CD)セットアップなど、Gradle 拡張機能と GitHub アクションの構成がまとめられています。

いずれの場合も、プラグインプロジェクトで最も重要なファイルは plugin.xml ファイルです。このファイルには、themeProvider 拡張ポイントが含まれている必要があります。

<idea-plugin>
   <id>org.jetbrains.plugins.mytheme</id>
   <name>My Theme</name>
   <vendor>JetBrains</vendor>

   <depends>com.intellij.modules.platform</depends>

   <extensions defaultExtensionNs="com.intellij">
       <themeProvider id="org.jetbrains.plugins.mytheme" path="my.theme.json" />
   </extensions>
</idea-plugin>

plugin.xml およびその他の UI カスタマイズファイル(my.theme.json および my.xml)は、提供対象の画像またはアイコンとともに、/src/main/resources ディレクトリに配置されます。

テーマプラグインプロジェクトのスキャフォールド

themeProvidermy.theme.json JSON ファイルを参照しています。このファイルには、背景色を変更し、IDE の右下に小さな画像を設定する実際のテーマ定義が含まれています。

{
 "name": "My Theme",
 "dark": true,
 "author": "JetBrains",
 "editorScheme": "/themes/my.xml",
 "colors": {
   "colorPrimary": "#3b3531",
   "colorSecondary": "#342e2b"
 },
 "ui": {
   "*": {
     "background": "colorPrimary",
     "separatorColor": "colorPrimary",
     "borderColor": "colorSecondary"
   }
 },

 "background": {
   "image": "/background.png",
   "transparency": 50,
   "fill": "plain",
   "anchor": "bottom_right"
 }

editorScheme キーは my.xml ファイルを参照しています。このファイルは、キャレット行の色、テキストの前景色と背景色、ガターセクションの背景など、エディター内の表示コンテンツの色を調整する役目を担っています。

<scheme name="My Theme" version="1" parent_scheme="Darcula">
   <colors>
       <option name="CARET_ROW_COLOR" value="372513" />
       <option name="GUTTER_BACKGROUND" value="372513" />
   </colors>
   <attributes>
       <option name="TEXT">
           <value>
               <option name="FOREGROUND" value="C67E48" />
               <option name="BACKGROUND" value="291918" />
               <option name="EFFECT_TYPE" value="5" />
           </value>
       </option>
   </attributes>
</scheme>

この単純なサンプルテーマだけでも魅力的ですが、これはごく初歩的なものに過ぎません!

「My Theme」を適用した IntelliJ IDEA

カスタマイズ可能な場所を探す

IDE をカスタマイズする際は、オーバーライド可能なものやインターフェースを調整可能な場所を探す方法を理解しておくことが重要です。 そのため、IDE の内部動作を探るためのオプションをいくつか用意しています。

UI コントロールの属性キーを探す

IntelliJ Theme JSON ファイルのスキーママッピングが提供する自動補完を使用するのが最も手軽です。 この自動補完を試すには、*.theme.json ファイルを開いて適切なコンテキストにキャレットを置き、Ctrl+Space ショートカットを押します。すると、使用可能なキーまたは値のリストが表示されます。

UI コントロールの属性キーを探す

UI インスペクター

UI インスペクターは、IntelliJ ベース IDE の UI 要素を調べて各要素の内部詳細情報を取得できる強力なツールです。 また、UI 要素を Ctrl+Alt クリック(Mac では ⌘+⌥ クリック)すると、その要素を対話的にテストできます。 UI インスペクターの有効化方法と機能の詳細については、UI インペクターのドキュメントを参照してください。

UI インスペクター

ルックアンドフィールのデフォルト値

ルックアンドフィール(LaF)のデフォルト値ウィンドウでは、UI コントロールのキーと値のペアを参照できます。 このツールを使用すると、IDE 内に定義されている UI 要素に使用可能なすべてのデフォルト値を絞り込むか、コンポーネントを対話的に試作できます。 LaF デフォルト設定 UI ツールの詳細については、IntelliJ SDK ドキュメントを参照してください。

ルックアンドフィールのデフォルト値

IntelliJ プラットフォームエクスプローラー

UI テーマを提供するすべてのプラグインは、themeProvider 拡張ポイントを実装する必要があります。 Web ベースの IntelliJ プラットフォームエクスプローラーツールを使用すると、オープンソースの IntelliJ プラットフォームプラグインに存在する実装を閲覧できます。 直接ツールに移動してコードを調査し始めるか、ブログ記事で詳細をお読みください。

IntelliJ プラットフォームエクスプローラー

IntelliJ SDK ドキュメント

IntelliJ SDK ドキュメントはプラグイン開発者にとって最も価値のある教材を提供するナレッジベースで、Custom UI Themes のセクションを中心に継続的な改善が行われています。 その価値をさらに高められるよう、不明な点や理解しにくい点がある場合には、具体的なドキュメントのセクションにフィードバックを送信することをお勧めします。

支援が必要な場合

誰でも困ることはあります! プラグイン開発やドキュメントに関する問題で支援を受けるには、Getting Help セクションにアクセスするか、次のいずれかのサポートチャンネルを使ってご連絡ください。

テーマプラグインの公開

プラグインを他のユーザーに共有するのはワクワクします。また、それは大変な作業の最後を飾るステップでもあります。 公開方法は 2 つあります。

Gradle ベースのプロジェクトの場合、buildPlugin および publishPlugin という Gradle タスクを実行するだけで簡単にビルドと公開を行えます。 まずは、「Publishing Plugins with Gradle」という記事に目を通し、JetBrains Marketplace に公開、または友人にのみ共有するためのコードを含む ZIP アーティファクトを準備します。

IntelliJ Platform Plugin Template を使用している場合、デプロイと公開のステップは GitHub Actions で自動化されています。 プラグインの継続的インテグレーションのセットアップに関するプロジェクトドキュメントを参照してください。

DevKit を使用したプロジェクトの場合は、手動対応が必要なステップがあります。詳細は IntelliJ SDK ドキュメントの DeployingPublishing の記事に掲載しています。

マーケティング

JetBrains Marketplace ではプラグイン作者から提供されるすべての情報を使用し、検索エンジンやプラグインリストでプラグインを発見できるようにしています。 JetBrains Marketplace にプラグインをアップロードすると、1000 万人を超える JetBrains 製品ユーザーが入手できるようになります。 そのため、意味が分かりやすい名前、プラグインアイコン、意味のある説明、およびスクリーンショットなどの高品質なコンテンツを提供することが不可欠です。 そうすることで、ユーザーを惹きつけてダウンロード数を伸ばすことができます。 プラグインの公開準備を正しく行えるよう、Marketplace ドキュメントの「Create Your Marketplace Listing」ページに記事をまとめています。

テーマプラグインの販売

このようなプロジェクトの作成には労力が要求されるため、JetBrains Marketplace で有料または無料モデルでプラグインと UI テーマを販売して収益を得る機会を諦めているベンダーもいます。 Marketplace Paid Plugins ドキュメントセクションに、JetBrains Marketplace のメリット、価格設定モデル、決済処理、有料または無料プラグインに対するライセンス付与の実装方法に関する技術情報などのあらゆる情報を掲載しています。

まとめ

IntelliJ ベース IDE 用 UI テーマプラグインの作成プロセスは主に作者の美的感覚と想像力に依存しています。IntelliJ SDK に対する知識不足が障壁となるべきではありません。 しかし、皆さんには IDE の機能拡張により深く関わっていただきたいと思います。 もしかすると、多くのユーザーの日常業務を支援できるかもしれません!

アイデアがあってもそれを発展させる時間がない場合、またはインスピレーションを求めている場合は、Plugin Ideas をご覧ください!

何かお困りの場合は、IntelliJ IDEA Open API およびプラグイン開発フォーラムまたは JetBrains プラットフォームの Slack でお気軽にお問い合わせください。

IntelliJ プラットフォームと JetBrains Marketplace に関する最新情報を得るには、Twitter で以下のアカウントをフォローしてください!

オリジナル(英語)ブログ投稿の作者:

Jakub Chrzanowski & JetBrains Platform

image description
Development IntelliJ Plugins

Themes in IntelliJ-based IDEs

Themes in IntelliJ-based IDEs

IntelliJ Light and Darcula are well-known UI themes provided by default within IntelliJ-based IDEs. Some users like to stick with the preselected bright interface, while others prefer the Light-on-dark color scheme. However, many developers like to express their individuality by selecting from a wide variety of themes provided within the Themes category in JetBrains Marketplace. The reason we choose certain themes is different for each of us – old habits, appreciation for pretty things, color vision deficiencies, better for focusing, or any number of other things.

JetBrains Marketplace – Themes category

UI Theme plugins are just one of the many types of plugins for IntelliJ-based IDEs that became available in the 2019.1 release cycle.

Authors of UI Themes can introduce various changes to the built-in UI elements in the IDE:

  • substitute icons
  • change colors of icons and UI controls
  • provide custom editor schemes
  • add background images

The most popular themes provide interface changes, and more advanced mechanisms that let you configure some of the plugin behaviors on your own, introduce additional actions, or implement various extension points in a theme that bring new features to the IDE.

IntelliJ IDEA with a theme applied

Live Webinar: Building Themes for IntelliJ-based IDEs

On November 22nd, we were streaming the Busy Plugin Developers webinar that mainly focused on customizing JetBrains IDEs by building theme plugins.

Building Themes for IntelliJ-based IDEs

Creating a UI Theme

Creating plugins and themes for IntelliJ-based IDEs requires some preparation before you dive into the actual development. There are two ways of setting up such a project.

The first method relies on the Project Wizard and is explained in detail in the IntelliJ SDK Documentation on the Creating a UI Theme with the DevKit Theme Wizard page.

The generated scaffold is a simple structure based on the DevKit approach and should be used only for simple plugins. You can find an example project in the IntelliJ SDK Docs Code Samples GitHub repository.

DevKit-based project

For more complex plugins, we recommend creating a Gradle-based project. As we are constantly improving the plugin development experience for IntelliJ-based IDEs, it is also possible to start new projects using the IntelliJ Platform Plugin Template. The template brings curated configuration of Gradle extensions and GitHub Actions, like dependency management, changelog support, and preconfigured Continuous Integration/Continuous Deployment (CI/CD) setup.

In both cases, the most important file of the plugin project is the plugin.xml file, which has to contain a themeProvider Extension Point definition:

<idea-plugin>
   <id>org.jetbrains.plugins.mytheme</id>
   <name>My Theme</name>
   <vendor>JetBrains</vendor>

   <depends>com.intellij.modules.platform</depends>

   <extensions defaultExtensionNs="com.intellij">
       <themeProvider id="org.jetbrains.plugins.mytheme" path="my.theme.json" />
   </extensions>
</idea-plugin>

The plugin.xml and other UI customization files – my.theme.json and my.xml – are placed in the /src/main/resources directory along with any images or icons you plan to provide.

Theme plugin project scaffold

The themeProvider refers to the my.theme.json JSON file, which contains an actual theme definition that modifies the background colors and sets a neat image in the bottom-right corner of the IDE.

{
 "name": "My Theme",
 "dark": true,
 "author": "JetBrains",
 "editorScheme": "/themes/my.xml",
 "colors": {
   "colorPrimary": "#3b3531",
   "colorSecondary": "#342e2b"
 },
 "ui": {
   "*": {
     "background": "colorPrimary",
     "separatorColor": "colorPrimary",
     "borderColor": "colorSecondary"
   }
 },

 "background": {
   "image": "/background.png",
   "transparency": 50,
   "fill": "plain",
   "anchor": "bottom_right"
 }

The editorScheme key refers to the my.xml file responsible for adjusting the colors of the content visible in the editor, like the caret row color, foreground and background colors of the text, and gutter section background.

<scheme name="My Theme" version="1" parent_scheme="Darcula">
   <colors>
       <option name="CARET_ROW_COLOR" value="372513" />
       <option name="GUTTER_BACKGROUND" value="372513" />
   </colors>
   <attributes>
       <option name="TEXT">
           <value>
               <option name="FOREGROUND" value="C67E48" />
               <option name="BACKGROUND" value="291918" />
               <option name="EFFECT_TYPE" value="5" />
           </value>
       </option>
   </attributes>
</scheme>

This simple example theme already gives an interesting result – and that is just the beginning!

IntelliJ IDEA with “My Theme” applied

Exploring customization possibilities

When working with IDE customization, it is crucial to understand what you can override and where to search for possibilities to adjust the interface. Therefore, we provide multiple options to help explore the IDE’s inner workings.

Finding Attribute Keys for UI Controls

The most straightforward possibility is auto-completion provided by the Schema Mapping for the IntelliJ Theme JSON file. To try it out, open your *.theme.json file, place the caret in the proper context, and press Ctrl+Space shortcut – a list of available keys or values will appear.

Finding Attribute Keys for UI Controls

UI Inspector

The UI Inspector is a powerful tool to investigate the IntelliJ-based IDE UI elements to get an internal description of each element. In addition, UI elements can be tested interactively with Ctrl+Alt+Click on the element (⌘+⌥+Click on Mac). Check our UI Inspector documentation page to find out how to enable it and exactly what it can help you with.

UI Inspector

Look and Feel Defaults

The Look and Feel (LaF) Defaults window provides a key-value pair lookup for UI Controls. With this tool, you can filter out all the available default values for UI elements defined within the IDE or prototype your components interactively. You can find more about the LaF Defaults UI tool in the IntelliJ SDK Documentation.

Look and Feel Defaults

IntelliJ Platform Explorer

Each plugin providing a UI Theme is supposed to implement the themeProvider Extension Point. Using the IntelliJ Platform Explorer web-based tool, you can browse existing implementations in open-source IntelliJ Platform plugins. You can go straight to the tool and start exploring the code, or read more about it in our blog post.

IntelliJ Platform Explorer

IntelliJ SDK Documentation

The IntelliJ SDK Documentation, especially the Custom UI Themes section, is a knowledge base we constantly improve to give plugin developers the most valuable source of learning materials. To increase its value further, we encourage you to provide feedback on specific documentation sections if you have any doubts or misunderstandings.

Getting Help

Everyone gets stuck sometimes! For help with problems related to plugin development or documentation, visit the Getting Help section or get in touch with us using one of the following support channels:

Publishing a theme plugin

Sharing your plugin with others is an exciting step that crowns your hard work. You can do this in a couple of ways.

For Gradle-based projects, building and publishing is a straightforward process that comes down to running buildPlugin and publishPlugin Gradle tasks. First, check the Publishing Plugins with Gradle article and prepare the ZIP artifact containing your code to publish on JetBrains Marketplace or just share it with your friends.

If you are using the IntelliJ Platform Plugin Template, the deployment and publishing steps are automated with GitHub Actions. Check the project documentation related to the plugin’s Continuous Integration setup.

Projects based on DevKit require some manual steps described in the IntelliJ SDK Documentation in Deploying and Publishing articles.

Marketing

JetBrains Marketplace uses all the information provided by plugin authors to help make it discoverable in search engines and plugins listings. When you upload a plugin to JetBrains Marketplace, it becomes available to over 10 million JetBrains product users. Therefore, it is essential to provide high-quality content like an expressive name, a plugin icon, a meaningful description, and screenshots. This attracts and engages users, which will result in a higher number of downloads. We have collected a set of articles to help you correctly prepare your plugin for publishing on the Create Your Marketplace Listing Marketplace documentation page.

Selling a theme plugin

Because of the effort required to create such projects, some vendors have seized the opportunity to generate income by selling plugins and UI themes on JetBrains Marketplace in fully-paid or freemium models. In the Marketplace Paid Plugins documentation section, you’ll find all of the details about the benefits of JetBrains Marketplace, pricing models, payment processing, technical information on how to implement licensing for paid or freemium plugins, and more.

Conclusion

Creating UI Theme plugins for IntelliJ-based IDEs is a process that relies primarily on your sense of aesthetics and imagination – the lack of knowledge of IntelliJ SDK shouldn’t be a roadblock. However, we would like to encourage you to dive deeper into extending the features of our IDEs. Who knows, maybe it’ll help many of us in our everyday work!

If you have an idea but not enough time to develop it, or if you are just looking for some inspiration, check out the Plugin Ideas!

If you get stuck at any point, please feel free to reach out to us using the IntelliJ IDEA Open API and Plugin Development Forum or JetBrains Platform Slack.

To stay up-to-date regarding the IntelliJ Platform and JetBrains Marketplace, follow us on Twitter!

Jakub Chrzanowski & JetBrains Platform

image description
IntelliJ Plugins

Temas em IDEs baseados no IntelliJ

Themes in IntelliJ-based IDEs

Dois temas de interface de usuário fornecidos como default dentro dos IDEs baseados no IntelliJ são os bem conhecidos IntelliJ Light e Darcula. Alguns usuários gostam de ficar com a interface clara pré-selecionada, enquanto outros preferem o esquema de texto claro sobre fundo escuro. Porém, muitos desenvolvedores gostam de expressar sua individualidade escolhendo um tema diferente a partir de uma ampla variedade oferecida na categoria Themes (“Temas”) do JetBrains Marketplace. A razão pela qual se escolhem certos temas é diferente para cada um de nós: velhos hábitos, apreciar coisas bonitas, daltonismo, melhor foco e muitas outras coisas.

JetBrains Marketplace – categoria Themes

Plug-ins de temas de interface de usuário são apenas um dos muitos tipos de plug-ins para IDEs baseados no IntelliJ que ficaram disponíveis a partir do ciclo de versões 2019.1.

Os autores desses temas podem introduzir diversas alterações nos elementos da interface de usuário no IDE:

  • substituir ícones
  • mudar as cores dos ícones e controles da interface de usuário
  • fornecer esquemas personalizados no editor
  • acrescentar imagens de fundo

Os temas mais populares proporcionam mudanças na interface e mecanismos mais avançados para você mesmo configurar alguns comportamentos dos plug-ins, introduzir ações adicionais ou implementar vários extension points no tema, levando novos recursos ao IDE.

IntelliJ IDEA com um tema aplicado

Como criar um tema de interface de usuário

Criar plug-ins e temas para IDEs baseados no IntelliJ requer alguma preparação antes que você possa mergulhar no desenvolvimento propriamente dito. Há duas maneiras de configurar um desses projetos.

O primeiro método utiliza o Project Wizard e é explicado em detalhes na documentação do IntelliJ SDK, na página Creating a UI Theme with the DevKit Theme Wizard (“Como Criar um Tema de Interface de Usuário com o Assistente de Temas do DevKit”).

O arcabouço assim gerado é uma estrutura simples, baseada na abordagem do DevKit, e deve ser usada apenas para plug-ins mais simples. Você encontra um projeto de exemplo no repositório IntelliJ SDK Docs Code Samples (“Exemplos de Código de Documentos do IntelliJ SDK”), no GitHub.

Projeto baseado no DevKit

Para plug-ins mais complexos, recomendamos criar um projeto baseado no Gradle. Como estamos constantemente melhorando a experiência de desenvolvimento de plug-ins para IDEs baseados no IntelliJ, também é possível iniciar novos projetos através do Modelo de Plug-In da Plataforma IntelliJ. Esse modelo traz configurações selecionadas de extensões do Gradle e ações do GitHub, tais como gerenciamento de dependências, suporte a históricos de alterações e configurações pré-selecionadas para Integração Contínua/Implantação Contínua (CI/CD).

Em ambos os casos, o arquivo mais importante é o plugin.xml, que precisa conter a definição de um extension point nomeado como themeProvider:

<idea-plugin>
   <id>org.jetbrains.plugins.mytheme</id>
   <name>My Theme</name>
   <vendor>JetBrains</vendor>

   <depends>com.intellij.modules.platform</depends>

   <extensions defaultExtensionNs="com.intellij">
       <themeProvider id="org.jetbrains.plugins.mytheme" path="my.theme.json" />
   </extensions>
</idea-plugin>

O plugin.xml e outros arquivos de personalização da interface de usuário – como my.theme.json e my.xml – devem ser colocados na pasta /src/main/resources, juntamente com quaisquer imagens e ícones que você esteja planejando fornecer.

Estrutura de projeto de plug-in de tema

O extension point themeProvider faz referência ao arquivo my.theme.json, que contém a definição do tema, que por sua vez modifica as cores de fundo e coloca uma imagem no canto inferior direito do IDE.

{
 "name": "My Theme",
 "dark": true,
 "author": "JetBrains",
 "editorScheme": "/themes/my.xml",
 "colors": {
   "colorPrimary": "#3b3531",
   "colorSecondary": "#342e2b"
 },
 "ui": {
   "*": {
     "background": "colorPrimary",
     "separatorColor": "colorPrimary",
     "borderColor": "colorSecondary"
   }
 },

 "background": {
   "image": "/background.png",
   "transparency": 50,
   "fill": "plain",
   "anchor": "bottom_right"
 }

A chave editorScheme faz referência ao arquivo my.xml, que é responsável por ajustar as cores do conteúdo visível no editor, tais como as cores das linhas de código em destaque, do texto, do fundo do texto e da calha dos números de linha.

<scheme name="My Theme" version="1" parent_scheme="Darcula">
   <colors>
       <option name="CARET_ROW_COLOR" value="372513" />
       <option name="GUTTER_BACKGROUND" value="372513" />
   </colors>
   <attributes>
       <option name="TEXT">
           <value>
               <option name="FOREGROUND" value="C67E48" />
               <option name="BACKGROUND" value="291918" />
               <option name="EFFECT_TYPE" value="5" />
           </value>
       </option>
   </attributes>
</scheme>

Este tema simples de exemplo já dá um resultado interessante – e é apenas o começo!

IntelliJ IDEA com o tema de exemplo “My Theme” aplicado

Explorando as possibilidades de personalização

Ao trabalhar com personalização de IDEs, é crucial compreender o que você pode ou não alterar e onde buscar possibilidades de ajustar a interface. Assim, oferecemos múltiplas opções para ajudar você a explorar o mecanismo interno do IDE.

Como encontrar chaves de atributo para os controles da interface de usuário

A possibilidade mais simples e direta é usar a complementação automática feita através do mapeamento de esquemas dos arquivos JSON de temas do IntelliJ. Para experimentar esse recurso, abra o seu arquivo *.theme.json, posicione a seta no contexto apropriado e pressione o atalho Ctrl+Espaço. Aparecerá uma lista de chaves ou valores disponíveis.

Como encontrar chaves de atributo para os controles da interface de usuário

UI Inspector

O UI Inspector (“Inspetor da Interface de Usuário”) é uma ferramenta poderosa para explorar os elementos de interfaces de usuário baseadas no IntelliJ, obtendo uma descrição interna de cada elemento. Além disso, os elementos da interface de usuário podem ser testados de forma interativa com o atalho Ctrl+Alt+Clique no elemento (⌘+⌥+Clique no Mac). Dê uma olhada na página de documentação do UI Inspector para ver como habilitá-lo e com o que exatamente ele pode ajudar você.

UI Inspector

Janela Look and Feel Defaults

A janela “Look and Feel (LaF) Defaults” (“Padrões Iniciais de Aparência”) fornece uma consulta de pares de chave-valor para controles de interface de usuário. Com esta ferramenta, você pode filtrar todos os valores-padrão disponíveis para os elementos de interface de usuário definidos no IDE ou prototipar os seus componentes de forma interativa. Você pode saber mais sobre a ferramenta de interface de usuário LaF Defaults na documentação do IntelliJ SDK.

Janela “Look and Feel Defaults”

IntelliJ Platform Explorer

Cada plug-in que fornece um tema de interface de usuário deve implementar o extension point themeProvider. Através da ferramenta IntelliJ Platform Explorer, baseada na Web, você pode navegar pelas implementações existentes em plug-ins de código aberto da Plataforma IntelliJ. Você pode ir diretamente para a ferramenta e começar a explorar o código ou ler mais a respeito na nossa postagem de blog.

IntelliJ Platform Explorer

Documentação do IntelliJ SDK

A Documentação do IntelliJ SDK, em especial a seção Custom UI Themes (“Temas personalizados da interface de usuário”), é uma base de conhecimento que estamos sempre melhorando, para dar aos desenvolvedores de plug-ins os materiais de aprendizado mais valiosos. Para tornar a documentação ainda mais útil, encorajamos você a nos enviar seu feedback a respeito de seções específicas da documentação se você tiver qualquer dúvida ou dificuldade de compreensão.

Como obter ajuda

Todo mundo fica empacado de vez em quando! Para obter ajuda com problemas relacionados ao desenvolvimento de plug-ins ou à documentação, visite a seção Getting Help (“Como Obter Ajuda”) ou entre em contato conosco usando um dos canais de suporte a seguir:

Como publicar um plug-in de tema

Compartilhar o seu plug-in com outros é uma etapa empolgante e o coroamento do seu trabalho duro. Você pode fazer isso de duas maneiras.

Para projetos baseados no Gradle, montar e publicar seu projeto é um processo simples e direto que consiste em executar as tarefas buildPlugin e publishPlugin no Gradle. Primeiro, dê uma olhada no artigo Publishing Plugins with Gradle (“Como Publicar Plug-Ins no Gradle”) e prepare o arquivo ZIP contendo o seu código para publicação no JetBrains Marketplace, ou simplesmente compartilhe-o com seus amigos.

Se você estiver usando o Modelo de Plug-Ins da Plataforma IntelliJ, as etapas de implantação e publicação são automatizadas através de ações do GitHub. Verifique a documentação de projeto referente à configuração do parâmetro Continuous Integration (“Integração Contínua”) do plug-in.

Projetos baseados no DevKit requerem algumas etapas manuais, descritas na documentação do IntelliJ SDK, nos artigos Deploying (“Implantação”) e Publishing (“Publicação”).

Marketing

O JetBrains Marketplace usa todas as informações fornecidas pelos autores dos plug-ins para facilitar que eles sejam descobertos em motores de busca e listagens de plug-ins. Quando você faz o upload de um plug-in para o JetBrains Marketplace, ele fica disponível para mais de 10 milhões de usuários dos produtos da JetBrains. Portanto, é essencial fornecer conteúdo de alta qualidade, incluindo um nome expressivo, um ícone do plug-in, uma descrição significativa e capturas de tela. Isso atrai e motiva os usuários, resultando em um número maior de downloads. Reunimos um conjunto de artigos para ajudar você a preparar seu plug-in corretamente para publicação na página Create Your Marketplace Listing (“Crie Sua Listagem no Marketplace”) da documentação do Marketplace.

Como vender um plug-in de tema

Devido ao esforço necessário para criar esse tipo de projeto, alguns desenvolvedores aproveitaram a oportunidade de gerar renda vendendo plug-ins e temas de interface de usuário no JetBrains Marketplace, seja em modelos totalmente pagos ou “freemium”. Na seção Marketplace Paid Plugins (“Plug-Ins Pagos no Marketplace”) da documentação, você encontrará todos os detalhes a respeito dos benefícios do JetBrains Marketplace, modelos de preços, processamento de pagamentos, informações técnicas de como implementar o licenciamento de plug-ins pagos ou “freemium” e muito mais.

Conclusão

Criar plug-ins de tema de interface de usuário para IDEs baseadas no IntelliJ é um processo que depende primariamente do seu senso estético e da sua imaginação – a falta de conhecimento sobre o IntelliJ SDK não deve ser um empecilho. Porém, gostaríamos de encorajar você a mergulhar mais fundo em como ampliar os recursos dos nossos IDEs. Quem sabe isso não ajudará muitos de nós no nosso trabalho diário?

Se você tiver uma ideia, mas não tiver tempo suficiente para desenvolvê-la, ou se você estiver apenas buscando alguma inspiração, dê uma olhada nas Plugin Ideas (“Ideias de Plug-Ins”)!

Se em algum momento você não conseguir ir adiante, não hesite em fazer contato conosco através do Fórum de Desenvolvimento de Plug-Ins e API Aberta do IntelliJ IDEA ou do Slack da Plataforma JetBrains.

Para manter-se atualizado a respeito da Plataforma IntelliJ e do JetBrains Marketplace, siga-nos no Twitter!

Jakub Chrzanowski e Plataforma JetBrains

Artigo original em inglês por:

image description
IntelliJ Plugins

Temas en los IDE basados en IntelliJ

Themes in IntelliJ-based IDEs

IntelliJ Light y Darcula son temas conocidos de interfaz de usuario incluidos de forma predeterminada en los IDE basados en IntelliJ. A algunos usuarios les gusta quedarse con la interfaz clara predeterminada, pero otros prefieren la combinación de colores claros sobre fondo oscuro. Sin embargo, a muchos desarrolladores les gusta expresar su individualidad gracias a una amplia gama de temas ofrecidos en la categoría Themes de JetBrains Marketplace. La razón por la que elegimos ciertos temas es diferente para cada uno de nosotros: costumbres, aprecio por las cosas bonitas, deficiencias en la visión del color, facilidad para concentrarse o cualquier otro motivo.

JetBrains Marketplace: categoría Themes

Los complementos de temas de interfaz de usuario son solo uno de los muchos tipos de complemento para los IDE basados en IntelliJ disponibles tras el ciclo de lanzamiento 2019.1.

Los autores de los temas de interfaz de usuario pueden introducir cambios en los elementos de la interfaz de usuario integrados en el IDE:

  • sustituir iconos
  • cambiar los colores de los iconos y los controles de la interfaz de usuario
  • proporcionar esquemas del editor personalizados
  • añadir imágenes de fondo

Los temas más populares añaden cambios en la interfaz y mecanismos más avanzados que permiten configurar algunos de los comportamientos del complemento, introducir acciones adicionales o implementar varios puntos de extensión en un tema que aportan nuevas funcionalidades al IDE.

IntelliJ IDEA con un tema aplicado

Crear un tema de interfaz de usuario

La creación de complementos y temas para IDE basados en IntelliJ requiere cierta preparación antes de que pase al desarrollo propiamente dicho. Hay dos maneras de poner en marcha un proyecto de este tipo.

El primer método se basa en el Asistente de proyecto y se explica en detalle en la documentación del SDK de IntelliJ, en la página Creating a UI Theme with the DevKit Theme Wizard (Creación de un tema de interfaz de usuario con el Asistente de temas de DevKit).

La estructura generada es una estructura simple basada en el enfoque de DevKit y solo debería utilizarse para complementos sencillos. Puede encontrar un proyecto de ejemplo en el repositorio IntelliJ SDK Docs Code Samples de GitHub.

Proyecto basado en DevKit

Para complementos más complejos, recomendamos crear un proyecto basado en Gradle. Siempre tratamos de mejorar la experiencia de desarrollo de complementos para los IDE basados en IntelliJ, de modo que también es posible iniciar nuevos proyectos con la Plantilla de complementos de IntelliJ Platform. La plantilla ofrece una configuración de las extensiones de Gradle y las acciones de GitHub, como la gestión de dependencias, la compatibilidad con el registro de cambios y la configuración predefinida de la integración continua/implementación continua.

En ambos casos, el archivo más importante del proyecto del complemento es plugin.xml, que debe contener una definición del punto de extensión llamada themeProvider:

<idea-plugin>
   <id>org.jetbrains.plugins.mytheme</id>
   <name>My Theme</name>
   <vendor>JetBrains</vendor>

   <depends>com.intellij.modules.platform</depends>

   <extensions defaultExtensionNs="com.intellij">
       <themeProvider id="org.jetbrains.plugins.mytheme" path="my.theme.json" />
   </extensions>
</idea-plugin>

El archivo plugin.xml y otros archivos de personalización de la interfaz de usuario (my.theme.json y my.xml) se encuentran en el directorio /src/main/resources, junto con las imágenes o iconos que tiene previsto ofrecer.

Estructura del proyecto del complemento del tema

El punto de extensión themeProvider hace referencia al archivo my.theme.json JSON, que contiene una definición real del tema que modifica los colores de fondo y coloca una imagen clara en la esquina inferior derecha del IDE.

{
 "name": "My Theme",
 "dark": true,
 "author": "JetBrains",
 "editorScheme": "/themes/my.xml",
 "colors": {
   "colorPrimary": "#3b3531",
   "colorSecondary": "#342e2b"
 },
 "ui": {
   "*": {
     "background": "colorPrimary",
     "separatorColor": "colorPrimary",
     "borderColor": "colorSecondary"
   }
 },

 "background": {
   "image": "/background.png",
   "transparency": 50,
   "fill": "plain",
   "anchor": "bottom_right"
 }

La clave editorScheme hace referencia al archivo my.xml, en el que se establecen los colores del contenido visible en el editor, como el color de la fila activa, los colores del primer y segundo plano del texto, y el fondo de la sección del medianil.

<scheme name="My Theme" version="1" parent_scheme="Darcula">
   <colors>
       <option name="CARET_ROW_COLOR" value="372513" />
       <option name="GUTTER_BACKGROUND" value="372513" />
   </colors>
   <attributes>
       <option name="TEXT">
           <value>
               <option name="FOREGROUND" value="C67E48" />
               <option name="BACKGROUND" value="291918" />
               <option name="EFFECT_TYPE" value="5" />
           </value>
       </option>
   </attributes>
</scheme>

Este sencillo tema de ejemplo ya ofrece un resultado interesante, ¡y es solo el principio!

IntelliJ IDEA con «My Theme» aplicado

Explorar las posibilidades de personalización

Al trabajar con la personalización del IDE, es esencial entender qué se puede anular y dónde buscar las opciones de ajuste de la interfaz. Por lo tanto, ofrecemos varias opciones para ayudar a explorar el funcionamiento interno del IDE.

Buscar atributos para los controles de la interfaz de usuario

La posibilidad más sencilla es el autocompletado que proporciona la asignación de esquemas para el archivo JSON del tema de IntelliJ. Para probarlo, abra el archivo *.theme.json, coloque el cursor en el contexto adecuado y pulse la combinación de teclas Ctrl+Espacio; aparecerá una lista de claves o valores disponibles.

Encontrar las claves de los atributos para los controles de la interfaz de usuario

Inspector de la interfaz de usuario

El inspector de la interfaz de usuario es una herramienta potente que sirve para explorar los elementos de la interfaz de usuario basados en IntelliJ y que ofrece una descripción interna de cada uno. Además, los elementos de la interfaz de usuario se pueden probar de forma interactiva con Ctrl+Alt+Clic en el elemento (⌘+⌥+Clic en Mac). Consulte nuestra página de documentación del Inspector de la interfaz de usuario para saber cómo activarlo y en qué puede ayudarle exactamente.

Inspector de la interfaz de usuario

Look and Feel Defaults

La ventana Look and Feel (LaF) Defaults ofrece una búsqueda de pares clave-valor para los controles de la interfaz de usuario. Con esta herramienta, puede filtrar todos los valores predeterminados disponibles para los elementos de la interfaz de usuario definidos en el IDE o crear un prototipo de sus componentes de forma interactiva. Encontrará más información sobre la herramienta de interfaz de usuario LaF Defaults en la documentación del SDK de IntelliJ.

Look and Feel Defaults

Explorador de IntelliJ Platform

Se supone que cada complemento que ofrece un tema de interfaz de usuario implementa el punto de extensión themeProvider. Con la herramienta web del explorador de IntelliJ Platform, puede explorar las implementaciones existentes en los complementos de código abierto de IntelliJ Platform. Puede ir directamente a la herramienta y empezar a explorar el código, o leer más sobre ella en este artículo del blog.

Explorador de IntelliJ Platform

Documentación del SDK de IntelliJ

La Documentación del SDK de IntelliJ, en particular la sección Custom UI Themes (Personalización de temas de interfaz de usuario), es una base de conocimiento que mejoramos constantemente para ofrecer a los desarrolladores de complementos la fuente más valiosa de materiales de aprendizaje. Para aumentar aún más su valor, si tiene alguna duda, le animamos a darnos su opinión sobre secciones específicas de la documentación.

Obtener ayuda

¡Todo el mundo se atasca a veces! Para obtener ayuda con problemas relacionados con el desarrollo del complemento o la documentación, visite la sección Obtener ayuda o póngase en contacto con nosotros utilizando uno de los siguientes canales:

Publicar un complemento de tema

Compartir su complemento es un paso emocionante que pone el broche de oro a su duro trabajo. Puede hacerlo de varias formas.

Para los proyectos basados en Gradle, la compilación y la publicación es un proceso sencillo que se reduce a la ejecución de las tareas de Gradle buildPlugin y publishPlugin. En primer lugar, revise el artículo Publishing Plugins with Gradle (Publicación de complementos con Gradle) y prepare el artefacto ZIP que contiene su código para publicarlo en JetBrains Marketplace o, simplemente, compártalo con sus amigos.

Si utiliza la plantilla de complementos de IntelliJ Platform, la implementación y la publicación se automatizan con acciones de GitHub. Consulte la documentación del proyecto relacionada con la configuración de la integración continua del complemento.

Los proyectos basados en DevKit requieren algunos pasos manuales descritos en los artículos Deploying (Despliegue) y Publishing (Publicación) de la documentación del SDK de IntelliJ.

Marketing

JetBrains Marketplace utiliza toda la información proporcionada por los autores de los complemento para ayudar a que aparezcan en los buscadores y en los listados de complementos. Al subir un complemento a JetBrains Marketplace, lo pone a disposición de más de 10 millones de usuarios de productos JetBrains. Por ello, es esencial ofrecer un contenido de alta calidad, como un nombre que llame la atención, un icono para el complemento, una descripción significativa y capturas de pantalla. Todo ello atrae a los usuarios y consigue que estos participen, lo que se traduce en un mayor número de descargas. En la página Create Your Marketplace Listing (Crear una descripción en Marketplace) de la documentación de Marketplace, hemos recopilado un conjunto de artículos para ayudarle a preparar correctamente la publicación de su complemento.

Vender un complemento de tema

Debido al esfuerzo necesario para crear este tipo de proyectos, algunos proveedores han aprovechado la oportunidad de generar ingresos vendiendo complementos y temas de interfaz de usuario en JetBrains Marketplace en modelos de pago o freemium. En la sección Marketplace Paid Plugins (Complementos de pago de Marketplace) de la documentación, encontrará todos los detalles sobre las ventajas de JetBrains Marketplace, los modelos de precios, el procesamiento de los pagos, la información técnica sobre cómo implementar las licencias de los complemento de pago o freemium, y mucho más.

Conclusión

La creación de complementos de temas de interfaz de usuario para IDE basados en IntelliJ es un proceso que se basa principalmente en su sentido de la estética y la imaginación: la falta de conocimientos del SDK de IntelliJ no debería ser un obstáculo. Sin embargo, nos gustaría animarle a que profundizase en la ampliación de las funcionalidades de nuestros IDE. Quién sabe, tal vez nos ayude a muchos de nosotros en nuestro trabajo diario.

Si tiene una idea, pero no el tiempo suficiente para desarrollarla, o si simplemente busca algo de inspiración, eche un vistazo a estas ideas de complementos.

Si se queda atascado en algún momento, no dude en ponerse en contacto con nosotros a través del foro IntelliJ IDEA Open API and Plugin Development o del Slack de JetBrains Platform.

Para estar al día sobre IntelliJ Platform y JetBrains Marketplace, síganos en Twitter.

Jakub Chrzanowski y JetBrains Platform

Artículo original en inglés de:

image description