原文:Visual Studio 使用及调试必知必会

 

一:C# CODING 技巧

1:TODO

然后 CTRL + W + T,打开任务列表,选中 Comments,就会显示所有待做的任务

2:打开所在的文件夹

右键单击任何一个文件选项卡, 选择"打开所在的文件夹",或在 Solution Explorer 的文件上面点右键;

3:比对同一个文件

鼠标向下拖动红框内的图标。

4:按意愿编程

我把它定义为:按意愿编程,即,在写代码过程中,如果觉得需要使用到一个新类,可以先不用创建这个类,可以先如下这么编写,然后按 ALT + SHIFT + F12,选择 Generate 就会在当前空间下新生成一个类。很爽,不打断你的当前编码思路。同理,如果要创建一个新的方法,也可以这样来做,极大的加快了我们的编码速度。

5:重构

VS 提供了一些快速的重构技巧,比如 类变量 重构为 属性,我们可以右键找到 Refactor,然后选择相应的重构项,

6:Safe Delete

一个变量要删除,怎么知道这个删除是安全的,使用 Alt + Del;

 

二:C#调试

1:命令窗口

CTRL + D + I,可以在立即窗口中写一些临时的代码;

2:编辑并继续

选中下面的选项,可以让你在调试暂停中,修改代码,而不用重新启动,

3:执行

单步执行:F10

跳进方法:F11

跳出方法:SHIFT + F11

执行到光标处:CTRL + F10

4:修改运行中的某值

直接修改法,如下:

立即窗口法,,然后在立即窗口写代码吧,如下:

5:回退当前执行代码

比如,代码运行到了 49 行了,想回到 45 行,没关系,鼠标点中黄色箭头,从 49 行拖到 45 行就可以了,如下:

6:查看当前调用链

CTRL + D + C,打开 Call Stack 窗口,这在调试的时候非常有帮助;

7:从进程开始调试

有时候,不想启动 VS 直接进行调试,比如,网站部署在本机,想从运行中的状态开始调试当前浏览器页面,即可以用 Attack to Process 启动调试,如下:

8:When Hit

我记得在我第一次写 Socket 程序的时候,调试耗费了无数的生命值,如果当时就知道使用 When Hit 这个功能就会好很多,即,如果断点命中,要打印出什么,这个在调试异步或者多线程代码的时候特别有用,如下:

其中,变量名或者代码,要写在{}中。

 

三:快捷键

1:剪切复制

复制当前行:CTRL + C

剪切当前行:CTRL + X,这也可被用来当作删除当前行;

粘贴:CTRL + V

循环复制:CTRL + SHIFT + V

4:折叠和展开

折叠当前大纲:CTRL + M + M

展开当前大纲:CTRL + M + M

折叠全部大纲:CTRL + M + O

展开全部大纲:CTRL + M + P

5:断点

设置断点:F9

取消断点:F9

取消全部断点:CTRL + SHIFT + F9

条件中断:如下,设置条件,

紧接着,

 

6:注释

注释当前行及选中行:CTRL + K + C

撤销注释:CTRL + K + U

7:选择

选中当前单词:CTRL + SHIFT + 箭头

8:定位

向后定位(回到光标上次所在位置):CTRL + 减号

向前定位:CTRL +  SHIFT + 减号

转到行:CTRL + G

9:查找

渐进式查找:CTRL + I,输入要查找的文本,再次按 CTRL + I

其它查找:CTRL + F,输入要查找的文本,查找方式,查

查找调用层次:CTRL + K + T,其结果如下,

10:切换

代码/设计窗口切换:F7 和 SHIFT + F7

打开文件间切换:CTRL + TAB

11:智能提示

重新弹出:Alt + →

12:缩进

单行|多行缩进:TAB

取消缩进:ALT + TAB

13:代码自动完成

你可以,敲入关键字(snippet) + TAB,如 Prop + TAB + TAB,生成一个属性。注意,两次TAB TAB是一个很好的东西,总是可以给我们生成意想不到的代码;

你还可以,还可以使用 CTRL + K + S,查看其它的可以快速完成的代码;

在其它一些情况下,你还可以使用ALT + SHIFT + F12,也可以用来自动生成代码,不如实现一个接口,这个时候,在类的后面的接口上使用该组合键,就会弹出提示让你 Generate 实现。

14:声明与引用

查看声明:F12

查看引用:SHIFT + F12

15:格式化代码

自动格式化当前窗口的代码:CTRL + K + D

16:BUILD

BUILD 解决方案:F6

BUILD 当前项目:SHIFT + F6

17:代码注释

给代码加注释:///

 

PS:另外,建议使用 Resharper,和 Resharper 的结合使用,还有很多提升编码效率和质量的技巧,你可以查看<Resharper的使用>。

Visual Studio 使用及调试必知必会的更多相关文章

  1. 《MySQL必知必会》整理

    目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 ...

  2. 《MySQL 必知必会》读书总结

    这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...

  3. SQL 必知必会

    本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...

  4. .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)

    Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...

  5. 《MySQL必知必会》[01] 基本查询

    <MySQL必知必会>(点击查看详情) 1.写在前面的话 这本书是一本MySQL的经典入门书籍,小小的一本,也受到众多网友推荐.之前自己学习的时候是啃的清华大学出版社的计算机系列教材< ...

  6. mysql必知必会

    春节放假没事,找了本电子书mysql必知必会敲了下.用的工具是有道笔记的markdown文档类型. 下面是根据大纲已经敲完的章节,可复制到有道笔记的查看,更美观. # 第一章 了解SQL## 什么是S ...

  7. 迈向高阶:优秀Android程序员必知必会的网络基础

    1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...

  8. SQL 必知必会 总结(一)

    SQL必知必会 总结(一) 第 1 课 了解SQL 1.数据库(database): 保存有组织的数据容器(通常是一个文件或一组文件). 2.数据库管理系统(DBMS): 数据库软件,数据库是通过 D ...

  9. SQL必知必会 -------- SELECT、注释

    主要是看<SQL必知必会>第四版的书,而写的一些SQL笔记,红色的是方便以后查询的sql语句,工作中主要是使用mysql数据库,所以笔记也是围绕mysql而写的. 下文调试的数据表sql语 ...

随机推荐

  1. zzu--2014年11月16日月潭赛 B称号

    1229: Rational Resistance Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 8  Solved: 4 [id=1229" ...

  2. C# 计算字符串/文件的哈希值(MD5、SHA)

    原文 C# 计算字符串的哈希值(MD5.SHA) 已做修改 一.关于本文 本文中是一个类库,包括下面几个函数: /// 1)计算32位MD5码(大小写):Hash_MD5_32 /// 2)计算16位 ...

  3. SESC中的热量模拟器

    SESC安装见前文 配置sesc支持热量模拟 ../sesc/configure --enable-power --enable-therm make 遇到问题: 1 找不到 liblevmar.a ...

  4. windows server 搭建radius服务器

    使用ISA 2004搭建PPTP/L2TP 服务器后,VPN账号是在radius服务器上的,使用window server 2003搭建radius服务器,需要添加组件->internet验证服 ...

  5. Java文件压缩分割(待)

    http://blog.csdn.net/ycg01/article/details/1366648

  6. 微信简单Demo

    新建一个WxHandler.ashx public class WxHandler : IHttpHandler { public static string Msg; public void Pro ...

  7. JAVA insert() 插入字符串 reverse() 颠倒 delete()和deleteCharAt() 删除字符 replace() 替换 substring() 截取子串

    insert() 插入字符串 StringBuffer insert(int index,String str) StringBuffer insert(int index,char ch) Stri ...

  8. 用XAML做网页!!—终结篇

    原文:用XAML做网页!!-终结篇 迄今为止的设计都很顺利,但这次就不得不接触我前面所说的非常糟糕的流文档了,但在此之前先来把标题弄好: <Border BorderBrush="#6 ...

  9. OSGI学习总结

    最近的一项研究了解了一下OSGI技术,感觉OSGI尽管有一定的学习难度.可是终于掌握和推广之后将是一项对系统开发比較实用的技术.在此和大家分享一下自己的感悟. 1.什么是OSGI OSGI直译为&qu ...

  10. 解决错误 fatal error C1010: unexpected end of file while looking for precompiled head

    在编译VS时候,出现fatal error C1010: unexpected end of file while looking for precompiled head. 问题详解:致命错误C10 ...