A plugin for IDEs to download files.
- Three new actions:
- Supported types of links:
- HTTP/HTTPS.
- BitTorrent (requires specifying a path to a local
torrentfile).
- Switching to a browser or to a torrent client is slower. IDE should support everything, for example, Git is supported inside IDE.
- Installation of separate applications is slower than installation of the plugin. By separate applications we mean a Torrent Client, but in the future we want to support the syntax of
wgetandcurlcommands that can be missing in Windows, for example. - If you are using an IDE via remote access which supports only a single application (such as Projector), the plugin seems to be the single visual way to download files from the Internet to the host.
Just download a release and then choose this Zip file in Plugins | Install plugin from disk.
./gradlew :plugin:runIdeThis will open a sandbox-IDE with this plugin installed.
./gradlew :plugin:buildPluginThe plugin distribution file will appear in plugin/build/distributions dir.
- Introduce features:
- Show
Download This LinkandDownload Selected Linkas context actions. - An editor with the list of active and finished downloads.
- Plugin settings (at least for default download dir).
- Support more ways of torrent downloading:
- By magnet links.
- By info hashes.
- Support parsing of
curlandwgetcommands. - Show download initial status and progress.
- Allow stopping downloading.
- Run
reload from diskautomatically after downloads.
- Show
- Fix issues:
- Sometimes when minimizing and maximizing the IDE, the plugin disappears (no idea why).
- Plugin isn't dynamic (
Plugin DevKit | Plugin descriptor | Plugin.xml dynamic plugin verificationdoesn't find any errors, but the IDE asks to restart after deactivation and activation of the plugin). - Messages are "hardcoded" (maybe we can use the
bundleconcept, but can't find any guides how to use it).
- Don't use blocking calls (for example, switch to coroutines).
- Add plugin tests.
- Since not only links supported, remove
Linkword from names of actions.
Download Selection provides only an action to download selected link, crashes when a bad link is selected, lacks open-source code, and supports only HTTP.


