We’re happy to announce a new plugin for IntelliJ IDEA that will provide you a better experience when it comes to finding and managing dependencies in your JVM projects. And if you’re a Kotlin developer, you’ll be getting an additional bonus!
Finding the right package
You’re starting a new project, or working on an existing one, and you want to make some HTTP calls…
Hmm. Which library is the one that most folks are using? Let me Google it. Well there’s a bunch of them.
StackOverflow tells me this is the best and greatest. Wonder if it’s still maintained. Let me look at the Stars and Forks.
OK, I’m going with this one. Right. Let me find it on Maven Central.
We’ve all been there. Even if we know the library we want to use, we still go through the process of finding the latest version and referencing it in our project.
Welcome to Package Search
With Package Search this is now much simpler. From within the IDE, you can search, evaluate and manage all your dependencies.
Pull up the Packages tool window or simply invoke the Package dependency action to search for new packages.
The Package Manager Window provides information such as the source code links, activity on StackOverflow, GitHub, and all accessible directly with links from the entry. In addition it provides a list of all currently installed packages. From here you can add, remove, and update packages.
We currently support Maven and Gradle, although the system is completely pluggable and we’ll be adding support for other build tools in the future.
Code Completion Functionality
If you prefer adding dependencies directly yourself in your build files, you’ll be pleased to know that for starting with the 2019.2 IDE, you’ve already been using Package Search. The code completion that IntelliJ IDEA provides since the latest version is based on the Package Search Server, making it not only more complete but faster in terms of performance also.
Kotlin and Multiplatform discovery
If you’re a Kotlin user, you may have come across a certain scenario where you’re looking for a library and not sure which platforms it supports. Or in the case of developing multiplatform applications, you’d want something that supports all your target platforms.
Package Search caters to this need by providing you additional information about target platforms for libraries. The example below shows the case of assertk, a multiplatform library with support for a variety of targets. On the right pane you can see the specific ones as tags.
Trying it out
To get the Package Window and visual interface, you need to install the Package Search plugin that is available on the marketplace.
If you’re using IntelliJ IDEA 2019.2 or later, you’re already using this functionality when it comes to code completion for packages.
What’s in store
We have a ton of functionality planned for Package Search, amongst other things
- Web Interface
- Gradle Kotlin DSL
- Additional package repository indexing
- Support for multiple package formats
- Enhanced package metadata, including ranking
- Powerful query and sorting options
For those of you who have experience with NuGet and are using our .NET IDE Rider, this will definitely be familiar to you. The enhancements however are that we now have our own package index with additional metadata.
But Package Search is all about making discovery and dependency management easier, avoiding you having to spend time searching, collecting information and copy/pasting code. Your time is valuable, so that last thing we want is for you to read long blog posts.
Try it out and and let us know if you have any feedback.