如果你像我一样,或许你也沉迷于开发者工具。这就是我喜欢 Visual Studio 的原因之一——它有无数的生产力技巧。

这篇文章将展示五个这样的技巧,这些技巧对我每天的工作都有帮助。请注意,这些仅适用于 Visual Studio。有像ReSharperRoslynatorOzCode这样的扩展可以增加大量的生产力价值,但这是另一篇博文。

1. 代码片段

Visual Studio 允许您快速创建常见的代码片段。这可能是一个for循环、一个try..catch子句或一个using语句。要使用它,只需输入代码片段的快捷方式。for例如,对于语句,开始输入for

IntelliSense 显示有三个适合的片段for(前三个项目)。要使用其中之一,只需点击Tab两次,VS 就会生成样板代码。

现在您可以编辑突出显示的部分。点击Tab以在它们之间切换,EnterEsc在完成时切换。

有几十个开箱即用的片段。他们之中有一些是:

  • try
  • foreach
  • if/else
  • dodo..while
  • propdp 对于依赖属性

甚至还有代码块的片段。例如,您可以用一个try..catch片段包围一个块。

2. 来自未导入命名空间的 IntelliSense 项

您是否曾经觉得 ReSharper 的 IntelliSense 比 Visual Studio 的更好?那是因为 ReSharper 已经做了很多 VS 没有的聪明的事情。不过,Visual Studio 正在迎头赶上。最近添加的是从未导入的命名空间选项添加项目。它是角落里的“+”按钮。

当您开始编写某些内容时,Visual Studio 会显示仅来自using当前文件中添加(带有)的命名空间的自动完成选项。你可以想象这是非常有限的。您真正想要的是查看所有可用选项并让 IDE 导入正确的命名空间。这正是这个按钮的作用。当点击或使用Alt + A快捷方式时,您将看到来自项目所有可用命名空间甚至其引用的项目:

3. 快速操作和重构

Visual Studio 包括许多自动重构和代码生成功能。嗯,没有ReSharper那么多,但您会感到惊讶。其中大部分都可以从Quick Actions and Refactorings菜单访问,该菜单可通过Ctrl + .快捷方式访问。只需将插入符号放在类上,然后点击快捷方式。你会看到一堆有用的选项:

例如,如果您选择一个代码块,您通常能够将其提取到一个方法或一个本地函数中。

这些有很多。要发现它们,每当您站在某物上方时,请查找“快速操作”按钮:

如果您使用的是 ReSharper,您可能会看到一个灯泡【译者注:更像一个起子(改锥)】按钮,显示 ReSharper 的重构。点击该灯泡将在同一上下文菜单中显示来自 ReSharper 和 Visual Studio 的操作。

4. 在解决方案资源管理器中跟踪活动项目或不跟踪

转到解决方案资源管理器中的当前活动文件非常有用。您可能想要重命名、移动它、查看文件的属性或导航到附近的文件。不管它是什么,您最不想做的就是在解决方案的项目树中手动搜索它。

多年来,我一直在使用Track Active Item选项。启用后,解决方案资源管理器会自动将所选文件更改为您当前正在编辑的任何文件。

这感觉很有成效,但缺点是在处理一堆文件后,解决方案资源管理器树变得一团糟。一切都被扩展了,不可能找到任何东西。还有一个小的性能影响。所以现在我改变了策略。我发现有一个快捷方式可以根据需要导航到该项目,而不是自动跟踪活动项目。

默认快捷方式是Ctrl + [, S. 我尽量保持默认值。不是最容易记住的,但你会习惯任何事情。

这意味着我的解决方案资源管理器现在保持不变。展开的项目保持展开状态,如果我不进行滚动,则不会滚动任何内容。

5. Ctrl + T 技巧

有很多方法可以在您的解决方案中导航。我最喜欢的方式是Ctrl + T选项(Edit | Go To | Go To All)。你可以搜索任何你想要的东西,Visual Studio 会找到它。这可能是一个文件、一个类、一个属性、一个字段或一个方法。

这个窗口有一些技巧:

  1. 常规搜索使用简单的“包含”逻辑。如果文件/类/成员包含搜索输入,您将在搜索结果中看到它。

  2. 对于使用驼峰式(或 PascalCase)拼写的项目,您可以只输入首字母。例如,asdc会发现AnotherSearchDemoComponent

  1. 如果您想进一步缩小搜索范围,可以将姓名首字母与部分姓名组合在一起。

  1. 您可以将搜索范围缩小到特定项目类型:

    • f [search] 只查找文件
    • r [search] 在最近的文件中查找
    • t [search] 看类型
    • m [search] 看起来在成员
    • # [search] 看符号

诚然,Visual Studio 还可以从 ReSharper 学到更多东西,它还增加了模糊搜索功能。

概括

Visual Studio 是一个强大的工具。你可以每天使用它,哪怕连续十年也可能仍然不知道它的每一个功能。我自己每天都会发现新事物,并且我已经写了一关于它的。 我还在继续挖掘它的新功能,我相信你也可以。

你应该知道的提升Visual Studio开发能力的5个技巧的更多相关文章

  1. SharePoint 2013 工作流之Visual Studio开发示例篇

    SharePoint 2013引用了WF4.0 Foundation,支持使用Designer和Visio进行设计,但是功能受限,而Visual Studio可以开发功能更加丰富的工作流,下面我们简单 ...

  2. visual studio 开发linux程序

    VisualGDB支持Linux的原理是,通过ssh连接到Linux系统上通过ssh给linux下达命令 . (类似visualgdb的有windgb  ,这2个都是商业软件.) Visual GDB ...

  3. 解决无法连接到visual studio开发服务器的问题

    今天vs抽风,调试网站出现下图那样: 然后我开始百度搜索 "无法连接到visual studio开发服务器" 出现很多文章: 打开一篇问题,看了里面的内容, 那个解决办法也不是最好 ...

  4. 微软为Visual Studio开发助手拓展C++支持

    近日,微软宣布了一项 Visual Studio“开发助手”(Developer Assistant)插件的重大更新,其现已支持“基于 C++ 的情境感知 web 解决方案”.开发助手能够嵌入 Vis ...

  5. Visual Studio 开发(二):VS 2017配置FFmpeg开发环境

    在上篇文章Visual Studio 开发(一):安装配置Visual Studio Code 中,我们讲了一下如何配置VS CODE,来编写和调试C的代码.如果你已经使用VS Code回顾和复习好C ...

  6. visual studio开发工具的C#主流控件属性一览表

    visual studio开发工具的C#主流控件属性一览表 详细的介绍了各控制属性的详细中文介绍 C#控件及常用设计整理 1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程 ...

  7. 使用Visual Studio开发跨平台的iOS应用程序

    [原文发表地址]Developing cross-platform iOS application using Visual Studio [原文发表时间]2015/6/4 C ++是一种流行的高级编 ...

  8. 使用Visual Studio开发Python

    Python优秀的集成开发环境有PyCharm,Visual Studio Code等,当然你仍然可以使用Visual Studio进行开发.如果你熟悉Visual Studio,使用Visual S ...

  9. Visual Studio开发首选!DevExtreme v19.1.6全新来袭

    DevExtreme Complete Subscription是性能最优的 HTML5,CSS 和 JavaScript 移动.Web开发框架,可以直接在Visual Studio集成开发环境,构建 ...

  10. emWin模拟器Visual Studio开发时无法printf打印的问题

    1.emWin模拟器 为了方便用户学习evWin框架,Segger设计了一个PC仿真的工具,可以测试绝大部分GUI的功能,除了方便使用者学习之外,还可以加速项目开发进度.毕竟在PC上用Visual S ...

随机推荐

  1. paddlespeech on centos7

    概述 paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别.语音合成.说话人验证.关键词识别.音频分类和语音翻译等功能. paddles ...

  2. AvaloniaUI 取消标题栏,无边框无最大最小化,

    AvaloniaUI 取消标题栏,无边框无最大最小化, 创建一个Window控件 并且在Window中添加以下代码 ExtendClientAreaToDecorationsHint="Tr ...

  3. 基于java+springboot的求职招聘网站-求职招聘管理系统

    该系统是基于java+springboot开发的求职招聘网站.网上招聘管理系统.网上人才招聘系统.毕业生求职招聘系统.大学生求职招聘系统.校园招聘系统.企业招聘系统.是给师弟开发的毕业设计.大家学习过 ...

  4. bootstrap : 响应式导航

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. Redis之入门概括与指令

    Redis特点(AP模型,优先保证可用,不会管数据丢失): 快的原因: 基于内存操作,操作不需要跟磁盘交互 k-v结构,类似与hashMap,所以查询速度非常快,接近O(1). 底层数据结构是有如:跳 ...

  6. [转帖]12.24.2 DECIMAL Data Type Characteristics

    https://dev.mysql.com/doc/refman/8.0/en/fixed-point-types.html This section discusses the characteri ...

  7. [转帖]MySQL: Convert decimal to binary

    Last Update:2018-12-05 Source: Internet  Author: User Tags decimal to binary mysql code Developer on ...

  8. [转帖]使用 TiUP 扩容缩容 TiDB 集群

    https://docs.pingcap.com/zh/tidb/stable/scale-tidb-using-tiup TiDB 集群可以在不中断线上服务的情况下进行扩容和缩容. 本文介绍如何使用 ...

  9. [转帖]JMeter InfluxDB v2.0 listener plugin

    https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin Support my Ukrainian Family ️ Lik ...

  10. [转帖]360孵化奇安信科创板上市,IPO前清空股权赚37亿元分手费

      https://baijiahao.baidu.com/s?id=1666485645739027654&wfr=spider&for=pc 来源:IPO头条 来源:IPO头条原创 ...