调试开始时停止 Eclipse 窃取焦点

Posted

技术标签:

【中文标题】调试开始时停止 Eclipse 窃取焦点【英文标题】:Stop Eclipse From Stealing Focus when debug starts 【发布时间】:2015-09-26 21:46:05 【问题描述】:

我首先要说这种事情在 Linux 中永远不会发生。可能是因为我使用了特殊的窗口管理器,但为了方便,我又回到了 OS X。

当 Eclipse PDT 调试开始时,它会获取焦点。通常这有点方便,不是特别方便,但通常很不方便。我正在使用 JIT,由于某种原因会触发 php 致命错误,但会立即退出。结果是焦点转移到了 Eclipse,并且重复如此,因为 javascript 会在计时器上重试失败的调用。

当焦点每隔 1 秒左右时,我无法描述尝试修复错误的感觉。

那么我怎样才能阻止 Eclipse JIT 触发致命错误或阻止 OS X Eclipse 窃取焦点。

我执行了此处列出的步骤 (http://www.martijndashorst.com/blog/2014/07/02/prevent-eclipse-stealing-focus/),但没有成功。

【问题讨论】:

链接失效了。 【参考方案1】:

转到窗口 -> 首选项 -> 运行/调试 -> 控制台。取消选中选项:

    显示程序何时写入标准输出 程序写入标准错误时显示

【讨论】:

看来这并不能阻止 Eclipse 窃取焦点——只是阻止 Eclipse 显示其控制台(在 Eclipse 中)【参考方案2】:

在调试的时候,还有一种情况是eclipse窗口在碰到断点的时候会偷走焦点。因为通常会在main() 函数处设置一个初始断点,所以它会在开始调试后立即窃取焦点,并且由于视图刷新速度较慢,因此看起来好像调试本身正在窃取焦点。

转到 Window -> Preferences -> Run/Debug 并取消选中选项“在遇到断点时激活工作台”。

]1

【讨论】:

以上是关于调试开始时停止 Eclipse 窃取焦点的主要内容,如果未能解决你的问题,请参考以下文章

NSCollectionView 在 selectable=YES 时窃取焦点

显示表单而不窃取焦点?

防止视图窃取焦点/将焦点设置到视图

如何防止新的 WPF 表单窃取焦点?

为啥 Android TabHost 从 TextView 中窃取焦点?

在 Eclipse 中查看变量时 Gdb 停止