командная строка IntelliJ в Mac OS X - PullRequest
28 голосов
/ 20 октября 2011

Я пытаюсь запустить IntelliJ в командной строке в Mac OS X, чтобы использовать его diff. Теоретически idea.sh diff file1 file2 должно работать. На практике есть некоторые проблемы с файлом, которые, я думаю, я обошел (убрав некоторые аргументы для readlink и т. Д.).
Однако, когда он запускается, он хочет, чтобы я ввел информацию о лицензии (даже если экземпляр Intellij уже запущен и лицензия там есть). Что заставляет меня верить, что в Mac OS X существует некое разделение мира командной строки и мира не командной строки? Это правда?
Также, когда я выбираю 30 дней, он выдает мне следующее исключение:

java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/openapi/fileEditor/impl/FileEditorProviderManagerImpl.getProviders must not be null
    at com.intellij.openapi.fileEditor.impl.FileEditorProviderManagerImpl.getProviders(FileEditorProviderManagerImpl.java)
    at com.intellij.openapi.diff.impl.highlighting.EditorPlaceHolder.setContent(EditorPlaceHolder.java:73)
    at com.intellij.openapi.diff.impl.highlighting.DiffPanelState$1.run(DiffPanelState.java:38)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:864)
...

Ответы [ 5 ]

108 голосов
/ 12 мая 2016

IntelliJ может установить средство запуска командной строки, добавив его в каталог PATH, как любые другие команды в системе. Команда «идея».

IntelliJ Command-line Launcher

21 голосов
/ 20 октября 2011

Попробуйте вместо этого запустить /Applications/IntelliJ IDEA 10.app/Contents/MacOS/idea. idea.sh не предназначен для Mac и не будет работать без некоторых ручных изменений.

15 голосов
/ 13 апреля 2018

Попробуйте:

Инструменты> Создать средство запуска командной строки

Это создаст средство запуска командной строки.После этого вы можете запустить IntelliJ из нужной вам папки, например, с помощью такой команды:

idea .

или

idea <path to the folder>
6 голосов
/ 27 февраля 2012

Идея предполагает, что пути будут полностью уточнены, поэтому я написал небольшой вспомогательный скрипт.Вызвать как:

$ idiff foo.txt bar.txt

Код для idiff:

#!/bin/bash
idea='/Applications/IntelliJ IDEA 10.app/Contents/MacOS/idea'
left=`abspath $1`
right=`abspath $2`
"$idea" diff $left $right

Возможно, где-то есть настоящий инструмент abspath, но у меня есть простой свернутый вручную:

$ cat `which abspath`
#!/bin/bash
ORIG_DIR=`pwd`
for fn in $* ; do 
  if [ -e $fn ]; then
    d=`dirname $fn`
    if [ -z $d ]; then 
      echo `pwd`/$fn
    else
      cd $d
      echo `pwd`"/"`basename $fn`
    fi
  else
    echo "Don't know how to process $fn" 1>&2
    exit 1
  fi
  cd $ORIG_DIR
done
4 голосов
/ 30 января 2019

Первый шаг, за которым вы последуете и нажмете меню, Инструменты> Создать панель запуска командной строки вы запустите эту команду в том месте, где хотите открыть каталог проекта.

idea .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...