Is there a special place where plugin can store binaries that are shared between different IDEs?

My plugin is using LSPs, and they are binary, so I download the required files on user request, and it’s also possible to use older versions of LSP (in case the new one is broken).
It would be great if these can be shared between IDEs and different versions of IDE, i.e. I do not have to download LSP again when I update the LSP.

Is there any “built in” folder that can be used, or I should ask user to provide a folder and default to something in the home directory?

UX-wise, the less you ask from users the happier they are.

Statistically, most users have only one IDE installed, so I’d not bother with sharing across different IDEs.

The settings directory (PathManager#getConfigDir) is usually copied when a new IDE version runs for the first time, so unless those LSPs are measured in gigabites, that’s what I’d use.

1 Like