1. 转到实现
在Visual Studio中,当你在代码中按下F12(转到定义)时,IDE会尝试带你跳转到当前引用的实际定义位置。
如果你的代码引用的是一个接口(Interface),并且你希望直接跳转到实现该接口的具体服务类(Service)中。
Visual Studio的标准行为并不会直接带你到实现代码,因为它默认跳转到接口的定义。
如果你想查看接口的某个方法在哪个类中被实现了,可以使用Ctrl+F12快捷键(或在菜单中选择“编辑” > “导航” > “转到实现”)。
这会列出所有实现了当前接口或抽象类方法的类,你可以从中选择并跳转到具体的实现。
2. 单步调试
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-38.png)
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-41.png)
在Visual Studio中 开始调试是F5,而开始执行不进行调试是Ctrl+F5。
开始执行不调试是不会命中任何断点之类的,就单纯的运行一下,但是F5调试一旦出现报错或有断点,它就会暂停下来。
调试中常用的两个功能:逐语句调试和逐过程调试,这个也就是所谓的单步调试啦。
我们先来看逐过程,快捷键是F10,我们按F10就会发现它执行到下一句,一步一步执行,但是会跳过方法的调用直接返回结果。
调试时想要不跳过方法的调用,就可以使用逐语句,这时候我们就发现经过方法时会进入到方法,这也就是逐过程和逐语句的区别。
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-42.png)
有时候我们使用F11逐语句调试的时候甚至会进入到标准库函数中,当然这并不是我们想要看到的东西。
所以说这时候我们该怎么出去呢,我们可以使用Shift+F11也就是跳出
3. 打断点的技巧
Visual Studio 打断点的快捷键:F9、暂停断点的快捷键Ctrl+F9
条件断点
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-44.png)
断点是可以添加很多条件的,比如在循环中添加循环次数==自己想要的值。
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-45-1024x290.png)
条件断点最常用的情形就是for循环,除了for循环,在一个方法调用里面其实也经常会用到。
比如说有一个方法经常会被调用,然后它的传参情况也千变万化,我们需要它传参是一种特殊情况的时候去命中一个断点,就可以使用条件断点。
断点组
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-46.png)
什么是断点组呢?
比如说:
你的程序里面有很多断点,一部分是为了测试功能A,一部分是为了测试功能B,还有一部分是为了调试某个BUG。
然后你希望能够比较好的去操作这些断点,它们一批一批是同时激活,还是同时取消掉呢?
4. 调试和断点更简便的使用方式
举个例子,如果你想直接从当前类的第一行(顶级语句)开始调试,就可以直接按F10逐过程开始调试。
再举个例子:
当你开始调试,如果你不想逐过程或逐语句往下走,想直接跳过到某一行。
通常的做法是:再打个断点然后逐语句执行跳下去。
但是还有更简单的方式,就是使用”运行到单击处”,将执行运行到此处。
亦或者使用鼠标右击然后点击运行到光标处。
![](https://ichistudio.cn/wp-content/uploads/2024/06/图片-47.png)
5. 折叠所有的方法或代码区域
在Visual Studio中,折叠所有的方法或代码区域可以使用以下快捷键:
Ctrl + M, O
:这将折叠所有的方法和代码区域。
![](https://ichistudio.cn/wp-content/uploads/2024/07/图片-7.png)