我正在尝试在Mac中通过命令行启动IntelliJ,以使用它的diff工具。从理论上讲,idea.sh diff file1 file2
应该可以工作。实际上,这个文件存在一些问题,我想我已经解决了这些问题(删除了一些readlink等参数)。
然而,当它启动时,它会让我输入许可证信息(即使Intellij的一个实例已经在运行并且许可证已经存在)。这让我相信,在Mac上,命令行世界与非命令行世界之间存在某种程度的分离?这是真的吗?
另外,当我选择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)
...
发布于 2011-10-20 21:34:19
请尝试运行/Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea
。idea.sh
不是为Mac设计的,如果没有一些手动更改,它将无法工作。
另一个选项是创建命令行启动器: Tools | create Command-line Launcher。
如果您使用的是Toolbox,它提供了自动创建命令启动器的方法。
发布于 2016-05-12 15:48:28
IntelliJ可以为您安装命令行启动程序,将其添加到路径目录将使其与系统上的任何其他命令一样。命令是"idea“。
发布于 2012-02-28 01:12:52
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
https://stackoverflow.com/questions/7836492
复制相似问题