Alfred3 & Alfred4 workflow to easily open your projects with your favorite JetBrains product.
You need Node.js 10+ and Alfred 3.5+ with the paid Powerpack upgrade.
This workflow need one of JetBrains products (2019.1+), and its shell script to works
$ npm install -g @bchatard/alfred-jetbrains
Thanks to Alfy and alfred-notifier, you will be notify when a new version is available.
You can also install alfred-updater to update all your "Alfy Workflow".
- Via JetBrains Toolbox:
- Open the JetBrains Toolbox window, and then click on the parameter icon;
- In the following form, enable Generate shell scripts, and set a path for script
- More info: Toolbox App 1.11: What’s New.
- Via Product
Default Keywords
- AndroidStudio:
studio
; - AppCode:
appcode
; - CLion:
clion
; - DataGrip:
datagrip
; - GoLand:
goland
; - IntelliJ Idea:
idea
(default to Ultimate Edition, see customisation to change this); - PhpStorm:
pstorm
; - PyCharm:
pycharm
(default to Professional Edition, see customisation to change this); - WebStorm:
wstorm
; - Rider: Help wanted;
- RubyMine:
rubymine
;
Supported versions
I test with this products/versions:- AndroidStudio: 3.+;
- AppCode: 2018.3 / 2019.+ / 2020.+;
- CLion: 2018.3 / 2019.+ / 2020.+;
- DataGrip: 2018.3 / 2019.+ / 2020.+;
- GoLand: 2018.3 / 2019.+ / 2020.+;
- IntelliJ Idea: 2018.3 / 2019.+ / 2020.+;
- PhpStorm: 2018.3 / 2019.+ / 2020.+;
- PyCharm: 2018.3 / 2019.+ / 2020.+;
- WebStorm: 2018.3 / 2019.+ / 2020.+;
- RubyMine: 2018.3 / 2019.+ / 2020.+;
For other versions:
- Very old PhpStorm (and only PhpStorm), you can use my first workflow: PhpStorm Alfred Workflow
- Prior 2019, you can use my previous workflow: JetBrains Alfred Workflow
Some of JetBrains product are available in different editions (ex: PyCharm - Professional, Edu & Community).
In that case they share the same bin
/ keyword
, so you need to customise the Preferences folder to retrieve your projects.
A search engine is used to retrieve relevant project. For some use cases, the default configuration is not optimal for you.
With keyword jb
you can access to some actions for this workflow.
Some information are cached for better performance. You can change cache lifetime (see environment variable). This command flush all cache.
jb_product_cache_lifetime
: cache lifetime in seconds for "product data" (application path, bin path etc) [default: 86400 seconds]jb_project_cache_lifetime
: cache lifetime in seconds for project list (one cache per app) [default: 3600 seconds]jb_product_customisation_file
: path to JSON file for product customisationjb_search_customisation_file
: path to JSON file for search customisation