防止PhpStorm在关闭时自动保存文件

PHP*_*Pst 22 phpstorm

当我关闭PhpStorm中的文件时,它会自动保存文件.如何更改它以问我"你想在关闭之前保存文件吗?"

Owe*_*wen 21

自动保存设置位于文件|下 设置| 一般.

http://www.jetbrains.com/phpstorm/webhelp/saving-and-reverting-changes.html

虽然自动保存对于本地非重要项目很方便,但在实际项目中这可能是灾难性的,需要首先检查每个更改.

更新:在最近的版本中,它们已被移至File | 设置| 外观和行为| 系统设置| 同步

  • 我正在使用mac,并在此处找到:版本8.0.1:首选项>系统设置>同步>保存文件谢谢.上帝保佑. (2认同)

Cra*_*der 18

无法完全禁用自动保存,但您可以部分控制此行为:

请注意,这些是可选的自动保存触发器,您无法完全关闭自动保存.

以下来自@Owen的答案是不正确的,因为无法在IDE中完全关闭自动保存.

自动保存是核心设计功能,我们相信它比手动保存更高效,更高效.没有办法禁用此行为或启用任何确认,引用FAQ(WebStorm基于IntelliJ IDEA平台,因此同样适用):

因为IntelliJ IDEA能够在大型重构操作中同时更改这么多文件,并且无需打开它们就可以更改它们,因此单个文件保存不是很有意义.认识到这一点,IntelliJ IDEA保留随时保存您的任何文件的权利.一旦你习惯了,你永远不必担心文件的保存状态,这真的很不错.

"如果我不喜欢我做的一些改变,并希望将它们推回去怎么办?",我听到你说.那么,IntelliJ IDEA包含了一个名为" 本地历史"的惊人功能.每次保存文件时,IntelliJ IDEA实际上都会保存文件与之前状态的差异,并保存它.您可以查看文件的整个编辑历史记录(返回一些可配置的天数),查看您所做的更改,并回滚任何更改.它胜利地统治,并且弥补了由于缺乏单文件保存而导致的暂时迷失方向.

这个功能已经在IntelliJ IDEA中使用了十年,现在甚至Apple已经认识到它比手动保存更好并且在Mac OS Lion中实现了它.

  • 我不喜欢这个功能_always_.例如,我们正在与一些同事讨论如何实现功能.在一台机器上使用IntelliJ,我们在许多文件中使用代码(就像api应该看起来的头脑风暴),但它们只是想法,而不是最终代码.在头脑风暴之后,Idea会自动保存这些更改,这很难从本地历史记录中恢复文件.使用另一个IDE,我只是关闭了文件并选择不保存更改. (25认同)
  • 这不是一个可接受的答案,即使记事本确实有"保存更改?" 问题选项.这是独裁的! (18认同)
  • 谢谢你的回答.我认为这是一种危险的行为,至少有一个配置禁用它是必要的.(PhpStorm是我见过的最好的PHP IDE.) (17认同)
  • 很明显,我没有比较它们,正如你在上面看到的那样...我比较的唯一特征是保存变化或不自由.当然我知道记事本不是一个IDE(我甚至没有说记事本++ ...原生记事本只是一个笔记记录者)正确的解决方案应该是让我选择继续自动保护.那将是公平的. (8认同)
  • @EdgarVillegasAlvarado依靠"你想保存吗?" 功能更糟糕,因为你可能会错误地点击"是".我觉得这个功能很棒.我输入时甚至自动保存,所以我不需要点击保存按钮或关闭文件.您应该使用的是版本控制系统. (4认同)
  • 你必须开玩笑...所以说你删除一堆代码并丢失你的编辑撤销/重做历史记录,现在你需要关闭文件并恢复丢失的代码?!不......你被搞砸了.最好有一些源代码版本控制系统.感谢上帝的git.这是一个延迟功能,特别是对于在处理文件时不断按ctrl + s的人. (3认同)
  • 作为IDE/vi用户超过十年,我仍然不喜欢Intellij的自动保存功能.对于传统程序员来说,这似乎非常违反直觉. (3认同)
  • @ErdinçÇorbacı,记事本不是在不打开文件的情况下执行重构和代码更改的IDE,记事本没有本地历史记录功能,比较这些产品是不正确的.大多数开发人员喜欢自动保存功能,当使用手动保存并要求确认的产品时,他们感到非常沮丧.给它一个机会,你会很快习惯自动保存. (2认同)
  • @ErdinçÇorbacı,支持这个选项需要更改依赖自动保存的很多产品内部,而我们知道有些用户可能觉得它很有用,不值得在平台上进行更改,其中一些可能会破坏平稳的操作在许多用例中.当您从一开始就设计产品时,自动保存的想法和过去12年开发的许多功能都依赖于它,此时添加保存确认是不可行的,特别是考虑到大多数用户都喜欢自动保存. (2认同)
  • 对我来说,对这个功能的主要反对意见是,如果你将filewatcher与livereload结合使用,你就会疯狂.我使用filewatcher来转换Typescript并使用grunt设置livereload.现在,在每次按键时,Filewatcher触发一次触发一次livereload,一个grunt检测到这些变化.当我键入一行代码时,浏览器重新加载页面大约10次.我看看我的浏览器,我必须等待另外5次重新加载链才能测试功能...不必要的行为是轻描淡写的 (2认同)
  • 我刚刚发现进入文件观察器设置并取消选中"立即文件同步"减少了重新加载链.:d (2认同)
  • @CrazyCoder"当你从一开始就设计产品时,自动保存的想法和过去12年开发的许多功能都依赖于它,在这一点上添加保存确认是不可行的".这是一个糟糕的设计模型.Eclipse在您进行重构时会自动更改大量文件,并且仍然可以使用"保存"功能顺利运行.这就解释了为什么IntelliJ缺少另一个关键特性:"保存动作",因为它会使产品无用,因为它需要在你打字时每秒调用一次动作! (2认同)
  • 这个功能打破了IDE和我的应用程序!! tmp文件写在编辑文件旁边,无权创建.因此,IDE无法写入实际文件,因为破坏的文件检查会首先引发异常,导致100%合法编辑. (2认同)
  • 此自动保存功能的另一个缺陷是它与某些构建工具(例如 grunt)的组合,后者将监视文件修改并自动重建。我发现 RubyMine 中的自动保存通常非常激进,以至于我什至没有时间在自动保存启动之前进行所需的几行更改,并且我的构建工具会拾取一半带有语法错误的已编写代码行。我喜欢使用 RubyMine 和我的自动化 grunt 任务。我当前正在编辑的文件的自动保存频率应该是可配置的,以便我可以同时使用两者。 (2认同)
  • 引用@CrazyCoder 的话,“我们相信它比手动保存更高效、更高效”。作为产品负责人,你相信什么真的很重要吗?您的客户是开发人员,每个开发人员都会对什么是“高效和多产”有不同的看法。了解您的客户 - 为他们提供可配置的选项。 (2认同)
  • 我每个月都会_引起_一些错误,特别是因为这个功能。也许我正在尝试一些东西并且不得不接听电话而忘记了我在做什么并关闭了文件。也许我在执行键盘快捷键时不小心输入了一个额外的字符而没有注意到。也许我的孩子碰了我的键盘。我喜欢 PhpStorm 的一切_除了这个糟糕的决定_。我的 IDE 不应该是错误的_原因_。而且我厌倦了人们说使用源代码控制 - 我这样做了,但它并没有解决我关闭文件的情况,因为我认为它是稳定的或不变的,但事实并非如此。可怕! (2认同)