VAssistX使用小窍门
日常使用中的一些VAssistX使用小窍门,简单总结下
一,修改VAssistX默认缓存文件路径,防止默认C盘被占用空间过大
1、 打开注册表HKCU\Software\Whole Tomato,新建UserDataDir,数值为要修改的路径,如下图:
2、 C:\Users\{用户名称}\AppData\Roaming\VisualAssist\ 为AutoText目录,拷贝到新目录下
3、 C:\Users\{用户名称}\AppData\Local\VisualAssist\为符号表目录,拷不拷贝无所谓
4、 删除旧的AutoText和符号表目录,会发现C盘瞬间多了好几个G
二,利用Visual AssistX的特性快速适应C++代码规范
Visual AssistX是一款功能非常强大的VC、VS插件,可以非常便利用其自动完成和着色的功能,让代码的输入速度和可读性大大的增强。在实际的开发过程当中,很多人只利用到了它的这两个功能,在下面我将介绍下,利用Visual AssistX实现按代码规范要求的文件头注释,函数注释,以及查找代码,代码重构的相功能。
快速的加入文件头注释:
例如有如下c++编程规范的要求,源文件头部应该进行注释,列出版权说明,文件名,修改日志等。具体示例如下:
[示例]:
/** @file file.h
* @note XXX Technology Co., Ltd. All Right Reserved.
* @brief 这里填写本文件的摘要。
*
* @author xxx
* @date 2004/02/14
*
* @note 下面的note和warning为可选项目
* @note 这里填写本文件的详细功能描述和注解
* @note 历史记录:
* @note V2.0.0 添加了一个导出接口
*
* @warning 这里填写本文件相关的警告信息
*/
Visual AssistX自带的文件头注释和我们公司要求的格式有所不同,所以我们首先修改它的格式,在Viusal Studio的VAssistX菜单(前提是已经安装过这个软件)中,选择tools项中的Edit VA Snippets…项,如下图:
将弹出如下对话框:
左侧的树上如#d,#u代表着一些常用的快捷输入,比如输入#d就会自动弹出#define的候选输入,然后敲击回车便会自动补全相应的功能,我们就是加入我们的文件头的注释。
首先为代码头加入快捷输入前几个字符,我这里为了不和其实的有所冲突,便以“/***”做为快捷输入的字符,也就是说当输入“/***”时,就会弹出我们自定义的文件头注释。
- 点击工具栏的新建按钮 。
- 在右侧输入如下:
其中Title是这个Snippet的标题,这里写的是“File header detailed”,Shortcut就是你设置的快捷键,这里设置的是“/***”,Despcription就是你自已经对这个Snippet的详细描述。
- 在内容里输入如下:
/** @file $FILE_BASE$.$FILE_EXT$
*
@note XXX
Technology Co., Ltd. All Right Reserved.
*
@brief $Breif$
*
*
@author $Author$
*
@date $YEAR$/$MONTH$/$DAY$
*
* @note
detailed functional description of this document and comments
*
@note History
*
*
@warning warning message related to this document
*/
大部分内容可以看的明白,有几处“$FILE_BASE$”,“$FILE_EXIT$等是Visual
AssistX的保留字,$FILE_BASE$是不包括扩展名的文件头,$FILE_EXIT$是文件扩展名,当我们插入这些内容里,Visual AssistX会自动替换为文件名,$YEAR$/$MONTH$/$DAY$是如“2011/5/20”
的方式插入日期。你也可以自定义保留字,像此处$Breif$,$Author$是我们自己定义的,看英文的意思是文件简介和文件的作者,作用是,当你输入/***时,敲回车会弹出一个对话框,让你手动输入Breif和Author,看下图:
当输入/***时弹出你自定义的这个Snippets的标题,
直接敲回车:
Brief和Autor就是你自定义的保留字,你在这里边输入到你编写的这个C++文件的简介和作者,敲回车,就会自动加入文件头。如下图:
由于我把注释的颜色设置成灰色了,所以看不太清,实际如下:
/** @file WarnDlg.h
*
@note XXX
Technology Co., Ltd. * All
Right Reserved.
* @brief
警告框
*
* @author jiangxf
* @date
2011/5/27
*
*
@note detailed functional
description of this document * @note History
*
* @warning warning message related to this
document
*/
以后每次就可以通过输入/***加入文件头了,避免每次都自己复制,一劳永逸。
加入函数注释:
我们的规范如下:
/** @fn const
char *TestClass::func1(char c,int n)
* @brief <这里填写函数的摘要>
* @param
c 参数描述.
* @param
n 参数描述.
* @return 返回描述
*/
这个在Visual
AssistX中已经有了,但是只是格式不同,我们首先在Viusal Studio的VAssistX菜单(前提是已经安装过这个软件)中,选择tools项中的Edit VA Snippets…项,在左侧找到Refactor Document Method。
然后在左侧的内容里输入
注意Title和Shortcut里的内容不要修改。使用函数注释按下面的方法:
在CPP的文件里找到你要加入注释的函数,将光标移到函数处,右键,选择Refactor菜单项里的Document Method,如下图:
因为我们定义注释里有个自定义的保留字$Brief$,所以在点击完Document Method时,会弹出对话框让你输入函数的概要。输入完点确定即可。
在Breif处输入函数简介。
/** @fn
CMutiroleDialog::ShowDialog
* @brief
显示对话框
* @param
QWidget * parent
* @param
QString & strTitle
* @return
void
*/
点击回车后生成上面的注释,其中$MethodArgs$会给你列出所有的函数参数,这当然也是自动生成的,你在每个参数后面加入参数的注释内容即可,这个当然不能自动完成,因为它也猜不出函数参数的意思~。
查找某个函数的功能:
Visual Studio的查找功能有些不太好用的地方,我现在介绍下这个插件的查找功能。
假如你要找一个函数在哪里被引用到,这个就非常方便了。
首先将鼠标移动到函数名称上,会出现一个倒三角号,
如果选择Find References,就可以显示在这个解决方案中,所以引用到这个函数的地方,如果选择Find Reference in File,它只用显示这个函数在当前的文件当中引用到的地方,查找的结果在:
会详细的显示出在哪个文件里,哪一行,还有哪个函数里引用到了这个函数,而且可以使用代码着色的功能显示,非常直观。
在上面的菜单当中,还可以直接选择重命名,这样就可以重命名所有引用到地方一起改变名称,这个可以自己试下。
自动加入函数实现的功能:
当你在头文件里写了一个函数时,每次都得到CPP文件中补上函数的实现,其实你可以在头文件的函数处,右键,选择Refactor,Create Implements的,这样,就会在C++中自加入函数的实现,而不用手动再去写。
如上图。
这个Refactor中,可以实现好多功能
- 可以加入类的成员变量
- 加入相似的函数
- 如果你先在CPP写好了函数,可以直接在.h中加入声明
- 如果一些函数和变量是其他头文件中的,而你还没有include,还可以自动include进来
- 改变名称
- 选中一块代码,可以把这块代码抽象成一个函数(就是加一个函数体将这块选中的代码包起来,使之成为一个独立的函数)
- 实现接口,如果你继承的父类有虚拟函数,他们的直接实现这些接口,并分别加入到头文件和CPP文件中。
包围功能
包围功能是这样的,当你选中一块代码,可以直接用{}或()包围起来,也可以在这块代码中加入if包起来。可以加的包围功能,如上图所示。它会直接在你选中的代码外面,加入你选择的东西。
VAssistX使用小窍门的更多相关文章
- MySql批处理的小窍门:排行榜类数据生成
MySql批处理的小窍门:排行榜类数据生成 最近在做新版本的开发,其中涉及到排行榜的批量预生成,在此分享给大家. 关键点 名次的计算(不考虑用游标) 单榜单查询 对于排行榜这种类型的数据,当只查一个排 ...
- WPF中线性渐变画刷的一个小窍门
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...
- 教你50招提升ASP.NET性能(二十四):ORM小窍门
ORM TipsORM小窍门 More and more people are using Object to Relational Mapping (ORM) tools to jump the d ...
- JavaScript性能优化小窍门汇总(含实例)
在众多语言中,JavaScript已经占有重要的一席之地,利用JavaScript我们可以做很多事情 , 应用广泛.在web应用项目中,需要大量JavaScript的代码,将来也会越来越多.但是由于J ...
- 10个实用的UX设计作品推销小窍门
以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 众所周知,产品用户体验很重要,即使是Google也知道这一点.但是,当真正涉及到UX 设计销 ...
- css 样式小窍门
css 样式小窍门 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- PPT制作不加班的十个小窍门
五个一键: 情景一: 上司:小万,什么字体啊这是,全部换成微软雅黑. 一键替换字体: 单击任意文本框——开始菜单栏——替换(下拉三角)——替换字体——替换为——替换. 情景二: 上司:小万,“咖啡 ...
- extjs 学习小窍门
一.从form中获取field的三个方法: 1.Ext.getCmp('id'); 2.FormPanel.getForm().findField('id/name'); 3.Ext.get('id/ ...
- Eclipse的调试功能的10个小窍门[转]
原文链接:http://www.importnew.com/6164.html 你可能已经看过一些类似“关于调试的N件事”的文章了.但我想我每天大概在调试上会花掉1个小时,这是非常多的时间了.所以非常 ...
随机推荐
- Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...
- Zookeeper基本配置
前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象.本 ...
- XSS的原理分析与解剖
0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成的代码,没有从基础的开始),直到刺的<白帽子讲WEB安全>和cn4rry的<XSS跨站脚本攻击剖析 ...
- [zhuan] linux 下 wxWidgets 安装,编译
http://blog.csdn.net/yuzhenxiong0823/article/details/7727133 wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GT ...
- CSS 后代选择器
后代选择器(descendant selector)又称为包含选择器. 后代选择器可以选择作为某元素后代的元素. 根据上下文选择元素 我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起 ...
- 如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件
1. 描述 PDF 文件是一种便携文件格式,是由Adobe公司所开发的独特的跨平台文件格式.PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即 ...
- 浅谈Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...
- Oracle补习班第五天
Great minds have purpose,others have wishes. 杰出的人有着目标,其他人只有愿望 控制文件是小型二进制文件,只能在mount阶段新建 1,重做控制文件 alt ...
- c# MessageBox 用法大全
我们在程序中经常会用到MessageBox. 1.MessageBox.Show("Hello~~~~"); 最简单的,只显示提示信息. 2.MessageBox.Show(&qu ...
- sublime text 3 license 2016.05
补充:2016.05 最近经过测试,3个注册码在新版3103的sublime上已经不可用了. 现补充两枚新版的license key: -– BEGIN LICENSE -– Michael Barn ...