VS2019 实用操作
本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作、提高编码效率、改善编程体验。
列模式操作
列操作是一项很常用且实用的功能,可以一次性修改不同的行。
在 VS2010 中已经存在该操作方式,下面表格列出 VStudio 及另外几个常用编辑器的操作方式。
| 编辑环境 | 操作方式 |
|---|---|
| VStudio | 按着 Alt 键,同时使用鼠标左键进行列操作 |
| VS Code | 按着 Alt 键,同时使用鼠标左键单击需要操作的行 |
| Sublime Text | 按着 Shift 键,同时使用鼠标右键键进行列操作 |
| Notepad2 | 按着 Alt 键,同时使用鼠标左键进行列操作 |
代码片段(Code Snippets)
编写程序过程中会有很多重复的代码片段,如 if 语句、for 语句等,如果编辑器能够在输入 if、for 等关键词后自动填充剩余部分,无疑会在减少枯燥操作的同时节省大量时间。
在 VS2010 中,没有提供 C++ 的代码片段支持,需要安装 Visual Assist X 才能使用;在 VS2019 中则提供了相关支持。可以通过 Tools->Code Snippets Manager… 查看当前环境支持的语言及代码片段所在的目录,我们可以根据需要添加新的代码片段或修改已有的。

以 if 语句为例,输入 if 后,若是 C++ 文件则 单击 Tab 即可填充剩余部分;若是 C# 文件则需要 双击 Tab 才能填充剩余部分。也可以直接使用 Edit->IntelliSense->Surrouond With… (Ctrl+K+S) 来选择需要的输入。
复制(Duplicate)
复制(Ctrl+C)和粘贴(Ctrl+V)是两个操作,在 VS2019 中可以使用 Duplicate(Ctrl+D) 一个操作来代替。
对于单行代码,把光标放在该行任意位置,对于多行,选中代码块,然后使用快捷键 Ctrl+D 即可完成复制粘贴操作。
转到(Go To)
在使用 Sublime Text 和 VS Code 的过程中,通过 Ctrl+P 弹出的输入框可以进行多项操作,如查找文件(输入文件名)、跳转到某一行(输入:行号)、查找符号(输入@符号名)等,非常方便实用。
在 VS2019 中也有类似的输入框,通过 Edit->Go To 下的子菜单即可弹出,效果如下:

在 VS2019 中快捷键 Ctrl+P 对应的操作是打印,由于该操作并不常用,可以将其移除,然后将 Edit->Go To->Go To File… 的快捷键设置为 Ctrl+P。
如下图所示:1.删除之前的快捷键;2.输入新的快捷键;3.设置使之生效。

转到定义(Go To Definition)
当要查找一个变量、函数或类等的定义时,选中查找对象,可通过右键菜单中的菜单项 Go To Definition或 F12进行查找。
在 VS2019 中,可以同过 Ctrl+Click (鼠标左键单击)进行快速查找;在 VS2010 中,使用 Productivity Power Tools 插件中的 Ctrl+Click Go To Definition 功能可以实现同样的操作。
自动换行(Word Wrap)
当一行代码比较长以至于无法在当前行中完全显示时,需要拖动编辑器底部的滚动条进行移动来显示被遮挡的部分。使用 自动换行 可使没有显示的部分自动转到下一行进行显示,通过菜单项 Edit->Advanced->Word Wrap (Ctrl+E+W) 来进行设置。
VS2010 也具有该功能。
显示效果:

其它操作
在 Edit 菜单下包含大量的其它操作,对于常用的操作如果能够熟练的使用其快捷键,也能进一步提高编程体验。具体功能菜单项及其对应的快捷键可以在 Edit 下找到,此处不再赘述。
- - - End - - -

本文作者: Lzl678
本文链接: https://www.cnblogs.com/Lzl678/p/10645154.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
VS2019 实用操作的更多相关文章
- 提高开发效率的 Eclipse 实用操作
工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...
- Chrome 开发者工具实用操作
Chrome 开发者工具实用操作 https://umaar.com/dev-tips/
- KiCAD实用操作
KiCAD实用操作之一:自动编辑线宽 今天偶然间发现的一个比较实用的功能,算是KiCAD的一个优点吧(或许是在AD上面没发现):当整个PCB布完线或者在布线过程中,我们有可能需要对某个线的宽度进行调整 ...
- 能够提高开发效率的Eclipse实用操作
工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...
- 能够提高开发效率的 Eclipse 实用操作
工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...
- Netcat实用操作
写久了web倦了,第n次开始尝试网络开发,于是熟悉一下常用工具. 尝试了一下netcat来测试服务器,或者充当客户端都异常好用.于是记录一下常用的一下命令 1. 充当服务器,或者客户端进行访问 通过n ...
- Myeclipse学习总结(8)——Eclipse实用操作
工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个"器".本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行 ...
- 开发工具IDE从入门到爱不释手(五)更多实用操作
更多实用技巧 Tabs分屏和独立 日志链接及浏览器 设置浏览器 本地修改历史 三秒钟不操作,自动保存一个版本 右键--Local History--Show History 查看方法调用情况 按住方法 ...
- Excel实用操作
目地 不能熟练操作Excel的程序员不是好策划. 一片区域填充相同数据 1.用鼠标框选一片区域,松开鼠标,不要点其它单元格 2.直接输入输入数据,输完之后,按Ctrl+Enter,选中的区域就会填充相 ...
随机推荐
- webrtc aecd算法解析一(原理分析)
webrtc的回声抵消(aec.aecm)算法主要包括以下几个重要模块: 回声时延估计 NLMS(归一化最小均方自适应算法) NLP(非线性滤波) CNG(舒适噪声产生) 回声时延估计 这张图很多东西 ...
- 从壹开始微服务 [ DDD ] 之五 ║聚合:实体与值对象 (上)
前言 哈喽,老张是周四放松又开始了,这些天的工作真的是繁重,三个项目同时启动,没办法,只能在深夜写文章了,现在时间的周四凌晨,白天上班已经没有时间开始写文章了,希望看到文章的小伙伴,能给个辛苦赞
- Android Studio开发环境配置以及相关说明
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下在开发的时候使用的Android Studio开发环境版本以及相关注意事项. 一般来讲,每隔一段时间就要检查下Andr ...
- 实现一个简单的基于Token的身份认证
这个例子是基于客户端与webapi进行进行交互的身份认证,当然也适用于其他情况下的身份认证. 简单的交互过程: 1.首先输入用户名.密码进行登录操作 2.服务器验证用户名.密码的正确性,验证通过之 ...
- Linux下PAM模块学习总结
在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等.在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM( ...
- 【Oracle学习笔记】游标
1. 分类 常见的游标可分为显示游标.隐式游标.静态游标和动态游标四大类: 1.1 显示游标 显式是相对与隐式cursor而言的,就是有一个明确的声明的cursor.显式游标的声明类似如下: delc ...
- 如何在Eclipse中彻底修改一个项目名称
在实际工作中,有时候为了赶时间,往往通过复制项目得到一个成型的框架.那么怎么才可以彻底修改项目名称呢? 1.web.xml 2.工作空间中找到当前项目下.project文件 3.工作空间中找到当前项目 ...
- 详解RPC远程调用和消息队列MQ的区别
PC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制. RPC框架 知名度较高的有Thrift(FB的).dubbo(阿里的). RP ...
- ConcurrentHashMap1.8源码分析
文章简介 想必大家对HashMap数据结构并不陌生,JDK1.7采用的是数组+链表的方式,JDK1.8采用的是数组+链表+红黑树的方式.虽然JDK1.8对于HashMap有了很大的改进,提高了存取效率 ...
- 判断值是否为undefined
可以使用 Ext.isDefined( value ) 这个函数, 也可以使用下面代码来进行实现: /** 判断传入的值是否 为undefined */ function isUndefined(va ...