source insight 添加函数注释宏

SourceInsight自定义宏实现C/C++风格注释以及函数注释插入 SourceInsight自定义宏实现C/C++风格注释以及函数注释插入。 阅读详情

在source insight 的工程文件中,即以em为后缀的文件中增加如下宏:

 

macro InsertHeader()
{
    /* 获取光标所在行 */
    handle = GetCurrentWnd()
    process_line = GetWndSelLnFirst(handle)
 
    /* 获取函数所在行文本 */
    file_txt = GetCurrentBuf()
    process_txt = GetBufLine(file_txt,process_line + 1)
    process_txt_len = strlen(process_txt)
 
    if(process_txt == "")
    {
        stop
    }
 
    /* 获取函数名 */
    symbol_rec = GetSymbolLocationFromLn (handle, process_line + 1)
    if(symbol_rec == "")
    {
        stop
    }
 
    fuction_name = symbol_rec.Symbol
    
    /* 获取参数个数及参数名           */
    param_num = 0
    param_list = SymListNew()
 
    i=0,j=0
    while(i < process_txt_len)
    {
        if(process_txt[i] == "," || process_txt[i] == ")")
        {
            j = i
            while(j > 0)
            {
                if(process_txt[j] == " " || process_txt[j] == "*" || process_txt[j] == "&" ||
                   process_txt[j] == "(")
                {
                    symbol_rec.Symbol = strmid(process_txt,j+1,i)
                    SymListInsert(param_list,param_num,symbol_rec)
                    param_num = param_num + 1
                    break;
                }
                j = j - 1
            }
        }
        
        i = i + 1
    }
 
    /* 输出注释 */
    PutBufLine(handle,process_line + 0,"/** ")
 
    var temp_buffer
    temp_buffer = cat(" * [",fuction_name)
    temp_buffer = cat(temp_buffer," description]")
    InsBufLine(handle,process_line + 1,temp_buffer)
 
    InsBufLine(handle,process_line + 2," * \@Author   xxx")
 
    sys_time = GetSysTime(1)    
    temp_buffer = " * \@DateTime "
    temp_buffer = cat(temp_buffer,sys_time.date)
    temp_buffer = cat(temp_buffer,"T")
    temp_buffer = cat(temp_buffer,sys_time.time)
    temp_buffer = cat(temp_buffer,"+0800")
 
    InsBufLine(handle,process_line + 3,temp_buffer)
 
    param_line = process_line + 4
    InsBufLine(handle,param_line," */")
    
    if(strmid(process_txt,0,4) != "void")
    {
        InsBufLine(handle,param_line," * \@return                            [description]")
    }
 
    while(param_num > 0)
    {
        param_num = param_num - 1
        symbol_rec = SymListItem(param_list,param_num)
 
        temp_buffer = " * \@param    "
        temp_buffer = cat(temp_buffer,symbol_rec.Symbol)
        
        temp_buffer_len = strlen(temp_buffer)
        temp_buffer_len = 38 - temp_buffer_len
        while(temp_buffer_len > 0)
        {
            temp_buffer_len = temp_buffer_len - 1
            temp_buffer = cat(temp_buffer," ")
        }
        
        temp_buffer = cat(temp_buffer,"[description]")
        InsBufLine(handle,param_line,temp_buffer)
    }
 
    SymListFree(param_list)
}

 

 

效果如下:

/** 
 * [Work.RemoveWatcher description]
 * @Author   xxx
 * @DateTime 2021年2月21日T17:25:54+0800
 * @param    pWatcher                 [description]
 * @return                            [description]
 */

	int RemoveWatcher(WatcherSubscriber *pWatcher)
	{
		list<WatcherSubscriber*>::iterator it;
		for(it = mWatcher.begin();it!= mWatcher.end();it++)
		{
			if(pWatcher == *it)
			{
				mWatcher.remove(pWatcher);
				break;
			}
		}
	}
source insight添加、取消多行屏蔽宏 阅读详情

相关推荐

为Source Insight添加TODO、FIXME等注释标签的高亮

在程序中加入TODO、FIXME等特殊的注释标签有助于提高代码编写效率,特别是多人协作的情况下。一般用法如下: TODO: + 说明: 如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。 FIXME: + 说明: 如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。 XXX:

Azure的博客 5417

Source Insight中代码块注释(利用/**/)及取消注释实现方法

用了许久source Insight写C/C++代码,发现其中没有块注释功能很不方便,于是今天研究了下怎样让sourceInsight实现块注释。 网上介绍了很多方法实现块注释,但是都是对代码利用“//”逐行注释,没有用“/* */”实现的,我个人比较倾向于用/* */注释代码块,所以今天自己动手写了利用”/* */“实现块注释代码。 好了,废话不多说,直接上宏代码,后面会介绍使用方法:

浠er 的优快云 1万+

source insight4.0多行注释

source insight4.0多行注释 在使用source insight编辑代码时,对于多行注释特么麻烦,今天对此百度搜索source insight多行注释方法,如下。 实现多行注释通过source insigh添加宏与快捷键实现,一般快捷键为ctrl+/实现设置。 首先打开source insight 工程中base工程 打开utils.em 在代码最后添加如下代码(百度搜索,已测试...

qq_38240926的博客 5776

Source_insight配置宏注释宏定义_方便快捷生成规范的函数注释和文件头注释

Source_insight配置宏注释宏定义_方便快捷生成规范的函数注释和文件头注释 配置这个注释宏定义其实就是修改,Source Insight(SI)中有一个Base工程,是安装完SI后自动生成的一个工程,该工程里只有一个Utils.em文件,该文件是常用编辑宏的一个集合。 1、文件注释 macro InsertFileHeader() { //get crrunt time szTime = GetSysTime(1) Day = szTime.Day

会选科技的博客 1700

Source Insight中Quicker.em的使用方法

1、安装方法 Source Insight有很多宏可以用,这里介绍的宏是quicker.em这个宏,它是华为的一个员工写的,很实用。 1、安装quicker.em宏 一、打开base这个工程Project->Open Project,选择base工程,即可打开; 二、将宏文件quicker.em添加到该base工程中; 三、设置宏的快捷方式:Options->Key Assignments,找到Marco:AutoExpand,添加快捷键即可,一般推介用Ctrl+Enter组合键。 .

LeeAmySnail----专栏 3392

开发环境 之十六 SourceInsight 4.0 常用宏使用、编辑、修改详解(附最新完善版本的宏)

简介   SourceInsight 作为一款经典的代码查看工具,小巧、强大,各种代码通吃!从2018年开始,更新到了4.x版本。相对于之前死都不更新的3.5版本,4.x的添加了许多更为好用的功能!以下文章均是以最新版本的 SourceInsight 4 为例来说明的。 宏   SourceInsight 3.5也好,还是最新的4.x版本,都支持强大的宏编制。官网给出了不少例子:https://w...

技术干货 1万+

source insight快速添加代码文件头注释和函数注释

1:目的 通过快捷键来为代码快速添加头注释和函数注释 2:方法 1.打开base工程 2. 在utils.em下添加或修改下面的函数 2.1代码头部注释 /*获取文件名称*/ macro GetFileName(pathName) { nlength = strlen(pathName) i = nlength - 1 name = "" while (i + 1) { ch = pathName[i] if ("\\" == "@ch@") break i = i - 1 }

kayshi的博客 5847

source insight 多行注释,取消注释,函数名注释模板

自己写的宏macro CodeCommentsEnter(),CodeCommentsCancel(),macro CodeHeadAdd(),和UE特殊编辑下面的添加注释、取消注释相同,最后一个是函数名的注释模板。 使用方法:直接覆盖BASE工程、安装路径下面的文件即可。 宏的添加:选项--菜单分配--命令(选择相应的宏) 菜单(选择添加的位置) ,确定后就可以在菜单栏中使用了。

source insight 宏 添加函数注释

无意中发现source insight有宏信息,具体的编码规则可以在 source insight下面按 F1,查看Macro Language Guide进行参考,查阅 此版本是基于source insight内部的base工程,也参考了网上的资料 主要就是解析字符串,使用了 strmid()  strtrunc()函数来裁剪字符串 在此记录一下... /*---------------

vanpire110的专栏 6456

solidworks vba二次开发配合问题

solidworks vba二次开发配合问题二次开发装配的步骤 二次开发装配的步骤 solidworks可以使用宏录制配合过程从而得到配合的vba代码,步骤如下: 1.选择两个配合的面(点、线等) 2. 建立配合 例如将两个圆柱面同心(图中高亮): 配合后 我们看一下宏录制的代码: Sub main() //激活solidworks接口 Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc //选择两个圆柱面,注意此处是根据坐标选择,不

Alejandro123的博客 3406

六轴机器人正解

采用的是John H.Craig在【机器人学导论】中的改进DH模型 1.六轴坐标系 2.DH参数 i αi−1\alpha_{i-1}αi−1​ ai−1a_{i-1}ai−1​ did_idi​ θi\theta_iθi​初值 1 0 0 0 0 2 -90 a1a_1a1​ 0 -90 3 0 a2a_2a2​ 0 -90 4 -90 a3a_3a3​ d4d...

m0_37581770的博客 2511

Source Insight 4.0 使用宏添加文件头信息、函数头信息、注释代码块

/* * 文件名:flinger.em * * 步骤: * 1. 复制到Base项目文件夹,如;C:\Users\xxx\Documents\Source Insight 4.0\Projects\Base * 2. Project -> Open Project,打开Base项目; * 3. 将复制过去的flinger.em添加入Base项目; * 4. 重启SourceI...

cfl927096306的博客 4588

别再只用相机标定了!手把手教你用OpenCV和Python搞定投影仪标定(附完整代码)

本文详细介绍了如何使用Python和OpenCV实现投影仪标定,特别针对结构光三维扫描中的核心问题。通过低成本替代方案和优化算法,解决投影仪标定中的非线性畸变和亮度-距离耦合效应,显著提升三维重建精度。附完整代码和实战技巧,帮助开发者快速掌握关键技术。

weixin_29274337的博客 543

使用source insight 宏来插入doxygen可处理的注释

宏文件如下。 设置快捷键后,双击高亮要注释的内容,使用快捷键触发即可。 可自动识别 普通:在头部添加 宏:在末尾添加注释 变量:在末尾添加 函数:在头部添加,并自动识别函数个数 类:在头部添加 代码如下:保存为m.em即可加入source insight macro insert_func_header_...

mypyg的专栏 561

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 920

Ghost备份还原Win10全攻略:从老电脑迁移到新硬盘,ESP分区处理是关键

本文详细介绍了使用Ghost工具将Win10系统从旧电脑迁移到新硬盘的全过程,特别强调了ESP分区的关键处理方法。通过分步指导备份、分区准备、系统还原和引导修复,帮助用户实现无缝系统迁移,解决常见问题如启动失败和驱动兼容性。

weixin_30823001的博客 672

source insight 4 utils.em 工具宏

因为不是提交到工作库上面的代码,只是作为工具自己用的,平时用的时候没什么影响,所以代码格式上不是很好看,效率也没有优化,不过亲测可用,分享一下 // 插入函数注释头,格式如下 /****************************************************************************** 函 数 名: FuncName 功能描述: 输入参数: arg1 [description] arg2 [description]

weixin_41920994的博客 800

Simulink仿真模块-Signal Generator

Signal Generator:生成各种波形 所在的位置库为:Simulink / Sources 模型为: 说明 Signal Generator模块可以产生四种不同波形: 正弦波 方波 锯齿波 随机 可以使用 hertz 或 rad/sec 为单位表示信号参数。双击模型可以选择需要生成的波形,如图所示: 使用默认参数值,可以获得下列波形之一: 波形 波形输出 正弦波 ...

jk_101的博客 2655

给source insight添加doxygen注释风格

目前项目组对于注释的要求比较高,导致我添加注释的时候非常烦,大量的重复劳动确实很烦人,自己也一直打算给source insight添加类似的功能,可能是本人比较懒,一直不想做这样的工作。不过,既然可以一劳永逸,何乐而不为呢。     后来发现有个叫doxygen的工具,看了介绍,觉得还比较实用,所以就在网上找了些资料,不过他们给SI添加的那些方法好像不能满足我的要求,所以还是自己动手吧。以下是我

dayong419的专栏 6167

基于Simulink的电动车PMSM能量泄放与回收系统仿真设计

摘要 本文设计了一个基于Simulink的电动车PMSM能量泄放与回收系统仿真模型。系统采用分层建模方案,包含永磁同步电机(PMSM)矢量控制、电池管理和泄放功率计算等核心模块。通过详细的参数计算和MATLAB脚本实现,模拟了电动车在制动时的能量回收过程。重点研究了泄放电阻的控制策略,提出基于母线电压和电池SOC的多目标优化算法,确保系统在保护硬件安全的同时最大化能量回收效率。仿真模型包含完整的数学推导和模块搭建指南,为电动车能量管理系统设计提供了有效的仿真验证平台。

huanghm88的专栏 193

educoder实训——计算几何形状的表面积与体积

educoder python实训

qq_41234663的博客 1230

Source Insight的应用技巧、宏功能【转】

目录版本记录... 2目录... 31 简介... 52 搭建我们的SI环境... 52.1 搭建步骤... 52.2 说明... 63 应用技巧... 63.1 初级应用技巧... 63.1.1 解决字体不等宽与对齐的问题... 63.1.2 把TAB变成4个空格... 73.1.3 更改背景色... 73.1.4 自动对齐设置: 73.1.5 显示坐标... 73.1.6 创建快捷键快乐工作.

ywxiao66的专栏 841

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

利用Source Insight宏语言脚本添加注释

利用Source Insight宏语言脚本添加注释 一,前言     总所周知,在Windows开发环境中,一个几百兆C语言工程代码中,最好用的编辑工具当然就是Source Insight了。Source Insight(目前大多使用的版本为3.5)的Macro Language提供的API非常强大,其实我们可以利用这些API编写一些脚本,通过映射快捷键来达到高效而规范开发的目的。

7532

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Source Insight 注释快捷键的宏添加

 在使用SI过程中,我根据自己的使用习惯修改了它的默认快捷键,并且在配置文件中添加了一些人性化功能,下面一一介绍:  修改快捷键:Options->Key Assignments... 1.main window:Esc       2.Hight light:Middle Mouse 3.Go Back:Alt+z              4.Go Forward:Alt+x  

wyq393562305的专栏 781

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

source insight 多行注释宏

在网上也有类似的宏,但效果都不是我想要的,都只是在首列加个// ,而没有缩进,于是自己动手写个一个多行注释的宏 macro MultiLineComment() { /* 获取选择区收尾行 */ handle = GetCurrentWnd() first_line = GetWndSelLnFirst(handle) last_line = GetWn

fanyusen的博客 579
上一篇: linux 服务器用脚本检测内存和磁盘大小
无所畏俱
博客等级 码龄14年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值