我正在使用带有fish shell的IntelliJ的嵌入式终端,它有一个例外:它似乎没有加载~/.config/fish/functions/*
中定义的鱼函数。
当我使用macOS Terminal.app或iTerm2时,函数按预期加载,只有IntelliJ的嵌入式终端无法这样做。
奇怪的是,IntelliJ终端 加载~/.config/fish/config.fish
就好了。
以下是iterm2和Terminal.app中的echo $fish_function_path
输出:
/Users/moritz/.config/fish/functions
/usr/local/Cellar/fish/2.6.0/etc/fish/functions
/usr/local/share/fish/vendor_functions.d
/usr/local/Cellar/fish/2.6.0/share/fish/functions
这是在IntelliJ的嵌入式终端中运行相同的输出:
/Applications/IntelliJ IDEA.app/Contents/plugins/terminal/fish/functions
/usr/local/Cellar/fish/2.6.0/etc/fish/functions
/usr/local/share/fish/vendor_functions.d
/usr/local/Cellar/fish/2.6.0/share/fish/functions
我想这看起来像IntelliJ的嵌入式终端使用$fish_function_path
的不同值初始化fish会话?
$HOME
(= /Users/moritz
)和$XDG_CONFIG_HOME
(未设置)在iTerm2,Terminal.app和IntelliJ的嵌入式终端中都是相同的。
答案 0 :(得分:19)
通过转到“设置”|“设置”,我可以在IntelliJ的嵌入式终端和iTerm2中从echo $fish_function_path
获得相同的结果。然后终端关闭Shell集成。
我使用的是phpStorm 2017.3.4,但我认为这也适用于任何IntelliJ嵌入式终端。
答案 1 :(得分:8)
有人在IntelliJ bug tracker发布了一个很好的解决方案。
IntelliJ有自己的config.fish
,其中加载了.config/fish/config.fish
,但没有加载......
将以下内容添加到IntelliJ的内部config.fish
中,并且可以在IntelliJ的嵌入式终端中正确加载鱼函数:
if test -d ~/.config/fish/functions
for f in ~/.config/fish/functions/*.fish
source $f
end
end
IntelliJ config.fish
的位置各不相同,可能是macOS
/Applications/IntelliJ\ IDEA.app/Contents/plugins/terminal/fish/config.fish
/Applications/IntelliJ\ IDEA\ CE.app/Contents/plugins/terminal/fish/config.fish
~/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/172.4574.11/IntelliJ IDEA.app/Contents/plugins/terminal/fish
您也可以使用符号链接将IntelliJ' fish
中的整个plugins/terminal
目录替换为普通的fish配置目录,通常为.config/fish/
。
还有另一种选择:您只需链接functions
目录,例如:
ln -s ~/.config/fish/functions \
/Applications/IntelliJ\ IDEA.app/Contents/plugins/terminal/fish/config.fish
答案 2 :(得分:2)
对我而言,因为我使用bass
并在该目录中放置了一些<script src="https://code.jquery.com/jquery-1.10.2.min.js"
integrity="sha256-C6CB9UYIS9UJeqinPHWTHVqh/E1uhG5Twh+Y5qFQmYg="
crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"
integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30="
crossorigin="anonymous"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<div id="SampleDiv"></div>
文件,所以我必须稍微调整一下。
.py
此外,我发现终极版的路径有点不同:
if test -d ~/.config/fish/functions
for f in ~/.config/fish/functions/*.fish
source $f
end
end
答案 3 :(得分:1)
答案 4 :(得分:0)
我仍然在IntelliJ 2018.1和Clion 2018.1中遇到同样的问题。我尝试通过这个帖子中的建议来修复Clion,但是有些它没有用(即使一切似乎都没问题,我得到了更多的错误信息)。
所以我的解决方法是将Idea终端设置为/ bin / bash(在设置/工具/终端 - Shell路径中),然后作为终端窗口中的第一个命令输入fish ..一切正常,没有摆弄终端插件需要。
(我觉得很可惜,Jetbrain不能解决它...而且/ IDEA-173259已经关闭&#34;)