2018-8-14-resharper-自定义代码片
title | author | date | CreateTime | categories |
---|---|---|---|---|
resharper 自定义代码片
|
lindexi
|
2018-08-14 17:34:51 +0800
|
2018-2-13 17:23:3 +0800
|
Resharper
|
我们在做一件事前,需要先做工具,工具好,最后我们做事也快。这个过程需要的时间也是值得的。
我们在C#下使用的工具,有一个神器,Resharper,他可以帮修改代码、重构,做很多重复的事。
而Resharper 虽然强大,但是还不能全和我们需要的一样,如代码片,有些需要或经常使用的代码还是没有,需要自己去写,他自带的代码片叫 Live Template.
Resharper的代码预知和 VisualStudio 的代码片相似,但是他可以知道当前输入
是变量还是属性,这样就比原来的好用。
本文主要:如何修改Resharper代码片,自定义代码片
原本我的 VisualStudio 也是可以自定义代码片,在工具选择代码片,导入自己写的代码片。
安装了 Resharper 2016.2 会隐藏 VisualStudio 的代码片。
resharper 提供了很有用的代码片,但是我们还是觉得不够,这时我们需要自己编辑 Resharper 代码片。
我将会告诉大家,如果在 resharper 定义自己需要的 代码片 。
打开 Resharper > Tool > Templates Explor
选择语言
选择一个修改的代码片,选择编辑
可以添加新的代码片,我们新建一个,接下来准备做一个简单的东西。
和vs的一样,除了不变的文字,对于需要改变的变量,使用$变量$
。在输入的时候,对于变量相同,会在输入之后换为相同单词,而不同的变量,可以按 Enter 跳到下一个,当然一旦按 Enter 就是确定这个单词。
例如我们想写一个ViewModel经常写的代码
public string Url
{
set
{
_url = value;
OnPropertyChanged();
}
get
{
return _url;
}
} private string _url;
其中所有的属性public
是固定的,但是类型不是,我们给类型一个变量$string$
,
可以看到 Url 是变量名,不同的,我们给一个变量,$name$
可以看到,这变量,有 Url 需要我们写三遍,而且还需要写set、get,所以我们需要写一个简单的模板,直接使用。
接下来我就直接写出一个可以使用的
public $string$ $name$
{
set
{
_$name$=value;
OnPropertyChanged();
}
get
{
return _$name$;
}
} private $string$ _$name$$END$;
所有输入的$string$
都会代换为一个单词,$name$
也代换为一个单词,这个单词就是用户输入
写完我们设置按键
这一个就是在代码按 ps 就会使用属性加上OnPropertyChanged();
还有特殊的变量$END$
,变量作用在用户写完就是跳到END位置。
有定义一些常用的变量,这变量不会让用户改变。
我们先看下有哪些。
$SELECTION$
就是选择放在地方,这代码用在的是surround templat,关于这个我们刚才没有说,刚才说的是快速输入代码,而包围代码是我们选择了一段代码,然后让模板把代码包围。$SELSTART$
$SELEND$
选择一段字符结束,和上面的合起就是选择一段
我们可以使用之前Vs写的代码。
其实上面代码,我们不能让命名有下划线小写
要让变量名小写,我们可以使用macr
在我们写出一个变量,可以在左边出现 mar
我们修改下模板
public $string$ $name$
{
set
{
_$field$=value;
OnPropertyChanged();
}
get
{
return _$field$;
}
} $END$ private $string$ _$field$;
点击属性选择,我们可以让输入的变量,修改范围
输入Name是Suggest name variable
输入名称为变量名
然后field是在Name前第一个小写
选择上下就是输入变量的前后,第一个是第一输入
https://www.jetbrains.com/help/resharper/2016.2/Templates__Creating_and_Editing_Templates.html
写好,我们选快捷键
保存
在一个新建工程输入快捷键,就可以输入我们写的
常用功能
接下来介绍一下功能
[Resharper 如何把类里的类移动到其他文件](../Resharper 如何把类里的类移动到其他文件.md)
如何在 Resharper 忽略文件?
有一些文件需要忽略,不让他分析,因为这文件太多错误,但是是必要的,可以打开Resharper 设置
选择 Code Inspection ,设置,添加例外文件。
添加例外文件可以指点哪些文件忽略,可以忽略某个文件,很简单,如果有不懂请告诉我。
如何显示空格
显示有多少空格,有些代码可能存在看不见的字\u0012
,如果有这些,你以为是空格。
所以需要显示空格,按 ctrl+r+w
2018-8-14-resharper-自定义代码片的更多相关文章
- 利用 ReSharper 自定义代码中的错误模式,在代码审查之前就发现并修改错误
多人协作开发的项目总会遇到代码编写风格上的差异.一般工具都能帮我们将常见的差异统一起来——例如 if 的换行:但也有一些不那么通用,但项目中却经常会出现的写法也需要统一. 例如将单元测试中的 Asse ...
- Springboot 项目启动后执行某些自定义代码
Springboot 项目启动后执行某些自定义代码 Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRun ...
- SharePoint2010 自定义代码登录方法
转:http://yysyb123.blog.163.com/blog/static/192050472011382421717/ SharePoint2010 自定义代码登录方法 (自定义Form验 ...
- [UWP]为附加属性和依赖属性自定义代码段(兼容UWP和WPF)
1. 前言 之前介绍过依赖属性和附加属性的代码段,这两个代码段我用了很多年,一直都帮了我很多.不过这两个代码段我也多年没修改过,Resharper老是提示我生成的代码可以修改,它这么有诚意,这次就只好 ...
- [No0000B2]ReSharper操作指南3/16-配置ReSharper与代码校错
配置ReSharper ReSharper功能具有默认配置,这些配置基于.NET世界中的约定和最佳实践.但是,每个功能都可以根据您的需求和喜好灵活调整. ReSharper首选项可以在以下位置进行配置 ...
- pycharm自定义代码片段
pycharm自定义代码片段 目录 (一)通用阶段 0 .新建.py文件模板:2 0 .pycharm中添加自定义代码片段:一图全知道:3 1 .定义类:classin 描述 ...
- JZOJ 5812. 【NOIP提高A组模拟2018.8.14】 区间
5812. [NOIP提高A组模拟2018.8.14] 区间 (File IO): input:range.in output:range.out Time Limits: 1000 ms Memo ...
- Xcode自定义代码块
到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...
- CRM 启用或禁用自定义代码执行
启用自定义代码执行 1.打开 Windows PowerShell 命令窗口. 2.添加 Microsoft Dynamics 365 PowerShell 管理单元: Add-PSSnapin Mi ...
- 玩转SSRS第十篇---自定义代码
提到SSRS 那么就不得不提一下自定义代码的功能,通过自定义代码,有时候可以解决一些比较复杂的问题,比如将让指定的数据行应用指定的属性值.此篇将演示如何通过简单结构的自定义代码进行报表样式的基本设计. ...
随机推荐
- 开通了第一个博客,mark一下!
今日上网查询了不同的博客,包括csdn.掘金等,最终决定选择博客园.打算待前端学完后,自己建立一个博客,这段时间内先用博客园记录学习过程.经常总结.更新,相信坚持学习一定可以找到好工作!
- 2017校赛 问题 F: 懒人得多动脑
题目描述 小D的家A和学校B都恰好在以点F为焦点的双曲线上,而小D每日所需的生活水源在一条平行该双曲线准线的直线上,设它的值为v.大家都知道,每天都是要喝水的,但是小D有点懒,他希望自己能在去上学或者 ...
- 2019.9.10附加题while练习
题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:20万到40万之 ...
- jsp项目中整个项目没有问题但是servlet报错
项目没问题但是serverlet报错 项目右键 buildPath-->configure build path -->Myeclipse Library-->J2EE 1.3 Li ...
- Java排序需掌握算法 详解
package com.sxt.review; /*内部排序:(在内存) * 插入排序-->希尔排序 * 冒泡排序-->快速排序 * 选择排序-->堆排序 * 归并排序 * 基数排序 ...
- 【Linux】根目录命名的意义
1./bin :获得最小的系统可操作性所需要的命令2./boot :内核和加载内核所需的文件3./dev :终端.磁盘.调制解调器等的设备项4./etc :关键的启动文件和配置文件5./home :用 ...
- Nacos Committer 张龙:Nacos Sync 的设计原理和规划
图:Nacos Meetup @杭州 与你同行,抬头便是星空. 本文整理自Nacos Committer 张龙的现场分享,阿里巴巴中间件受权发布. 随着 Nacos 1.0.0 稳定版的发布,越来越多 ...
- java 根据秘钥,对数据进行加解密
package test; import com.alibaba.fastjson.JSONObject; import sun.misc.BASE64Decoder; import sun.misc ...
- Celery后台任务
Celery 在程序运行过程中,经常会遇到一些耗时耗资源的任务,为了避免这些任务阻塞主进程的运行,我们会采用多线程或异步任务去处理.比如在Web中需要对新注册的用户发一封激活邮件来验证账户,而发邮件本 ...
- huyingsakai的Python学习day1:计算机硬件
1.python是什么?Python是一门编程语言 2.什么是编程语言?(*****)程序员和计算机沟通交流的介质 3.什么是编程?(*****)编程就是程序员想把内心表达的方法用某种计算机语言思维表 ...