如何在分离模式下从终端运行Intellij IDEA

kyvafyod  于 2023-06-21  发布在  IntelliJ IDEA
关注(0)|答案(6)|浏览(150)

我正在尝试使用命令idea从Ubuntu 18.04.2 LTS的终端运行Intellij IDEA 2019.2。
但终端保持连接到IDEA输出- IDEA向其写入日志。
使用&idea &,但它没有帮助-控制台仍然连接到IDEA。

romach@romach:~/bin$ idea &
[2] 836
romach@romach:~/bin$ 2019-08-01 15:55:56,253 [   1189]   WARN - llij.ide.plugins.PluginManager - Docker integration not loaded: until build 182.SNAPSHOT < IU-192.5728.98 
2019-08-01 15:55:56,296 [   1232]   WARN - llij.ide.plugins.PluginManager - NodeJS not loaded: until build 191.SNAPSHOT < IU-192.5728.98 
2019-08-01 15:55:56,865 [   1801]   WARN - llij.ide.plugins.PluginManager - Docker integration not loaded: until build 182.SNAPSHOT < IU-192.5728.98 
2019-08-01 15:55:56,905 [   1841]   WARN - llij.ide.plugins.PluginManager - NodeJS not loaded: until build 191.SNAPSHOT < IU-192.5728.98 
2019-08-01 15:56:01,584 [   6520]   WARN - s.impl.EditorColorsManagerImpl - Cannot find scheme: VibrantInk from plugin: com.intellij.database
gkn4icbw

gkn4icbw1#

我不认为这个想法仍然是“附加”到控制台。它只是使用控制台作为输出。
尝试使用idea > /dev/null 2>&1 &将输出重定向到/dev/null

huwehgph

huwehgph2#

基于@Feedforward,我在我的**~/.bashrc**文件中添加了以下行:

function idea() {
    /opt/idea-IC-202.6397.94/bin/idea.sh "$1" > /dev/null 2>&1 &
}
  • 注意:将第二行替换为Idea正确路径 *

使用此函数,您可以在Idea中打开当前目录,如下所示:

$ idea .

只需将“.”替换为所需的目录

cotxawn7

cotxawn73#

首先,创建命令行启动器。

工具>创建命令行启动器...

这将创建/usr/local/bin/idea
现在,您可以导航到项目目录并打开项目,就像您可以使用vscode一样。

$ cd ~/MyProject
$ idea .
$

IntelliJ IDEA会将目录作为项目打开。您的终端将准备好接受您的下一个命令。
但让它工作的诀窍是IntelliJ IDEA必须已经在运行
如果IntelliJ IDEA当前未运行,您将看到输出打印到您的终端。在关闭项目之前,您的终端将无法执行其他命令(除非您将其作为后台进程运行)。
如果IntelliJ IDEA当前仅在其欢迎屏幕上运行,IntelliJ IDEA将打开一个新窗口并加载项目。
如果IntelliJ IDEA当前正在运行一个或多个项目窗口,IntelliJ IDEA将提示您执行以下操作:

在您希望编辑器等待的情况下,添加-w, --wait选项。
要快速编辑单个文件,请添加-e选项,即LightEdit mode

siv3szwd

siv3szwd4#

我在MacOS中遇到了类似的问题,用~/.zshrc中定义的以下函数修复了它:

function idea() {
    open -a "IntelliJ IDEA" "$1"
}

用法:idea .idea README.md

6tr1vspr

6tr1vspr5#

在我的例子中,我遇到了RubyMine的这个问题,基本上下一个解决方案对所有JetBrains产品都一样有效:
1.创建脚本:工具>创建命令行启动器
1.将下一个函数添加到.zshrc中(在bash中也是如此):
函数rubymine(){(mine“$@”&)> /dev/null 2>&1 }
将rubymine替换为您喜欢的任何其他名称,例如:intellij,并将我的替换为您的JetBrains产品,例如:* 想法 *
它比其他提到的解决方案更好,因为它将Rubymine移动到后台并抑制日志消息。
致谢:makandracards

qnyhuwrf

qnyhuwrf6#

所以我在windows,也有同样的问题。idea可执行文件是一个批处理脚本,它应该连接到控制台运行,因为它也是构建系统命令(如果你喜欢的话)。
解决方案是调用idea64命令。这是启动应用程序的实际二进制文件。理想情况下,Linux应该具有类似的行为。MacOS有一个更好的方法来实现它,正如@dds101010所提到的。

相关问题