Jump to content

JetBrains Projects search (IntelliJ IDEA/WebStorm/PyCharm/GoLand/CLion/Android Studio/etc.)


Recommended Posts

JetBrains projects for Alfred

Alfred workflow for opening your JetBrains IDEs projects

image

Supported IDEs

IDE Name Version Keyword
Android Studio 4.1+ androidstudio
AppCode 2020.3+ appcode
CLion 2020.3+ clion
DataGrip 2020.3+ datagrip
GoLand 2020.3+ goland
IntelliJ IDEA 2020.3+ idea
PyCharm 2020.3+ pycharm
WebStorm 2020.3+ webstorm

Support for older IDE versions is not guaranteed.

Prerequisites

Project requires Python 3.9+ to run, which is not included by default with macOS. You can install Python 3 using this guide.

Downloading & Installing

Download *.alfredworkflow file for your IDE from the latest release at this project's Github Releases page and open it with Alfred.

How to Use

Open Alfred and type keyword for your IDE (see Supported IDEs above). Workflow will display list of recent projects ( sorted by time last opened descending).

You can further filter project list by typing additional words. Fuzzy first-letter search is supported (i.e. typing map will find my-awesome-project😞

animation

Built With

Feedback & Contributions

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Link to comment

Quick tip: because these are simple from a Workflow construction point (two connected objects), you might want to instead bundle them all in the same Workflow. That way it’s one download for people who use multiple tools, and because they are tiny in filesize, it won’t be a huge download. Also, makes it easier to maintain.

 

Otherwise, if you wish to keep them separate, you can remove the icons from the Script Filters. When you don't add an icon in those boxes, Alfred auto-uses the Workflow’s icon.

Link to comment
15 minutes ago, vitor said:

Quick tip: because these are simple from a Workflow construction point (two connected objects), you might want to instead bundle them all in the same Workflow. That way it’s one download for people who use multiple tools, and because they are tiny in filesize, it won’t be a huge download. Also, makes it easier to maintain.

 

Otherwise, if you wish to keep them separate, you can remove the icons from the Script Filters. When you don't add an icon in those boxes, Alfred auto-uses the Workflow’s icon.

It's a nice idea, I'll have to give it another thought

 

I reckon I made the decision to have separate workflows for each app for two reasons:

- you can get only what you need

- it is easier to support: it is basically just a single workflow template. When I need to support any new app I can it that programmatically with minimal changes without messing about with the GUI

Link to comment

Hi @Artemy, thanks for this great workflow. I'm sure users are going to find this helpful.

 

I was just wondering how is this different from just using a File Filter and then executing the command `idea <path>`. This would open the project in intelliJ. No language dependencies. That's what I created a few days ago when the below workflow stopped working. I was trying to incline more towards not using languages like Python and ruby etc since they usually break with some changes to the language or OS at some point and the developer of the workflow might not have the time to keep them up to date.

 

Sorry, I'm just trying to understand if your workflow provides any extra features except opening the project in IntelliJ

 

https://github.com/bchatard/jetbrains-alfred-workflow

 

EDIT: I'm not arguing against using a language, sometimes we need to use a language if the workflow is complex enough and things can't be done easily with the existing modules in Alfred or using shell script.

Edited by andy4222
Link to comment

Hi @andy4222

 

These are good questions, let me see how I can answer these

 

10 hours ago, andy4222 said:

I was just wondering how is this different from just using a File Filter and then executing the command `idea <path>`.

This workflow searches in your recent projects of IntellJ IDEA/PyCharm/etc., which is kept in a special xml file by each app. Due to how JetBrains apps manage projects it can be a bit difficult to use File Filter, since projects can be all over the filesystem.

 

10 hours ago, andy4222 said:

I was trying to incline more towards not using languages like Python and ruby etc since they usually break with some changes to the language or OS at some point and the developer of the workflow might not have the time to keep them up to date.

Good point about compatibility.

I try to keep this workflow up to date on account of using it every day myself. Of course, if you encounter any issues you are also free to submit bug reports on Github.

 

As for the "using languages" part - there's quite some logic for reading the files and for fuzzy search, which is hard to manage solely via Alfred features and/or shell scripts. Besides, python code is easier to test and maintain. There's even a small test harness to ensure there are no breaking changes between releases.

 

10 hours ago, andy4222 said:

I have certainly seen this workflow before I created my own (and perhaps, even got inspired by some of the decisions there), it is a nice project.

I am, however, not a fan of node/javascript ecosystem and the way of distribution of this workflow.

 

When creating my own workflow I was aiming at several goals:

- simplicity of distribution: just download the *.alfredworkflow file

- simplicity of design: it is simple enough that there are no external dependencies (the only thing needed is python3)

- simplicity of operation: should work out of the box (no need to mess about with setting up shell scripts for JetBrains apps)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...