Giter Club home page Giter Club logo

dl-this's Introduction

JetBrains team project

Download This

A plugin for IDEs to download files.

Plugin Icon

Main features

  • Three new actions:
    • Download Any Link opens a dialog where you can input some links to download. DAL Screenshot
    • Download This Link is available when the caret is placed to a link in an editor. DTL Screenshot
    • Download Selected Link is available when some text in an editor is selected. DSL Screenshot
  • Supported types of links:
    • HTTP/HTTPS.
    • BitTorrent (requires specifying a path to a local torrent file).

Motivation

  • 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 wget and curl commands 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.

Installation

Just download a release and then choose this Zip file in Plugins | Install plugin from disk.

Running from source

./gradlew :plugin:runIde

This will open a sandbox-IDE with this plugin installed.

Building from source

./gradlew :plugin:buildPlugin

The plugin distribution file will appear in plugin/build/distributions dir.

Many things yet to improve

  • Introduce features:
    • Show Download This Link and Download Selected Link as 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 curl and wget commands.
    • Show download initial status and progress.
    • Allow stopping downloading.
    • Run reload from disk automatically after downloads.
  • 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 verification doesn'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 bundle concept, 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 Link word from names of actions.

Similar plugins

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.

dl-this's People

Contributors

servb avatar xjiebyujek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.