What is the correct way to allow the user to configure plugin-level settings before initialising the plugin?

Answered

Here is a brief description of my plugin. It is a simple tool window containing two tabs. The content of tabs is just a Tree/List representing the response from an internal API. My plugin needs to make HTTP requests and then create the tool window content using the response.

For this, I require the user to configure hostname & apiKey only once at the beginning to "set up the plugin". From then onwards, the plugin should use them every time. I would also like to allow the user to update these at any point in time. What is the best or right way of achieving this? 

3 comments
Comment actions Permalink

Hi,

My suggestion is to implement an empty state like in the design guide:

https://jetbrains.design/intellij/principles/empty_state/#tool-windows-lists-trees-andtables

Clicking your "Add server..." should open the configuration of the servers.

0
Comment actions Permalink

Karol Lewandowski I see. I like the fact that I can provide instructional text stating that the credentials need to be configured before the plugin can work.

So to actually make this happen, as I understand I will need

1. A class that implements a persistent state

2. A form to collect the info from the user

I think I already have a persistent state class, but I am not sure how/where I would create the input form, and how I can make the form openable from a tool bar action.

0

Please sign in to leave a comment.