几个超级实用但很少人知道的 VS 技巧[更新]
大家好,今天分享一些实用的 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?有时候你知道一些别人不知道的小技巧便可以让你显得更专业。
PS:本文所有示例演示均基于 VS 2019 (v16.6.3)版本。
1. 扩展/缩小选区
通过双击选中整个单词,这个操作大家应该都知道。但如何快速选择几个单词、或多个单词的字符串、或代码块呢?教大家一个快捷键,如何快速扩展选择代码区域。例如,当光标在一个字符串中时,使用下面的快捷键就可以选择整个字符串。
按 Alt + Shift + = 扩展选区,按 Alt + Shift + - 缩小选区:

你也可以使用 Alt + Shift + ] 直接选中一个代码块。
2. 切换窗口停靠
我们知道VS的窗口布局可以非常灵活的拖动,想摆哪摆哪。我们一般把常用的视图窗口固定停靠在编辑器的左边、右边或下边。但有时候为了查看方便,你可能需要临时把窗口拖到另一个位置(比如中心位置)。完了以后你还需要再次把它停靠到原来的位置,这样拖动起来就会比较麻烦。有一种非常快速的方法可以将窗口停靠到它之前停靠的位置。
按 Ctrl + 双击窗口标题:

3. 快速定位打开的文件
在 VS 中,你可以使用 Ctrl + T 打开 “Go To All” 搜索工具栏,通过搜索关键字轻松打开要找的文件。但是对于某些操作,比如重命名文件,你需要在解决方案资源管理器中找到该文件。
使用 Ctrl + [, S 或使用下面的图标按钮可以快速定位到当前打开的文件:

4. 多行编辑
Visual Studio 允许同时编辑多行,这对于将相同的更改应用于多行非常有用,例如同时修改多个属性的修饰符。下面有 4 个多行编辑代码的技巧。
按住 Alt 键,使用鼠标拖选:

按住 Alt + Shift 键,再按上/下/左/右方向键选择:

使用多个光标同时编辑。按住 Ctrl + Alt 键,点击或选择要插入或编辑的位置:

匹配相同单词并编辑。先选择要编辑的单词或字符,再按一下 Alt + Shift + ;,会自动匹配并选中所有相同的单词,然后开始编辑:

你也可以使用 Alt + Shift + . 只匹配选择下一个相同的单词。
5. 使用剪贴板历史粘贴
复制粘贴是写代码很常见的操作。我们在 Ctrl + V 时默认是粘贴你最后一次复制的内容,但有时你想使用上一次复制的内容,你可能会重新再复制一下。剪贴板一次只能包含一个内容。Visual Studio 附带了一个剪贴板历史记录,默认它包含你复制到剪贴板的最后 20 项记录。
通过使用 Ctrl + Shift + V,可以打开剪贴板的历史记录:

你可以将多个内容复制到剪贴板,并在稍后依次粘贴到相应的位置。
6. 整行上下移动
有时候我们需要调整一下代码行的位置,比如将代码行上移或下移几行。可以按住 Alt,然后使用上下方向键移动整行代码:

7. 直接拖动引用项目
在 VS 中的一个项目中引用另一个项目最方便的方法是直接把要引用的项目拖到该项目。
8. 设置 git pull 快捷键
最常用的 Git 操作就是 Pull 了,平时大家都是在 Team Explorer 窗口依次点击 Sync -> Pull 来操作。但用快捷键更方便,可以在 Tools -> Options -> Keyboard 中为 Git Pull 设置一个快捷键,比如设置为 CTRL + SHIFT + P。
9. 打开命令行窗口
我经常需要在项目的根目录打开命令行窗口执行一些命令,比如 dotnet ef 相关的命令。在 VS 2019 之前,每次要打开命令行窗口并定位到项目的根目录是相当的麻烦。好在 VS 2019 终于内置了命令行窗口,通过快捷键 Ctrl + ` 打开,或者点击 View -> Teminal 打开。打开后默认定位到项目的根目录,还可以创建多个 Tab。
10. 设置私有字段使用下划线前缀
默认情况下,VS 智能补全对类的私有字段使用的是 camelCase 命名风格,但有很多人更习惯使用 _camelCase 风格对私有字段命名,类的私有字段前面加 _ 前缀有助于和本地变量进行区分。我们可以通过设置来改变默认的 camelCase 命名行为,具体设置步骤如下。
依次点击:Tools -> Options -> Text Editor -> C# -> Code Style -> Naming -> Manage naming styles。
按照上面步骤操作后你会看到一个窗口,然后按照下图添加一个 Naming Style:
好了,来试试效果:
其它
本文只罗列了几个很多人都不知道的 VS 实用技巧,当然还有很多大多数人都知道的技巧,比如 Ctrl + D 复制当前行、Ctrl + X 剪切/删除当前行、Shift + Enter 新启一行等等,在这里就不一一罗列了。
你还知道哪些实用的 VS 使用技巧?欢迎留言分享!
本文更新于:2020年09月22日
几个超级实用但很少人知道的 VS 技巧[更新]的更多相关文章
- 几个超级实用但很少人知道的 VS 技巧
大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道.因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS "骚"操作 ...
- 很少人知道的office专用卸载工具
Microsoft Office是微软公司开发的一套基于 Windows 操作系统的办公软件套装.常用组件有 Word.Excel.Powerpoint等.当我们不需要再用了或者想安装旧版本的话,首先 ...
- 几个超级好用但很少有人知道的 webstorm技巧
我总结一些我发现的比较实用的功能,内容来自日常工作中用到的功能.图片来自PPT,是在公司内部的分享. 你不知道的webstorm进阶使用技巧 1.双击shift 全局搜索,可以搜索代码.设置等. 如果 ...
- 很少有人知道的c++中的try块函数
c++有一些在现实世界中很少看到的结构.这些结构有着自己的用法,但是要特别小心保守的予以运用.就像是网站 The Old New Thing首页标题上面的说的那样: “代码通常被读的次数原因超过了被写 ...
- 为数不多的人知道的 Kotlin 技巧及解析
文章中没有奇淫技巧,都是一些在实际开发中常用,但很容易被我们忽略的一些常见问题,源于平时的总结,这篇文章主要对这些常见问题进行分析. 这篇文章主要分析一些常见问题的解决方案,如果使用不当会对 性能 和 ...
- Dubbo 几个很实用但是很少人知道的功能
dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定知道,但是很好用的功能; 直连Provider 在开发及测试环境下,可能需要绕过注册中心,只测试指定服务提供者,这时候可能需要 ...
- 11 个很少人知道但很有用的 Linux 命令
Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...
- 12个很少被人知道的CSS事实
之前没有认真的研究过,padding-bottom的值如果是百分比,那么它的实际值是根据父类的宽度来调整的.我还以为是根据这个元素的本身的宽度来定义呢?汗..padding-top/padding-l ...
- C# 很少人知道的科技
本文来告诉大家在C#很少有人会发现的科技.即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面 因为C#在微软的帮助,已经从原来很简单的,到现在的很好用.在10多年,很少人知道微 ...
随机推荐
- Docker系列——Docker安装&基础命令
Docker 概述 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. ...
- IE浏览器连接WebSocket报错:java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
在项目开发中整合了WebSocket,本来没什么问题了,但是偶尔发现用IE浏览器打开web端不能推送消息,因为PC端与服务器建立连接失败了.网上查了很多资料, 又看了看源码,都不对症:又怀疑是Spri ...
- SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心
脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...
- C# DataTable查询示例
代码 public void Test() { #region 初始化数据 /* 数据 张三 语文 34.00 张三 数学 58.00 张三 英语 61.00 李四 语文 45.00 李四 数学 87 ...
- Istio安全-授权(实操三)
Istio安全-授权 目录 Istio安全-授权 授权HTTP流量 为使用HTTP流量的负载配置访问控制 卸载 授权TCP流量 部署 配置TCP负载的访问控制 卸载 使用JWT进行授权 部署 使用有效 ...
- Nginx Ingress 高并发实践
概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分 ...
- Android开发之使一打开activity等界面Edittext获取焦点,弹出软键盘java代码实现
// 获取编辑框焦点 editText.setFocusable(true); //打开软键盘 IInputMethodManager imm = (InputMethodManager)getSys ...
- stf-多设备管理平台搭建
项目地址: https://github.com/openstf/stf 安装.使用命令 # 安装stfbrew install rethinkdb graphicsmagick zeromq pro ...
- steam 数据转换
目录 数组和集合互转 数组转集合 方法一 遍历 方法二 asList 方法三 steam 集合转数组 方法一 循环 方法二 toArray 方法三 steam 小结 string转为Character ...
- 详解 Python 的二元算术运算,为什么说减法只是语法糖?
原题 | Unravelling binary arithmetic operations in Python 作者 | Brett Cannon 译者 | 豌豆花下猫("Python猫&q ...