Skip to content

Commit

Permalink
Implement UI theme for IntelliJ Platform 2019.1 and higher
Browse files Browse the repository at this point in the history
As of IntelliJ IDEA 2019.1 (1) it is finally possible to theme the IDE
UI (2).

"Nord JetBrains" transformed into a IDE UI (3) and editor theme (4)
plugin using the IntelliJ Platform SDK (5) through JetBrain's DevKit (6)

>>> Workflow

"Nord JetBrains" now follows the official workflow documentation (7) to

1. Customize the UI icons and Controls (8)
2. Bundle the already existing editor color theme (4)
3. Build, debug and test the theme plugin (9)
4. Deploy and publish the theme plugin (10)

The IntelliJ SDK provides a lot of tools to develop plugins by enabling
the internal mode (11) that allows to show e.g. the "LaF Defaults" (12).

The plugin is represented by a plugin icon (13) that is also available
as of the the IntelliJ Platform version 2019.1.

The "Nord JetBrains" plugin tries to follow the IntelliJ Platform UI
Guidelines (14).

>>> Project Renaming

In GH-31 the project was renamed from `nord-intellij-idea-syntax` to
`nord-jetbrains-editor` where the `editor` post-fix word was used to
keep the namespace open for the possibility that JetBrains introduces
a official UI theme API someday.
This is now finally the case so the project was renamed to
`nord-jetbrains` to clarify the theme is a full JetBrain Platform SDK
plugin that provides a UI and editor theme and is also compatible with
all current IDEs.
The renaming was handled in subtask GH-44.

>>> Minimum IntelliJ Platform SDK Version Requirement

Since "Nord JetBrains" is a plugin instead of only a editor theme file
(`.icls`), that can also be imported manually, the minimum version of
IntelliJ is now "2019.1".

>>> Documentation Changes

The install instructions have been updated to match the installation
method through the official builtin Plugin Marketplace (15).

>>> No More Custom Compilation Scripts

Since the plugin is now provided through the official Plugin Marketplace
(15) it is not necessary anymore to compile the plugin manually.
The IntelliJ Platform SDK allows to run and debug and plugin from within
the IDE (16) and can be deployed/compiled using the builtin functions
(10).

References:
  (1) https://blog.jetbrains.com/idea/2019/03/intellij-idea-2019-1-is-released-theme-customization-java-12-switch-expressions-debug-inside-docker-containers-and-more
  (2) https://blog.jetbrains.com/idea/2019/03/brighten-up-your-day-add-color-to-intellij-idea
  (3) http://www.jetbrains.org/intellij/sdk/docs/reference_guide/ui_themes/themes_intro.html
  (4) http://www.jetbrains.org/intellij/sdk/docs/reference_guide/ui_themes/themes_extras.html
  (5) http://www.jetbrains.org/intellij/sdk/docs/welcome.html
  (6) http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/using_dev_kit.html
  (7) http://www.jetbrains.org/intellij/sdk/docs/reference_guide/ui_themes/themes.html#custom-ui-theme-workflow
  (8) http://www.jetbrains.org/intellij/sdk/docs/reference_guide/ui_themes/themes_customize.html
  (9) http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/running_and_debugging_a_plugin.html
  (10) https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/deploying_plugin.html
  (11) http://www.jetbrains.org/intellij/sdk/docs/reference_guide/internal_actions/enabling_internal.html
  (12) http://www.jetbrains.org/intellij/sdk/docs/reference_guide/internal_actions/internal_ui_lafd.html
  (13) https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_icon_file.html
  (14) https://jetbrains.github.io/ui
  (15) https://plugins.jetbrains.com/marketplace
  (16) https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/running_and_debugging_a_plugin.html

GH-43
  • Loading branch information
arcticicestudio committed Apr 22, 2019
1 parent dac53e6 commit 6d262a2
Showing 1 changed file with 516 additions and 0 deletions.
Loading

0 comments on commit 6d262a2

Please sign in to comment.