Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Theme not showing in PhpStorm 2019.1 #46

Closed
axelitus opened this issue Apr 23, 2019 · 19 comments
Closed

UI Theme not showing in PhpStorm 2019.1 #46

axelitus opened this issue Apr 23, 2019 · 19 comments

Comments

@axelitus
Copy link

I have installed Nord Color Scheme in PhpStorm 2019.1 and the UI theme option is not shown in the dropdown:
image

The Editor color scheme works fine.

@axelitus
Copy link
Author

axelitus commented Apr 23, 2019

On the Plugin Market page (and in IDE) it shows that it still version 0.4.0. Could this be the issue?
image

@axelitus
Copy link
Author

I've probably confirmed it is an issue that version 0.4.0 is still being downloaded. I've extracted the Nord.jar in the plugins folder and the plugin.xml shows this:
image

Which is not the latest 0.5.0 version of the file.

Is it being reviewed by JetBrains or is it not yet published in the MarketPlace?

@axelitus
Copy link
Author

I've managed to compile it from source using IntelliJ Community and now it is showing the correct version:
image

Wow! The UI is beautiful, I'll enjoy working with this theme!

@arcticicestudio
Copy link
Contributor

Compiling from source should work fine.
There are some problems deploying version 0.5.0 to the JetBrains Plugin Repository. It complains about an unmatching "Plugin XML ID" which was auto-generated by an older IntelliJ version. I've used the ID I'd like to use for the new UI & editor scheme, but while deploying the new version it'll deny the file due to the ID mismatch.
I'm in contact with JetBrains through their Twitter account to get some more details about this ID and if it is possible to modify it without breaking the plugin since the auto-generated ID (color.scheme.Nord) is really ugly and should be com.arcticicestudio.nord.jetbrains to match package domain model.

@Alby407
Copy link

Alby407 commented Apr 23, 2019

Are there any instructions on how to compile from source? Unfortunately, there is no section in the README.

@axelitus
Copy link
Author

axelitus commented Apr 23, 2019

No there aren't.

  1. Just download the source and extract it anywhere in your file system.
    image

  2. Install JetBrains IntelliJ 2019.1+ and create a new project
    image

  3. Select IntelliJ Platform Plugin as the project type and hit Next.
    image

  4. Fill the project info as shown below (the name should be nord-jetbrains and the location should be where you extracted the project) and click Finish:
    image

  5. You will be prompted to overwrite the nord-jetbrains.iml file, click Yes (the file is the default module file for a Jetbrains Plugin anyways):
    image

  6. Click on Build > Build Project:
    image
    A new out folder will be created:
    image

  7. Now click on Build > Prepare All Plugin Modules For Deployment:
    image

  8. Ensure the nord-jetbrains module is selected and click Next:
    image
    A new file nord-jetbrains.jarshould be created.

  9. Copy the nord-jetbrains.jar file to ~/.PhpStorm2019.1/config/plugins folder:
    image

  10. Restart PhpStorm and enjoy!
    image

@Alby407
Copy link

Alby407 commented Apr 23, 2019

Big thanks to you!! Btw what icon theme are you using? (Sorry for OT, but it looks really awesome) :)

@axelitus
Copy link
Author

axelitus commented Apr 24, 2019

I'm using Ubuntu with Arc-Dark theme and Paper iconset.

@arcticicestudio
Copy link
Contributor

@axelitus Thanks for the detailed guide 👍 , I've planned to add one to the README but postponed it until all docs and assets are moved over to the website. There are some references and descriptions in #43 including links to official guides from JetBrains that I've used to transform the theme into a plugin.

@axelitus
Copy link
Author

I found that guide and it served me as a basis, but I still struggled to know what I was doing (or should be doing) because I had never used IntelliJ, nor build a Jetbrain Plugin. So I wanted to give a step-by-step for newcomers like me.

I think (but I have not tested, nor am I sure) the same could be done as in previous versions that pack certain files directly into a jar (as a jar is basically a zip, it could be as easy as to zip the needed files in the needed structure and rename the file with .jar extension). Don't know if the build process does something different though, so maybe even IntelliJ is not needed.

@axelitus
Copy link
Author

axelitus commented Apr 24, 2019

For all of you who don't want to go through all the hassle of the IntelliJ way I've created a bash script that packages the plugin: https://gist.github.com/axelitus/15186e4da4a39cced9d59dc885964db8

Just download it to the nord-jetbrains source code folder, give it execute permissions and run:

./build.sh

It requires either the jar command (you need to install the JDK for this) or the zip command.

It mimics what IntelliJ does (create an out folder with a specific structure and package it in a jar) so it should be fully compatible if you have it set up as a project in IntelliJ.
Tested in Ubuntu 18.10 but it should work across many distros and versions that support bash.

@axelitus
Copy link
Author

@arcticicestudio Previously there was a build.sh command, why has it been removed?

Was it because it did not make it through the theme->plugin conversion? Or was it something else?

@arcticicestudio
Copy link
Contributor

The build script was removed because it is not necessary anymore and won't include auto-generated metadata that'll be added to the JAR file. There are also some checks that run when IntelliJ packages the plugin files like a correct Plugin XML ID and plugin icons.
Users shouldn't really care about how to build the plugin since it can be easily installed with all of JetBrain's IDEs using the official plugin repository that is available from within the application itself. This allows to install Nord with one mouse click and also updates the plugin automatically when new updates are available.

Anyway, I'll add the guide to the Nord website if users want to play around with the plugin or modify it.

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Apr 24, 2019

Also the latest version 0.5.0 has been deployed to the plugin repository and will be available when the plugin passes the upload checks.

Please note that it is required to uninstall and install the plugin again if you're using a version of the theme less or equal to 0.4.0 since the Plugin XML ID was changed to match the naming scheme.

Please see the release announcement on Twitter and additional info tweet for some more details.

I close this issue for now since it should work fine for all IDEs including PhpStorm as soon as the plugin update is available.

@axelitus
Copy link
Author

Agreed, the manual installation was just because the repository version wasn't updated. Once its published this shouldn't be needed.

@mattfletcher
Copy link

I am still being offered 0.4.0 in the marketplace, is it normal for it to take this long to process?

@axelitus
Copy link
Author

axelitus commented May 2, 2019

Are you on the latest version? (2019.X+ is needed).

I'm on PhpStorm 2019.1 and have no problems at all, it is already on the Marketplace:
image

@arcticicestudio
Copy link
Contributor

@mattfletcher Please note that it is required to uninstall and install the plugin again if you're using a version of the theme less or equal to 0.4.0 since the Plugin XML ID was changed to match the naming scheme.

Please see the release announcement on Twitter and additional info tweet for some more details.

@arcticicestudio
Copy link
Contributor

arcticicestudio commented May 5, 2019

@axelitus As of Nord Docs version 0.12.0 the docs and assets of Nord JetBrains have been migrated. There's also a development guide now for users who like to customize the plugin or build it from source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants