【问题标题】:How to prevent phpstorm to reload file without prompt when file on disk is changed?如何防止phpstorm在磁盘上的文件更改时重新加载文件而不提示?
【发布时间】:2011-07-08 07:16:04
【问题描述】:

当一个文件被 phpstorm 打开时,我做了一些更改而没有保存。 但与此同时,磁盘上的文件也发生了变化。 然后 phpstorm 将从磁盘重新加载文件,没有提示。我的所有更改都将丢失。

【问题讨论】:

    标签: php intellij-idea phpstorm


    【解决方案1】:
    1. Settings/Preferences | Appearance & Behavior | System Settings

    2. 取消勾选Synchronize files on frame activation选项

    现在 PhpStorm 会询问您该怎么做:您将有几个选项可供选择:

    • 加载文件系统更改(从文件加载外部更改)
    • 保留内存更改(忽略外部更改并继续编辑器中的文本)
    • 显示差异(显示差异视图以查看差异并决定需要手动更改的内容)

    【讨论】:

    • 谢谢。在 phpstorm 10 中,它已移至“设置”>“外观和行为”>“系统设置”
    • @o.d 谢谢——更新了我的答案以反映当前的 IDE 版本。
    【解决方案2】:

    @LazyOne 的回答与 PhpStorm 的早期版本有关。在 PhpStorm 8.0 中,有两个复选框可以更精细地控制您的文件同步设置:

    1. 在 PhpStorm 中,通过从菜单中选择 Preferences 或单击 ⌘ Comma (Mac) 或 Ctrl+Alt+S(Linux 和 Windows)打开 Settings / Preferences 对话框。
    2. 点击外观和行为,然后点击系统设置
    3. 同步下,有两个复选框:第一个标记为在框架激活时同步文件,第二个标记为在框架停用时保存文件

    复选框的作用如下:

    • 当您从另一个应用程序切换到 PhpStorm 时,选中第一个框将检测并重新加载磁盘中的外部文件。
    • 选中第二个框将在您每次从 PhpStorm 切换到另一个应用程序时保存所有修改过的文件。
    • 如果您取消选中两个框,PhpStorm 会提供一个简单的提示“磁盘上的文件已更改”,并提供一个链接以在 PhpStorm 中重新加载它们。

    当 PhpStorm 与磁盘上更改的文件发生冲突时,系统会要求您选择要做什么:

    • 加载更改:单击此按钮加载生成的文件版本 在 PhpStorm 之外,并覆盖您的本地更改。
    • 保留内存更改:单击此按钮可保留在 PhpStorm 中生成并存储在缓存中的版本。
    • 显示差异单击此按钮可调用差异查看器,在左侧显示文件系统中的版本,在右侧显示 PhpStorm 版本。

    更多详细信息可以在 System SettingsFile Cache Conflict 页面的 PhpStorm 文档页面中找到。

    【讨论】:

    • 有没有办法让 PHPStorm 在文件更改时显示此对话框?即使您的版本已保存更改?而不是完全用磁盘上的版本重新加载文件......?
    猜你喜欢
    • 2020-12-01
    • 2021-09-26
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 2019-01-27
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多