【问题标题】:Eclipse pydev: automatically save file when running programEclipse pydev:运行程序时自动保存文件
【发布时间】:2011-12-21 17:41:14
【问题描述】:

过去,当我在 Eclipse 中对我的 .py 文件进行更改时,当我在调试模式下运行程序时,更改会自动保存。我喜欢这个,因为这意味着它正在调试的内容与我正在查看的内容相同。现在它不再这样做了,这意味着它实际上运行的是旧版本,除非我先手动保存文件。第一次运行程序时,Eclipse 询问我是否总是希望在程序运行时保存任何更改,我回答是。我不知道为什么它不再这样做或如何找回它。

这似乎是在我开始将 Mercurial TortoiseHg 与 BitBucket 一起使用之后发生的。作为其中的一部分,我确实移动了一些文件,但一切都回来了,并且命名和以前一样。

当然,我可以只做更改、保存、运行,但我宁愿不必记住额外的保存步骤。

编辑:实际上这是一个更大的问题。它也改变了我的断点。在常规编辑模式下,我 1) 设置断点并保存。 2) 在断点上方添加一个新行。一切看起来都很好。 3) 保存。现在第一个断点移动位置。

【问题讨论】:

  • 你能澄清一下断点的事情吗?当您在断点上方添加换行符时,断点将按照应有的方式向下移动。保存文件时断点到底发生了什么(应该什么都没有)?
  • 如果第一个断点在“print 'hello'”这一行,那么在第二次保存后,它就不再在这一行了。它似乎已经参考这条线向上移动。所以,是的,我想它实际上并没有移动,但应该是。
  • 有些东西在保存时似乎很糟糕。您是否尝试过移除 TortoiseHg 以查看这些问题是否会消失?您是否也考虑过 MercurialEclipse?我使用它没有问题。
  • 删除 TortoiseHg 无效。问题仍然存在。相反,我通过创建一个新的 Eclipse 项目并将我的文件复制到其中来“解决”这个问题。一切正常。我想我会再次尝试 TortoiseHg,然后看看第二次效果如何。不确定是什么导致了问题。
  • 好的,将 TortoiseHg 添加到我的新项目中。一切都恢复正常了。

标签: eclipse pydev


【解决方案1】:

根据您的描述,您似乎总是将文件作为外部文件打开,而不是工作区中的文件(断点未更新的事实是这里的主要线索)。

您可以检查 Eclipse 中显示的标题是否发生了这种情况(如果考虑到您的工作空间位置,它是完整的文件系统路径而不是相对路径,则可能发生这种情况)。

您如何打开正在运行的文件?您是从 PyDev 包资源管理器中打开它还是从文件系统中拖动它? (另外,知道您使用的是哪个 eclipse/pydev/tortoise 版本会很有趣)

【讨论】:

  • 我不再有错误的旧项目,因为我通过创建一个新项目并复制我的文件来“修复”问题。但是,是的,它可能已经不同步了,因为我有作为设置 TortoiseHg 的一部分,重命名文件夹等。另外,有一次我的文件被错误地在记事本中打开了。而且,是的,在某些时候文件名(在资源管理器中)包含完整路径,但不知何故消失了,然后它只是名称本身。我很确定我通过转到 File -> Open file in Eclipse 打开了文件。
  • 伙计,如果我刚刚通过 PyDev 包资源管理器再次打开它,问题可能已经消失了。 (我不敢尝试是否可以用“打开文件”重新创建问题。)
  • 请注意,PyDev 本身有一个错误(在旧版本上),这使得它有时不应该将文件作为外部文件打开(这在最新版本中已修复,但如果你仍然在旧版本上,更新它可能会很好)。
【解决方案2】:

查看您的首选项 -> 运行/调试 -> 启动,您可能在启动前为保存所需的脏编辑器设置了“从不”。

【讨论】:

  • 不。它设置为“始终”。我还在“启动前构建(如果需要)”中有一个复选标记(似乎它可能是相关的)。我现在将对我的问题添加一个编辑,因为该问题也会影响我的断点跳转。
猜你喜欢
  • 2016-08-12
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多