生成解决方案 F6,生成项目Shift+F6
调试执行F5,终止调试执行Shift+F5
执行调试Ctrl+F5
查找下一个F3,查找上一个Shift+F3
附加到进程Ctrl+Alt+P,逐过程F10,逐语句执行F11
切换断点F9(添加或取消断点)
运行至光标处Ctrl+F10
跳出当前方法Shift+F11
新建解决方案:Ctrl+Shift+N
打开解决方案:Ctrl+Shift+O
保存文件Ctrl+S,保存所有文件Ctrl+Shift+S
查看解决方案窗口Ctrl+W,Ctrl+S
查看属性窗口Ctrl+W,Ctrl+P
错误列表显示Ctrl+W,Ctrl+E
输出列表显示Ctrl+W,Ctrl+O
书签窗口Ctrl+W,B
切换书签Ctrl+B,T
切换到下一个书签Ctrl+B,N
切换到上一个书签Ctrl+B,P
清除书签Ctrl+B,C
活动窗口切换Ctrl+Tab
浏览器窗口Ctrl+W,W
断点窗口Ctrl+D,B
即使窗口Ctrl+D,I
工具箱Ctrl+W,Ctrl+X
全屏切换Shift+Alt+Enter,向后导航Ctrl±,向前导航Ctrl+Shift±
项目中添加类Shift+Alt+C
项目中添加新项Ctrl+Shift+A
项目中添加现有项Shift+Alt+A
查找Ctrl+F,在文件中查找Ctrl+Shift+F
渐进式搜索Ctrl+I,反式渐进式搜索Ctrl+Shift+I
替换Ctrl+H,在文件中替换Ctrl+Shift+H
转到行号Ctrl+G
剪切板循环Ctrl+Shift+V 注:在剪贴板中可以循环保存20项,您可以任意的调用你剪切过的内容,只要不断的按Ctrl+Shift+V键直到找到需要的那一项
游标移动一个单词 Ctrl+左右箭头
滚动代码屏幕,但不移动光标位置Ctrl+上下箭头
删除当前行Ctrl+Shift+L
隐藏或展开当前嵌套的折叠状态 Ctrl+M,M
所有隐藏或展开嵌套Ctrl+M,L
折叠到定义Ctrl+M,O
切换显示空白Ctrl+E,S
选择矩形文本Shift+Alt+方向键
全变为大写:Ctrl+Shift+U 全变为小写Ctrl+U
强制智能感知 Ctrl+J
查看方法参数信息Ctrl+Shift+空格
查看当前代码快速信息Ctrl+K,I
注释选中行Ctrl+K,C或Ctrl+E,C
取消注释行Ctrl+K,U或者Ctrl+E,U
插入代码段Ctrl+K,X
插入外侧代码段Ctrl+K,S
转到定义F12
生成方法存根,光标定位在调用的方法上,按Shift+Alt+F10
显示查看实现接口方法,光标定位在类要实现的接口上,按Shift+Alt+F10
查看所有引用,Ctrl+K,R
查看调用层次Ctrl+K,T
除上述这些常用的快捷键外,如果开发人员想查看系统快捷或扩展自己的快捷键,可以打开vs-【工具】-【选项】
在窗口中选中【环境】-【键盘】
搜索想要添加的快捷键功能。
其他vs2017总结
ALT+Enter 快速修补程序或添加引用
1.Ctrl+T 可快速查找并转到代码中的文件、类型、方法和其他元素。
2.Ctrl+G 转到行
3.Shift+F12 找所有引用
鼠标悬停到参考线,可显示直观代码结构
String.Format 转换为字符串插值$"{name}"
使用泛型,定义泛型
使用匿名方法,匿名委托,匿名类
var类型推断
扩展方法
linq,lambda
自动属性的增强 public Char Sex { get; set; } = ‘男’;
Lambda表达式用作属性 public override string ToString() => $“姓名:{Name},性别{Sex}”; public string FullName => $“姓名:{Name}”;
public string Value
{
get => internalValue;
set => internalValue = string.IsNullOrWhiteSpace(value) ? null : value;
}
在Using中可以指定一个静态类,然后可以在随后的代码中直接使用静态的成员
空值判断: Student student = students?[0]; int? len = students?.Count();//students为空,结果就为空,长度就为空
使用nameof函数可以保证变量名改名的时候,相对应的字符串也会改变 throw new ArgumentNullException(nameof(customer));
public int IntValue => int.TryParse(Value, out var intValue) ? intValue : 0;
异常过滤器 (Exception filters)
元组常用于返回多个值的方法。
解构方法 Deconstrct