1

不确定这是否是提出以下问题的正确论坛:

我在运行 High Sierra 的 Macbook Pro 机器上使用pycharm和都在同一个签出代码库上。goland我想确保pycharm和之间的临时文件goland不共享。

我面临的主要问题是,当我打开 GoLand 或 PyCharm 时,它会从我使用的最后一个软件中获取状态(即,如果我pycharms用来进行一些编码,则打开时会打开同一组文件,GoLand这很烦人并且浪费很多时间。

我可以修改什么以确保它们都保持单独的状态。

编辑->

似乎intellij确实使这个可配置的..基于这个链接。

https://intellij-support.jetbrains.com/hc/en-us/articles/207240985-Changing-IDE-default-directories-used-for-config-plugins-and-caches-storage

理想情况下,我想让 pycharm 缓存位于.idea/pycharmand .idea/goland

4

1 回答 1

1

这可能很困难,因为显然 JetBrains 为多个产品使用相同的配置基础架构。我知道它适用于 PyCharm,但我无法检查是否同样适用于 GoLand,因为我没有使用它。假设它适用于其余的答案。

您感兴趣的每个项目设置存在于.idea项目目录的子目录中,由多个产品使用/共享。从.idea 文件夹是什么?

解决方案根目录中的.idea文件夹(在 OS X 上隐藏)包含 IntelliJ 的项目特定设置文件。其中包括每个项目的详细信息,例如 VCS 映射和运行和调试配置,以及每个用户的详细信息,例如当前打开的文件、导航历史记录和当前选择的配置。

在这种情况下,分离 2 个 IDE 的设置的一种可能方法是根据需要制作.idea目录的 2 个不同副本以进行符号链接.idea,具体取决于正在使用的 IDE。

请注意,以下示例基于 Linux,可能需要针对 Mac 进行一些调整。

例如,要运行 PyCharm:

project_dir> rm -f .idea; ln -s .idea_pycharm .idea
project_dir> ls -ld .idea*
lrwxrwxrwx 1 username at   13 Apr 19 13:05 .idea -> .idea_pycharm
drwxrwxr-x 2 username at 4096 Apr 19 13:03 .idea_goland
drwxrwxr-x 2 username at 4096 Apr 19 13:03 .idea_pycharm
project_dir> pycharm&

并运行 GoLand:

project_dir> rm -f .idea ; ln -s .idea_goland .idea
project_dir> ls -ld .idea*
lrwxrwxrwx 1 username at   12 Apr 19 13:06 .idea -> .idea_goland
drwxrwxr-x 2 username at 4096 Apr 19 13:03 .idea_goland
drwxrwxr-x 2 username at 4096 Apr 19 13:03 .idea_pycharm
project_dir> goland&

为了更加方便,您还可以(以 root 身份)重命名相应的可执行文件并使用原始名称创建包装脚本,这将自动执行此操作(您必须从相应的项目目录中调用它们)。这些方面的东西:

# mv /usr/local/pycharm-5.0.6/bin/pycharm.sh /usr/local/pycharm-5.0.6/bin/pycharm.sh.orig
# vi /usr/local/pycharm-5.0.6/bin/pycharm.sh
# chmod a+x /usr/local/pycharm-5.0.6/bin/pycharm.sh
# cat /usr/local/pycharm-5.0.6/bin/pycharm.sh
#!/bin/sh

if [ -d .idea_pycharm ]; then
    rm -f .idea
    ln -s .idea_pycharm .idea
    ls -ld .idea*
fi

exec /usr/local/pycharm-5.0.6/bin/pycharm.sh.orig "$@"

笔记:

  • 该方案总体上仅在一次运行一个 IDE 时有效,如果在启动第二个 IDE 时仍然运行,第一个可能会受到损害
  • 包装器仅对启动它们的项目目录有效,如果其他项目同时打开,它们将不会更新其符号链接
于 2018-04-19T17:57:02.353 回答