-
-
Save chrisdarroch/7018927 to your computer and use it in GitHub Desktop.
#!/bin/sh | |
# check for where the latest version of IDEA is installed | |
IDEA=`ls -1d /Applications/IntelliJ\ * | tail -n1` | |
wd=`pwd` | |
# were we given a directory? | |
if [ -d "$1" ]; then | |
# echo "checking for things in the working dir given" | |
wd=`ls -1d "$1" | head -n1` | |
fi | |
# were we given a file? | |
if [ -f "$1" ]; then | |
# echo "opening '$1'" | |
open -a "$IDEA" "$1" | |
else | |
# let's check for stuff in our working directory. | |
pushd $wd > /dev/null | |
# does our working dir have an .idea directory? | |
if [ -d ".idea" ]; then | |
# echo "opening via the .idea dir" | |
open -a "$IDEA" . | |
# is there an IDEA project file? | |
elif [ -f *.ipr ]; then | |
# echo "opening via the project file" | |
open -a "$IDEA" `ls -1d *.ipr | head -n1` | |
# Is there a pom.xml? | |
elif [ -f pom.xml ]; then | |
# echo "importing from pom" | |
open -a "$IDEA" "pom.xml" | |
# can't do anything smart; just open IDEA | |
else | |
# echo 'cbf' | |
open "$IDEA" | |
fi | |
popd > /dev/null | |
fi |
Super useful for Alfred. Thanks for sharing!
I'll add my thanks to the chorus - works perfectly!
Nice stuff! Modified for Android Studio
https://gist.github.com/AfzalivE/6651fdbc21e0c87de4dd4f031b8e1102
Quite useful, thanks for sharing
Does anyone have a fish function version?
Either way, thanks for sharing this!
Nice! -- To open new a IntelliJ instance in a virgin folder:
$ mkdir .idea
$ idea .
Fantastic work. Thanks guys
Setup
curl -L "https://gist.githubusercontent.com/chrisdarroch/7018927/raw/9a6d663fd7a52aa76a943fe8a9bc6091ad06b18d/idea" -o /usr/local/bin/idea
chmod +x /usr/local/bin/idea
usage: open terminal and navigate to your project
idea .
Tested on Mac OS X
Note: If you get a “Permission denied” error, your /usr/local/bin directory probably isn’t writable and you’ll need to install script as the superuser. Run sudo -i, then the two commands above, then exit.
Thanks, worked well. 👍
Thanks, Great work 👍
Nice!
Guys, jetbrains products already support open projects from command line: http://stackoverflow.com/a/9174446/1611015
@SButterfly, thanks for pointing that out! 👍
@tientq Thanks for making it simple.
Worked like a charm on OS X 10.11.6. Thank you
thanks! 👍
cool!
Works great ! Thank you 👍
Thank you for this!
Inspired by your logic I've created a powershell cmdlet to help windows users do the same:
https://github.com/Laffs2k5/powershell_various/blob/master/Open-DirectoryAsIdeaProject.ps1
good job.
Thank you
nice! thanks!
Alternative way, IntelliJ IDEA -> Tools -> Create Command-line Launcher...
👍
to use it with Jetbrains TOOLBOX you need to modify 4th line:
IDEA=`ls -1d /Applications/JetBrains\ TOOLBOX/apps/IDEA-U/*/*/IntelliJ\ IDEA.app | tail -n1`
This is great!
I improved it a bit with some logic that will dynamically pick the either intellij installation found (non-toolbox or toolbox installed) app, check it out here:
https://gist.github.com/dotCipher/9c5f7647bda088fde5dc561cc121b0a5
This function doesn't return the latest version.
183.4886.12
183.4886.3 <-- returns this one
I had to sort by modified date using ls -tr
.
I use this:
export JETBRAINS_TOOLBOX_ROOT="${HOME}/Library/Application Support/JetBrains/Toolbox/apps"
# product = IDEA-U, CLion, etc.
# bin = idea, clion, etc.
jetbrainsToolboxPath() {
product=$1
bin=$2
# -tr = sort by last update in reverse
ret=`ls -tr -1d "${JETBRAINS_TOOLBOX_ROOT}"/$product/*/*/*.app/Contents/MacOS/$bin | tail -n1`
# Escape string because it has spaces.
echo $(printf '%q' $ret)
}
export LATEST_IDEA_VERSION_CLI=`jetbrainsToolboxPath IDEA-U idea`
export LATEST_CLION_VERSION_CLI=`jetbrainsToolboxPath Clion clion`
export LATEST_APPCODE_VERSION_CLI=`jetbrainsToolboxPath AppCode appcode`
Setup
curl -L "https://gist.githubusercontent.com/chrisdarroch/7018927/raw/9a6d663fd7a52aa76a943fe8a9bc6091ad06b18d/idea" -o /usr/local/bin/idea chmod +x /usr/local/bin/idea
usage: open terminal and navigate to your project
idea .
Tested on Mac OS X
Note: If you get a “Permission denied” error, your /usr/local/bin directory probably isn’t writable and you’ll need to install script as the superuser. Run sudo -i, then the two commands above, then exit.
Thank you
thx!
Thx @cris
Great work.Thanks for sharing, this is very useful.