大家好,今天分享一些实用的 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 技巧[更新]的更多相关文章

  1. 几个超级实用但很少人知道的 VS 技巧

    大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道.因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS "骚"操作 ...

  2. 很少人知道的office专用卸载工具

    Microsoft Office是微软公司开发的一套基于 Windows 操作系统的办公软件套装.常用组件有 Word.Excel.Powerpoint等.当我们不需要再用了或者想安装旧版本的话,首先 ...

  3. 几个超级好用但很少有人知道的 webstorm技巧

    我总结一些我发现的比较实用的功能,内容来自日常工作中用到的功能.图片来自PPT,是在公司内部的分享. 你不知道的webstorm进阶使用技巧 1.双击shift 全局搜索,可以搜索代码.设置等. 如果 ...

  4. 很少有人知道的c++中的try块函数

    c++有一些在现实世界中很少看到的结构.这些结构有着自己的用法,但是要特别小心保守的予以运用.就像是网站 The Old New Thing首页标题上面的说的那样: “代码通常被读的次数原因超过了被写 ...

  5. 为数不多的人知道的 Kotlin 技巧及解析

    文章中没有奇淫技巧,都是一些在实际开发中常用,但很容易被我们忽略的一些常见问题,源于平时的总结,这篇文章主要对这些常见问题进行分析. 这篇文章主要分析一些常见问题的解决方案,如果使用不当会对 性能 和 ...

  6. Dubbo 几个很实用但是很少人知道的功能

    dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定知道,但是很好用的功能; 直连Provider 在开发及测试环境下,可能需要绕过注册中心,只测试指定服务提供者,这时候可能需要 ...

  7. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  8. 12个很少被人知道的CSS事实

    之前没有认真的研究过,padding-bottom的值如果是百分比,那么它的实际值是根据父类的宽度来调整的.我还以为是根据这个元素的本身的宽度来定义呢?汗..padding-top/padding-l ...

  9. C# 很少人知道的科技

    本文来告诉大家在C#很少有人会发现的科技.即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面 因为C#在微软的帮助,已经从原来很简单的,到现在的很好用.在10多年,很少人知道微 ...

随机推荐

  1. Magento 2 Factory Objects

    In object oriented programming, a factory method is a method that’s used to instantiate an object. F ...

  2. oracle修改用户密码操作

    打开命令提示框输入以下内容: 1.输入:sqlplus /nolog //进入oralce控制台2.输入:conn /as sysdba //以管理员权限登录3.输入:alter user apps ...

  3. 面试28k职位,老乡面试官从HashCode到HashMap给我讲了一下午!「回家赶忙整理出1.6万字的面试材料」

    作者:小傅哥 博客:https://bugstack.cn 目录 一.前言 二.HashCode为什么使用31作为乘数 1. 固定乘积31在这用到了 2. 来自stackoverflow的回答 3. ...

  4. WordCount of Software Engineering

    1.Github项目地址:https://github.com/BayardM/WordCount 2.PSP表格(before): PSP2.1 Personal Software Process ...

  5. latex:公式中的文字

    公式环境中的说明文字应置于\mbox命令中.如果已经调用了数学工具宏包或者公式宏包,可改为选用一下3条功能更强的文本命令将简短文字插入公式中. \intertext{文本} 由amsmath宏包提供, ...

  6. Hello-Annie

    Annie theme Annie是一个简单的Hexo博客主题,如果你喜欢散文.诗歌.小说......那么它可能合你心意! ☞预览-1,☞预览-2 Features 文艺.优雅.简洁的博客主题 页头随 ...

  7. CloudBase Framework丨第一个 Deno 部署工具是如何打造的?

    云端一体化部署工具 CloudBase Framework (简称 CBF)自开源发布以来迭代迅速,不仅支持 Vue.React 等前端框架,也支持 Nuxt 等 SSR 框架,基于 Node 开发的 ...

  8. 百度与谷歌seo优化的差别

    http://www.wocaoseo.com/thread-126-1-1.html 常有朋友问谷歌(google)和百度(baidu)到底有什么区别?我在纠结这个问题该如何回答.如果从公平公正的角 ...

  9. AndroidStudio修改程序的包名,可以修改com.example.xxx之类的详解

    转载请说明出处.原创作品. 首先说明一下,当时公司需要修改androidStudio 项目的包名 于是上网查了一下,只看到了修改后面的包名,而不可以修改 前缀的com.example.xxx.所以很无 ...

  10. 深入了解Netty【八】TCP拆包、粘包和解决方案

    1.TCP协议传输过程 TCP协议是面向流的协议,是流式的,没有业务上的分段,只会根据当前套接字缓冲区的情况进行拆包或者粘包: 发送端的字节流都会先传入缓冲区,再通过网络传入到接收端的缓冲区中,最终由 ...