VAssistX使用小窍门

2023-11-07 13:50
文章标签 使用 小窍门 vassistx

本文主要是介绍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的候选输入,然后敲击回车便会自动补全相应的功能,我们就是加入我们的文件头的注释。

首先为代码头加入快捷输入前几个字符,我这里为了不和其实的有所冲突,便以“/***”做为快捷输入的字符,也就是说当输入“/***”时,就会弹出我们自定义的文件头注释。

  1. 点击工具栏的新建按钮 。
  2. 在右侧输入如下:                    

其中Title是这个Snippet的标题,这里写的是“File header detailed”,Shortcut就是你设置的快捷键,这里设置的是“/***”,Despcription就是你自已经对这个Snippet的详细描述。

  1. 在内容里输入如下:
    /**  @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中,可以实现好多功能

  1. 可以加入类的成员变量
  2. 加入相似的函数
  3. 如果你先在CPP写好了函数,可以直接在.h中加入声明
  4. 如果一些函数和变量是其他头文件中的,而你还没有include,还可以自动include进来
  5. 改变名称
  6. 选中一块代码,可以把这块代码抽象成一个函数(就是加一个函数体将这块选中的代码包起来,使之成为一个独立的函数)
  7. 实现接口,如果你继承的父类有虚拟函数,他们的直接实现这些接口,并分别加入到头文件和CPP文件中。

 

包围功能

 

包围功能是这样的,当你选中一块代码,可以直接用{}或()包围起来,也可以在这块代码中加入if包起来。可以加的包围功能,如上图所示。它会直接在你选中的代码外面,加入你选择的东西。

转载于:https://www.cnblogs.com/widget90/p/6128590.html

这篇关于VAssistX使用小窍门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/364043

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安