更新:这个答案现在可以作为视频获得。
我一直在努力寻找一种方法来做到这一点。我知道这并不能回答您的确切问题。但实际上,您正在寻找的是一个工作流,您可以在其中以零(或接近零)延迟进行代码更改,我想我已经找到了最接近 Visual Studio 的方法。(因此避免了巨大的工程工作和处理“异常”项目)。
一旦你想到它,实现这个工作流程的方法实际上非常简单:
使用快捷键!
我想出的第一种方法是只使用设置断点的正常编辑和继续方法。只有使用键盘,您才能更快地做到这一点。这仅适用于循环调用的代码(例如:绘制/更新)。单击要修改的代码,添加F9断点F9(F5
这很不错。您不必使用鼠标点击左侧栏中相对较小的“添加断点”目标。但它确实将输入焦点移动到了行首,因此您通常必须再次使用鼠标来修复它,然后才能开始编辑。
我想要更快的东西。所以我想出了一个更好的解决方案:
同样,使用键盘:按Ctrl+ Alt+Break到“全部中断”。这几乎立即进入调试器,无需担心设置断点或您要修改的代码是否在循环中运行。这会将编辑器窗口和插入符号焦点更改为执行中断的文档,但您可以通过按“向后导航”的Ctrl+立即修复它。-
然后,您可以进行编辑,只需按下F5即可查看它们的实际效果。您只需使用鼠标一次(或根本不使用鼠标)即可开始选择您想要开始输入的位置 - 正如您所期望的那样。
诚然Ctrl++和Alt+对于您希望能够非常快速地完成的事情来说是可怕的组合键。如果只有一个键可以按下会更好。BreakCtrl-
如果你有完整的 Visual Studio,你可以把它变成一个宏或加载项。Express 没有这些 - 所以你能做的最好的就是修改你的键绑定(工具、自定义、键盘......)并将其绑定到两个相邻的键,你可以快速连续按下。或使用外部宏实用程序。
就我个人而言,我已经通过设置为鼠标上的备用按钮的宏设置了要连续按下的两个组合键(您似乎不需要两者之间的延迟)。效果相当好 - 因为我通常同时选择文本。稍后我可能还会添加一个键盘宏。
到目前为止,我已经确定了这种方法的两个小缺陷:
- 当您再次运行应用程序时,Visual Studio 会为其提供焦点。如果它保持专注就好了。在我的宏中添加鼠标左键是快速重新编辑代码的部分解决方案。
- “向后导航”不保留文本选择,只保留插入符号位置。