在立即窗口中,我可以执行一行代码。我还可以在特定点设置断点,以便当达到断点时,程序停止,我可以在立即窗口中运行我的代码行。是否有任何方式(包括扩展)可以自动执行此操作?
或多或少。 您可以右键单击任何断点并选择“操作...”(VS 2017,以了解更早版本的信息)
里面唯一的选项是打印消息,这通常足够了,但是您也可以在其中运行任意代码。例如:{Console.WriteLine("Hello World")}
在Visual Studio的早期版本中,该选项可通过右键单击并选择“When Hit ...”来使用:
这将输出:
Hello World
表达式已被评估并且没有值
这意味着您可以调用任意方法。 任何其他副作用将传递给正在运行的应用程序。 我有时会使用它来临时修补代码问题,而无需重新启动64位应用程序。
请记住,与正常程序执行相比,这特别慢。
对于Visual Studio 2017的答案与Thorarin的答案类似,但一些UI组件已经发生了变化。
在Visual Studio 2017中,您要查找的菜单项是“操作(Actions)”。
右键单击断点,选择“操作(Actions)”,然后将您希望执行的代码放置在“将消息记录到输出窗口”字段的括号 { .. code to execute .. }
中。