Mac OS X上的命令行IntelliJ

时间:2011-10-20 13:16:16

标签: macos intellij-idea

我正在尝试在Mac OS X的命令行上启动IntelliJ以使用它的diff工具。理论上idea.sh diff file1 file2应该有用。在实践中,我认为我处理过的文件存在一些问题(删除一些readlink等参数) 但是当它启动时,它希望我输入许可证信息(即使Intellij的实例已在运行并且许可证在那里)。这让我相信Mac OS X上的命令行界与非命令行界有某种分离?这是真的吗? 此外,当我选择30天eval时,它继续给我以下例外:

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)
...

6 个答案:

答案 0 :(得分:104)

IntelliJ可以为您安装命令行启动程序,将其添加到PATH目录将使其与系统上的任何其他命令一样。命令是“想法”。

IntelliJ Command-line Launcher

答案 1 :(得分:21)

尝试改为运行/Applications/IntelliJ IDEA 10.app/Contents/MacOS/ideaidea.sh不适用于Mac,如果不进行一些手动更改,则无法使用。

答案 2 :(得分:12)

尝试:

工具>创建命令行启动器

这将创建一个命令行启动器。 之后,您可以从所需的文件夹启动IntelliJ,就像这样的命令:

idea .

idea <path to the folder>

答案 3 :(得分:6)

Idea希望路径完全合格,所以我写了一个小帮手脚本。调用如:

$ 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 :(得分:3)

第一步,您将遵循并单击菜单,工具>创建命令行启动器,然后在要打开项目目录的目录上运行此命令。

idea .

答案 5 :(得分:0)

如果已安装工具箱,则现在可以使用“工具箱应用程序设置”对其进行控制。

首先使用(全局)工具箱应用设置启用:

enter image description here

现在,您可以在IDE级别启用(此处使用Intellij):

enter image description here