热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更有效率的使用VisualStudio

工欲善其事,必先利其器。虽然说Vim和Emacs是神器,但是对于使用VisualStudio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,

工欲善其事,必先利其器。虽然说Vim和Emacs是神器,但是对于使用Visual Studio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,像使用Vim一样使用Visual Studio。

当然,如果想真正像使用Vim一样使用Visual Studio可以安装这个插件:VsVim,只支持VS2010+。

下面我会总结一些我觉得大家平时可能不怎么知道的但是又很好用的一些VS的快捷键和使用技巧。如果您是大牛那不需要看了,哈哈。个人知识有限如果大家还有什么比较实用的快捷键,欢迎分享。因为不像Vim有Normal,Insert两种模式,所以VS快捷键的特点就是需要很多Ctrl, Shift, Alt的参与。这个缺点就是很可能会跟你电脑上某一些程序的快捷键冲突了。而且不知道为什么Visual Studio在不同电脑上的某一些快捷键有可能是不一样的,所以可能文中会有一些快捷键在你的电脑上无法使用,Google it。我目前用的办法就是将我熟悉的配置同步到所有我使用的Visual Studio中来保证我自己用的各个版本之间的快捷键是一样的。

这些快捷键咋一看挺难记的,但是我的方法是先将觉得有用的记下来,然后下次要使用到这个功能的时候克制住不要用鼠标,去查一下使用快捷键。这么几次以后你就记住了。

一、主题

你可能会很奇怪为什么第一个居然是这么一个东西。当然是这个啦!我们要整天对着VS写代码,debug,面对VS默认的配色你看久了很无聊有木有?眼睛很难受有木有?选择一个合适自己的主题,既可以保护视力,又可以让自己的心情愉悦,心情好了顺便连工作效率也一起提高了不是很好么!

如果你还在用默认的主题,赶紧换掉吧。下面推荐一个提供VS配色方案的一个网站:StudioStyles,域名和网站同名:http://studiostyl.es/。下面是我使用的主题,我觉得看着很舒服,很和谐。

技术分享

二、更有效得使用编辑器

这里指的编辑器就是也就是大家写代码的地方。

更有效的剪切板

1. 循环剪切板: Shift + Ctrl + V 。在VS中多次复制,其实VS都会保存下来,只需要调用这个快捷键就可以把之前多次的复制记录都粘贴出来。

2. 整行剪切:Ctrl + X。光标不要选中任何文字,然后按这个快捷键就可以把整行剪切下来。 Ctrl + L 同样可以实现整行剪切,使用方法也是一样,区别在于使用Ctrl + X后光标会落于下一行的行尾,二使用Ctrl + L光标则会停在下一行的行首。

3. 整行复制:Ctrl + C。这个和Ctrl + X的使用方法一样。

更有效的选择:

1. 基本选择:Shift + 光标(←↓↑→) 。基于光标所在的地点,按住Shift然后使用上下左右光标可以自由选择。

2. 基于单词选择:Shift + Ctrl+(→←)。使用这个可以跳跃单词的选,也可配合Home/End选择整行

3. 基于“方块”选择:Shift + Alt + (←↓↑→) 或者Alt + 鼠标。

4. 选择一个整个单词:Shift + Ctrl + W。把光标放在某个单词中的时候按快捷键即可。

更有效的编辑:

1. 整行删除:Shift + Delete。

2. 删除下一个单词:Ctrl + Delete。

3. 删除上一个单词:Ctrl + 退格(Backspace)

更有效的位置跳转:

1. 基于单词的跳转:Ctrl + (←→)。此快捷键可以让光标以单词为单位左右进行跳转。

2. 跳到上一个本单词: Shift + Ctrl +(↓↑) 。这个功能比较有用,可以将光标移动到光标所在的那个单词上次或者下次在文中出现的地方。

技术分享

3. 跳到上一个光标停留的地方: Ctrl + -(往前);Ctrl + Shift + - (往后)

4. 快速跳转到某一行: Ctrl + G

5. 快速跳到文件头尾:Ctrl + Home/End

6. 快速跳转到本行第一个非空格开头:Home。如果要到本行最开头则按两下Home即可。

7. 快速跳转到本行结尾:End

8. 匹配括号移动:Ctrl + ],适用于 (), {}, [], “” 。将光标放在需要匹配的括号然后按这个快捷键,光标会跳转到其相对于那个的括号上去。这个功能比较有用,但是我还有一个建议。Visual Studio本来就会将相对应的括号给特别标识出来,只是一般默认的那个颜色和背景颜色比较类似看不出来,建议将其在Font And Colors中设置成醒目的颜色。那个括号匹配设置如图,中文不知道是什么,大家找一下应该就可以找到了。

技术分享

设置好以后效果如下,是不是很醒目了?这样就可以在括号群中迅速找到和它对应的那一个了。

技术分享

三、继续更有效率的编辑器

3.1 更有效的编辑(补充)

a. 注释代码:Ctrl + E(Edit) + C(Comment), Ctrl + K + C(Comment)。打开文件类型不同行为可能不同,在cs文件类型中会将选中行的代码注释,cpp中会将选中的内容进行注释。

反注释代码:Ctrl + E(Edit) + U(Uncomment), Ctrl + K + U(Uncomment)

b. 调整格式选中代码格式:Ctrl + E(Edit) + F(Format)。

c. 调整整个文档代码格式:Ctrl + E(Edit) + D(Document Format)。

3.2 更有效率的搜索:

a. Incremental Search(增量搜索,不知道翻译得恰不恰当):Ctrl + I(Incremental) (移动到下一个匹配按Ctrl + I, 移动到上一个Shift + Ctrl + I)。按住快捷键然后输入要查询的字符串,VS会马上定位到而不需要想Ctrl + F那种确认的过程,可以通过我截的图中看到效果。我一般如果只是想在当前文档进行简单搜索的话一般会使用这个搜索,遇到是一些比较复杂的搜索条件才去动用弹框搜索。

技术分享

b. Ctrl + F(Find):在Visual Studio 2012中其实这个功能已经和Increment Search很相似了,你会发现在VS2012+里使用Ctrl + F和上面的效果是一样的,都是输入即可看到搜索结果。不过与Increment Search不同的是,这个搜索可以指定更多的条件,如是否匹配大小写、是否整词搜索、是否用正则表达式以及搜索的范围。

c. 在文件中查找:Ctrl + Shift + F,这个可以实现的搜索功能与Ctrl + F 一模一样,唯一不同就是这个可以将你搜索的结果输出到查找结果窗口中,而不是一个一个显示出来。这个比较合适搜一些比较多匹配的东西,然后在输出的结果窗口中在肉眼筛选。

四、更有效的导航:

1. 快速打开Solution Explorer:Ctrl + W(Windows)+ S(Solution)、Ctrl + Alt + L。当你在写代码想打开工程中另一个文件时就可以用这个快速打开解决方案窗口选择文件。

2. 打开当前打开文件列表:Ctrl+Alt+Down。这个很好用,但是这个快捷键在很多电脑上都会翻转屏幕,囧。如果实在要用这个功能,可以通过自定义快捷键来实现。

技术分享

3. 快速将焦点移到类列表(这个名词纯属YY,见图便知我指的是啥):Ctrl +F2。

技术分享

4. 内部文件切换:Ctrl + Tab。这个不仅在VS中,很多软件中都是这个功能。

5. 全屏:Shift + Alt + Enter。可以让你进入全屏无干扰模式,本人很喜欢这个功能。

五、更有效的智能感知

智能感知本来就很智能,但是很多时候我们想强制的调出一些提示来看一下的时候这些功能就爽。很多功能语言描述可能比较累,而且由于我语文不好很可能你还看不懂,所以我会附图。

1. 列出成员。Ctrl + K + L(List Member), Ctrl + J。我们知道当我们需要访问对象方法的时候按.VS会自动提示出有哪些方法,但是有时候我们需要在.操作符已经存在的情况下再查看。以前我会把点删掉然后再点一次,我承认我当时很傻,后来知道这个快捷键以后就好多了。

技术分享

2. 列出选项(表述不明确,具体看后面描述)。Ctrl + . 或者Ctrl + Shift +F10。当我们用到一些类型在我们工程引用的程序集里但是没有在当前当前文件引用的命名空间内时,或者我们写了一个不存在的函数时,那行代码会有错误提示,并且在左下角有一个小符号。如图:技术分享。我们鼠标移到符号附近会出现一些帮助,可以自动帮助我们添加引用或者生成函数。这个快捷键就是在不移动鼠标的情况下让其出现这个提示。

六、其他

1. 任务列表(Task List),可以通过View->Task List打开这个窗口。很多人可能不知道这个功能,我觉得挺有用。写代码的时候我往往会遇到这种情况,某一些代码我现在不确定需求或者觉得可能会有问题将来需要改善,我会加上注释://TODO:reason。相信很多人会有同样的习惯,这个任务列表的功能就是让我们可以看到我们当前工程中有多少个TODO项。当然不局限于TODO这个词,可以自定义词汇。我一般会在commit之前看一下这个列表看看还有没有需要改的地方。这个还可以直接添加一些任务,具体使用自己用一下就知道了。

技术分享

七、插件

这里在推荐两个插件:C# outline 和Smart Paster。

1. C# Outline

Visual Studio默认的outline是只有在函数级别的,但是很多时候有一些循环条件很长也需要缩起来看比较方便。于是就有了这个插件。效果如下:

Before outline->

技术分享

 

After outline->

技术分享

2. Smart Paster

这个插件可以将文字粘帖为注释、和string字符串和StringBuilder。特别是对于粘贴多行的文字的时候很有用。

八、推荐资料

1. Favorite Visual Studio keyboard shortcuts:Stackoverflow 上一群人在讨论自己最喜欢的快捷键,可以去里面看看或许你会看到一些你意想不到的快捷键。

2. Visual Studio 程序员箴言:这本书介绍了很多关于VS方面的知识。

3. 可以多看看VS菜单栏上那些没用过东西,或许你会发现一些对你很有用的东西。

小结

如果你需要找一个你不知道的快捷键,可以通过在菜单栏上去看,一般常用的都会将快捷键放在菜单边上。或者你可以去MSDN上去查一下:http://msdn.microsoft.com/en-us/library/vstudio/dd576362.aspx 。我觉得非常有必要去看一些类似于高效使用VS的资料,因为很多时候如果你不知道某一些功能的存在,你根本就不会想到去用更别说去搜这个功能。

编辑器中还有很多其他的技巧,先写一部分吧,这只是很小的一部分,还有很多其他的技巧以后慢慢道来。以后可能还会总结一些关于搜索、编辑、调试、导航、Intellisense等等的内容。

很多比较通用的快捷键的默认设置其实是有一些缩写在里面的,这个估计也是MS帮助我们记忆。比如说注释代码的快捷键是Ctrl + E + C,我们如果知道它是 Ctrl + Edit + Comment Code 的缩写不是更好记么?我也会尽量YY把快捷键和功能联系起来来帮助我自己记忆。另外很多功能在VS中有多个快捷键可以实现,我猜是为了防止一些快捷键冲突所设计的吧,我一般只会去记好记的,冲突了再说。

总结

这些只是对我来说最有用的一些技巧,强烈推荐大家可以去看看我推荐的那些资料去探索一些更加适合你的习惯的一些功能。因为当你不知道有这个功能的存在的情况下你根本就想不到要去找这么一个功能。

容我再罗嗦几句。我们绝对没有必要去死记硬背很多很多快捷键然后装逼,因为并非所有的快捷键所有人都需要。很大程度上一些功能的使用是取决于你的工作习惯,同时我也不推荐你去记一些你觉得你都不会用到的快捷键,没意义,浪费时间。这也就是为什么我只列出一些对我工作效率有切身帮助的一些快捷键,而不是把Visual Studio中所有的快捷键都列出来,因为那样子的话就没意义了!

所以我强烈建议你们只去记你觉得有用的那些东西。

原文链接;http://www.uml.org.cn/net/201307222.asp

更有效率的使用Visual Studio


推荐阅读
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
author-avatar
莱斯卡尼娅
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有