1.前言
学C#编程不到一年,学习过程中一直在想怎么利用工具提高开发效率。那么作为C#编程,编辑器首选微软的Visual Studio这个宇宙级IDE,极大程度下降低了刚入门的编程难度。在进入项目开发之前也许对提高开发效率的工具可能没有那么在意和感触,真正进入到项目开发中,你面对的解决方案中是上万到几十万行的代码,几千个类,那么这个时候能熟练的掌握一个插件工具的使用,能极大提高开发效率。
作为C#编程语言,什么插件工具能提高开发效率呢?答案是Resharp。ReSharper是一款由jetbrain开发的针对C#,VB.NET,ASP.NET,XML,和XAML的编辑器,同时高效强劲的C#编辑器Rider也是jetbrain开发的,很多C#编程人员选择Rider作为编辑器。
我使用的Visual Studio是2022社区版本,可在微软官网免费下载,Resharp插件也是针对2022.x的版本,下面将分享Resharp的安装及配置(附有配置文件链接),破解(附有破解文件链接),还有开发过程中常用的快捷键的使用。
2.Resharp的安装及配置
2.1Resharp简介
Resharp由jetbrain开发,适用于.NET开发者的Visual Studio扩展,ReSharper 能够为 C#、VB.NET、ASP.NET、JavaScript、TypeScript 等其他语言执行实时代码检查,提供快速修复,自动解决代码问题。主要功能有:代码质量分析、代码异常快速修复、上下文操作、代码重构、导航和搜索、代码辅助、代码补全等。
Resharp作为一个高效、功能强劲的神级插件,同时也有一些难以避免的问题,就是占内存,安装Rsharp之后,Visual Studio打开项目时会比平常慢5~10秒启动,如果开发过程中需要同时运行较多项目,本身电脑内存就8G,那么安装Resharp使用过程中可能存在卡顿的情况,如果存在上述情况,那么建议将内存根据自身开发需要扩展到16G或32G。
2.2Resharp安装
Resharp安装常用有两种方式,第一种就是到jetbrain下载安装Resharp,官网:www.jetbrains.com/zh-cn/resha…
第二种,也是本人推荐的安装方式,在Visual Studio2022的扩展管理中搜索进行安装。
安装完成后,在Visual Studio2022顶部菜单栏“扩展”中将会看到Resharp扩展插件:
Resharp安装完成后Options界面:
2.3Resharp参数配置
安装好Resharp之后,根据自己编程需要对其进行一些参数配置后开始使用,比如快捷键映射,代码变量命令规范,代码智能检查等等。下面是个人的配置文件,可以参考:
链接:pan.baidu.com/s/1kQAi4w7S…
提取码:6rbj。
下面是导入配置文件步骤:
第一步,选择Resharp插件,选择Options,打开选项设置。
第二步,选择Code Editing/C#/Naming Style。
第三步,选择Personal层(resharper的设置是分层的,越靠前的层优先级越高)。
第四步,鼠标右键,打开选项,选择Reset。
第五步,如果存在之前的配置,将提示重置选择ok,没有则选cancle。
第六步,还是选中Personal,鼠标右键,选择Import from,Import from File,选择下载的配置文件,即可导入成功。
第七步,双击Personal,查看是否导入成功。
至此,配置文件导入成功,其中的选项可以根据自己编程习惯、项目命名规范进行修改保存,该配置文件只做参考。
2.3Resharp破解
Resharp官网是免费试用30天,可以进行破解无限使用,下面是破解文件链接:
链接:pan.baidu.com/s/17NPFyQy0… 提取码:25bv。
解压文件后按照里面操作运行Patcher.exe文件后即可破解成功,无限使用。
第一步,解压破解文件,关闭正在运行的Visual Studio2022或者正在运行的Resharp,否则破解时会报错。然后选择Patcher.exe文件,右击选择“以管理员身份运行”。
第二步,等待破解完成,当出现下图红色框内容时,破解完成,如果破解报错,那么请尝试第一步说的,关闭Visual Studio2022或者正在运行的Resharp。
第三步,打开Visual Studio,点击扩展选中Resharp/Help/License Information,查看许可是否已经激活。
如果如下图所示,即表示激活破解成功,使用日期一栏会一直显示30天试用(无限30天试用)。
3.Resharp常用快捷键
3.1常用快捷键图
附图,自己整理的一份常用快捷键
3.2几个最常用的快捷键
3.2.1代码编辑
1、Alt + Insert,生成构造函数,属性,重载成员函数,实现接口…
2、Ctrl + Alt + J,生成if,try..catch,#region 块;
3、Ctrl + /,注释及取消//注释(行注释);
4、Ctrl + Shift + / , 注释及取消/**/注释(块注释);
5、Ctrl + Alt + F,格式化/清理代码;
6、Ctrl + Alt+C,向解决方案中添加一个类;
3.2.2代码改进
1、Alt + Enter,显示错误的修正方法;
2、Alt+PageDown/PageUp,转到上个/下个高亮的错误、警告或建议处;
3、Shilt+Alt+PageDown/PageUp,转到上个/下个错误处;
3.2.3查找
1、Alt+ F7,查找变量,方法的引用;
2、Ctrl + Shift + V,粘贴记录、历史;
3.2.4导航搜索
1、Ctrl + N,导航到任何;
2、Ctrl+F11,类结构窗口;
3、Ctrl + E,最近编辑文件列表;
4、Ctrl + Shift + Backspace,上次编辑位置;
5、Shift+Alt +L,去到新文件时,定位文件在解决方案资源管理器中的位置;
3.2.5代码重构
1、Ctrl + Shift + R,进入重构选项;
4.Resharp的使用
4.1代码编辑
4.1.1代码补全
Resharp的自动补全已经非常完善开始输入代码后,都会根据当前输入生成补全代码供编程人员选择,无论是关键词还是方法、变量等都具有代码补全功能,方程方便。
4.1.2生成构造函数,属性,重载成员函数,实现接口…
Alt + Insert在日常开发中经常用到,可以生成构造函数,属性等等,选中要操作的类名或者变量,按下快捷键,会显示操作选项。
比如我选择属性后,他会弹出窗口,选择你要生成属性的字段,还可以上下移动,指定为private、public等。
生成属性后如下图,:
4.1.3生成if,try..catch,#region 块
Ctrl + Alt + J快捷键,可以生成常用的语句块。
例如,生成try catch后如下,可以按下tab键跳转修改catch内容。
4.1.4,行注释与注释
Ctrl + /,注释及取消//注释(行注释),Ctrl + Shift + / , 注释及取消/**/注释(块注释),鼠标选中相应的行或者一个块,按下快捷键即可注释或取消注释。
4.1.5格式化/清理代码
Ctrl + Alt + F快捷键,当代码比较混乱,不工整时,可以使用此快捷键进行格式化,在弹出窗口中点击Run即可格式化。
4.1.6向解决方案中添加一个类
按住快捷键Ctrl + Alt+C即可向类中添加一个类。不用手动右键文件夹,添加,添加一个类这样的繁琐操作,快捷方便。
4.2代码改进、修复
4.2.1代码改进
安装Resharp之后,如果代码中存在代码异常,则会在编辑区右侧滑动区域以不同颜色进行标识。
1、红色黄色横线进行标识,这类代码是必须要修复的,否则代码无法生成或者运行。
2、黄色代表“警告”,会以浅蓝色波浪线在问题代码下面标识,右侧滚动去以黄色横线进行标识,代码中存在不规范的代码,比如命名规范不符合要求,代码拼写错误等,不影响程序运行。
3、绿色代表“提示”,会以绿色波浪线在问题代码下方进行标识,右侧滚动去以绿色横线进行标识,不影响程序运行。
要快速修复这个错误,可以选中问题代码,按下快捷键Alt + Enter,会出现修复方法,选择相应修复方法,可以快速修复代码。
Alt+PageDown/PageUp快捷键,转到上个/下个高亮的错误、警告或建议处,Shilt+Alt+PageDown/PageUp快捷键,则是转到上个/下个错误处,只在有错误的代码中跳转。
4.2.2检查
除了上述单个类文件的代码改进修复外,Resharp也提供了强大的解决方案级别的代码检查、分析监控警告,通过Inspect进行使用。
4.3查找
4.3.1查找引用
在日常开发中,在一个庞大的类文件中查找一个变量或者方法的引用往往比较费劲,使用Alt+ F7快捷键,就方便很多,会在下方生成一个结构树窗口,可以查看变量或者方法的引用。
4.3.2查看粘贴记录
有时候需要查看粘贴记录,按下快捷键Ctrl + Shift + V即可查看。
4.3.3查找值源,值跟踪
查找值源是分析代码,查找bug过程中进场使用的。值跟踪可为您提供程序中数据流的重要相关信息。 在源代码中的任何位置,您可以指向变量、参数、字段或属性,并要求ReSharper进行检查。 然后,您会看到它的值如何在程序中流动,返回到它的源或直接流到使用者。
要可视化包含特定值的数据流,请选择 ReSharper | Inspect | Value Origin或ReSharper | Inspect | Value Destination,或者使用 [Inspect This]快捷键功能。
4.4导航与搜索
4.4.1导航到任何
Ctrl + N快捷键非常强大、方便,可以查找类、字段、变量、字符串等并导航到相应文件位置,是最常用的快捷键之一,可以智能补全你要查找的关键词。绿色代表最近编辑过的文件,可以兼并Ctrl + E快捷键。
4.4.2类结构文件树
日常开发中,若果想要调整一个类中的成员、字段或者方法在全文中的顺序,使其看上去井井有条,这时候就得用到Ctrl+F11快捷键,类结构文件树,可以在其中拖动任何成员、方法对其进行顺序调整,同时能看到整个类中成员、方法的排布。
4.4.3定位文件在解决方案资源管理器中的位置
查找一个类或者成员或者一个关键词进入一个新的类文件中时,有时想要知道这个类在解决方案中的位置,你不得不看命名空间再去查找。但是有了Shift+Alt +L快捷键,一键定位到当前类在解决方案中的位置,非常实用。
4.5代码重构
代码重构这块Resharp的功能也非常强大,利用好能极大提高开发效率,代码重构的内容比较多,但是目前自己还没做过项目的整体的代码重构,目前开发过程中常用的就是rename,重构方法参数等,就不展开讲,只分享rename和change signature,代码重构的快捷键是Ctrl + Shift + R。
4.5.1代码重构之rename
如果每个方法名命名错了,或者自己想重新命名,但是这个方法已经被引用99+了,不可能挨个挨个去修改方法名吧,这样太费劲,甚至有些时候自己漏改,编译时就报错了,自己得再去找了修改。那么代码重构重命名rename就是为此而生,一键修改,所有引用此方法的都会安全的被修改。
4.5.2代码重构之修改方法签名
想要对方法进行添加、移除、重命名或重新排列参数,更改返回类型、更改参数类型、重命名方法,都可以使用Change Signature,所有引用该方法的位置都会被安全的修改。
4.6代码模板
4.6.1VS自带的代码片段管理器
代码模板是一项比较实用的功能,是和插入代码块相辅的功能,在开发过程中经常用到的代码块或特定的语句,如果Resharp提供的插入代码块的内容不是自己想要的,那么有可以自己定义自己想要插入的代码模块,并且方便使用的功能吗?那就是代码模板的作用,顾名思义,就是提供一个代码模板供开发人员使用,提高开发效率。
Visual Studio本身就带有这个功能,Resharp也继承了这个功能,做了扩展及完善,更加方便我们使用。在Visual Studio中通过工具/代码片段管理器管理使用这个功能。
我们打开propfull.snippet这个代码片段看一下这个属性的代码片段,内容如下,内部是XML写的,简单易懂。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>propfull</Title>
<Shortcut>propfull</Shortcut>
<Description>属性和支持字段的代码片段</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>属性类型</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>属性名</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>支持此属性的变量</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[private $type$ $field$;
public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
代码片段如何调用呢?也非常方便,直接输入代码片段的名称,按两下tab键即可,我们看一下上述propfull的呈现。
private int myVar;
public int MyProperty
{
get { return myVar; }
set { myVar = value; }
}
那么会有人觉得这样还不是要修改,还不如自己手动输入,貌似也快不了多少。我们输入代码片段名称后VS会智能提示,两下tab键之后生成代码片段,这时候我们按下tab键,光标会在这几个变量之间跳转,可以直接修改,比如我修改int类型为string,那么整个代码片段的int都会智能替换为string。还有很多系统自带的代码片段,比如cw( Console.WriteLine()控制台输出的简写),我们输入cw按两下tab键,会出现:
Console.WriteLine();
还可以生成构造函数,输入ctor(constructor构造器简称),得到如下片段,根据自己需要进一下完善内部片段内容。
public UdpSocket()
{
}
4.6.2Resharp的代码模板功能
Resharp的代码模板功能是针对VS的代码片段管理器做了完善,更加方便我们编辑、管理及使用,通过Resharp/Tools/Templates Explorer调用该功能。
打开代码模板管理,如下图:
代码模板窗口主要功能如下,点击代码片段编辑时,出在VS中新建一个代码片段编辑窗口,在里面即可根据需求进行编辑。
4.7调试
安装Resharp之后,对程序进行调试也变得比较方便,调试过程中可以看到参数的值。
5.结语
上面是开发过程中的一些经验,站在一个新人的角度去思考,加之开发时间不是很长,经验也不是很丰富,比如代码重构这个功能,自己还是在用皮毛,其实更强大的功能还没用到,也还在不断的探索之中,难免存在错误,欢迎大家批评指正!
Resharp文档
更多使用功能请阅读官方文档
功能 – ReSharper (jetbrains.com)。