source insight 添加宏-文件头加注释

news2025/1/22 12:24:25

        source insight 3.5 自带的一些宏,在安装目录下的 utils.em 文件中,用户也可以自己写文件,命令为xxx.em ,然后把这个文件添加到项目中即可,添加后在菜单栏 Options -> Key Assignments 里输入macro 就能显示新添加的宏名称,然后给它分配一个快捷键,如:

这个新加的宏名如果不显示,可以先把这个 .em 文件从项目中移除,然后再添加一遍。

新加的宏是这样的,可以添加到新的一个 xx.em 文件中,加入项目即可。

macro InsertComment2FileHeader()
{
	hbuf = GetCurrentBuf()
	
	//这个是带绝对路径的文件名
	bufFileName = GetBufName(hbuf)
	nameLen = strlen(bufFileName)
    
    //没找字符串查找的函数,只能用原始方法了
	ich = 0
	chPos = nameLen
	while(chPos > 0)
	{
		ch = bufFileName[chPos - 1]
		//取文件名,不要路径,从末尾开始找第一个 "\", 这样就知道文件名的起点了
		if(AsciiFromChar(ch) == 92)
		{
			break
		}

		chPos = chPos - 1
	}
	
	realFileName = ""
	while(chPos < nameLen)
	{
		//从最后一个"\"开始取就是文件名了
		ch = bufFileName[chPos]
		realFileName = cat(realFileName, ch);
		chPos = chPos + 1
	}

	//新加环境变量后,source insight 要关闭再打开才获取到
	authorName = getenv(author_email)
	
	//参数为0为格林尼治时区,非0为本地时区
	dateTime = GetSysTime(8)
	year = dateTime.Year
	month = dateTime.Month
	day = dateTime.Day
	hour = dateTime.Hour
	minute = dateTime.Minute
	second = dateTime.Second
	
	InsBufLine(hbuf, 0, "/*****************************************************************")
	InsBufLine(hbuf, 1, "* FileName: @realFileName@")
	InsBufLine(hbuf, 2, "* Description: ")
	InsBufLine(hbuf, 3, "* DateTime: @year@-@month@-@day@ @hour@:@minute@:@second@")
	InsBufLine(hbuf, 4, "* Author: @authorName@")
	InsBufLine(hbuf, 5, "* Version: ")
	InsBufLine(hbuf, 6, "*****************************************************************/")
	InsBufLine(hbuf, 7, " ")
}

另外这个环境变量是新加的,添加的是系统级的环境变量,加完之后需要重启一下 source insight,否则取不到新加的环境变量。效果如下:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【校招VIP】产品分析之策略量化分析

考点介绍&#xff1a; 产品的设计和迭代需要通过数值来进行分析&#xff0c;那么如何去制定一个数值策略&#xff0c;区分好坏的情况&#xff0c;就会非常的重要。属于数据量化的范畴。 『产品分析之策略量化分析』相关题目及解析内容可点击文章末尾链接查看&#xff01; 一、…

解决微信消息接收问题,原来只需设置这三个地方,让你涨知识

在日常使用微信的过程中&#xff0c;你是否曾经遇到过无法接收消息或消息延迟的问题&#xff1f;如果是的话&#xff0c;别着急&#xff01;今天&#xff0c;我们将为你揭示解决这个问题的简单方法&#xff0c;原来只需设置这三个地方&#xff0c;让你的微信恢复正常运行。 首先…

openGauss学习笔记-43 openGauss 高级数据管理-事件触发器

文章目录 openGauss学习笔记-43 openGauss 高级数据管理-事件触发器43.1 语法格式43.2 参数说明43.3 示例 openGauss学习笔记-43 openGauss 高级数据管理-事件触发器 触发器会在指定的ddl事件发生时自动执行函数。目前事件触发器仅在PG兼容模式下可用。 43.1 语法格式 创建事…

【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)二(113)

需求&#xff1a; 有一个List<Map<String.Object>>,存储了区域的数据&#xff0c; 数据是根据用户查询条件进行显示的&#xff1b;所以查询的数据是动态的&#xff1b;按区域维度统计每个区域出现的次数&#xff0c;并且按照次数的大小排序&#xff08;升序&#…

在线零售供应链管理:从0到100

全球57%的公司将其供应链视为竞争优势&#xff0c;然而只有6%的人表示完全了解它。无论您是首次在线卖家还是经验丰富的专业人士&#xff0c;驾驭管理高效且具有成本效益的零售供应链的复杂性都可能具有挑战性。一起来了解一下吧&#xff01; 供应链管理是什么&#xff1f;它基…

【LeetCode75】第三十一题 反转链表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 最经典的链表题&#xff0c;没有之一&#xff01;&#xff01;&#xff01; 强烈建议直接把模板记住&#xff01;&#xff01;&#xf…

FairyGUI编辑器自定义菜单扩展插件

本文涉及到的软件有&#xff1a;FairyGUI&#xff0c;VSCode 代码环境涉及到了&#xff1a;Lua VSCode插件&#xff1a;EmmyLua 在编写FairyGUI编辑器菜单前&#xff0c;了解一下FairyGUIEditor的API会有效的帮助我们解决很多问题。FairyGUI的扩展是通过编辑器自带的插件功能…

sed 语法和基础命令

1. 准备工作 准备备一个数据文件data.txt&#xff0c;内容如下&#xff1a; 101,Zhang san,Fu Jian 102,Li si,Shan Dong 103,Wang Wu,Bei Jing 104,Zhao Qian Sun,Zhe Jiang 105,Ge Lin,Shang Hai 每一行为一条数据&#xff0c;每条数据包含三个元素&#xff1a;ID&#xf…

薪资涨幅1000%+,转行学Java后,他彻底开挂了

以下为学长故事的文字版&#xff1a; 哈喽黑马程序员的学员们大家好&#xff0c;我是17级毕业的学长陈同学&#xff0c;很高兴和大家分享我的转行故事。 来黑马前后的变化 我刚毕业是去了浙江的一个电力公司&#xff0c;做电器的一个项目&#xff0c;这个项目一共工作了半年…

PIN TO PIN替代LT8911EXB|CS5523低成本替代LT8911EXB|MIP DSI转DP EDP方案设计

PIN TO PIN替代LT8911EXB|CS5523低成本替代LT8911EXB|MIP DSI转DP EDP方案设计 LT8911EXB是MIPI DSI/CSI 转eDP转换芯片&#xff0c;ASL CS5523不需要改电路就可以直接PIN TO PIN替代与兼容LT8911EXB。 ASL CS5523与 LT8911EXB的功能与参数&#xff0c;用途方式以及封装方式和…

《TCP IP网络编程》第十八章

第 18 章 多线程服务器端的实现 18.1 理解线程的概念 线程背景&#xff1a; 第 10 章介绍了多进程服务端的实现方法。多进程模型与 select 和 epoll 相比的确有自身的优点&#xff0c;但同时也有问题。如前所述&#xff0c;创建&#xff08;复制&#xff09;进程的工作本身会…

[Docker精进篇] Docker镜像构建和实践 (三)

前言&#xff1a; Docker镜像构建的作用是将应用程序及其依赖打包到一个可移植、自包含的镜像中&#xff0c;以便在不同环境中快速、可靠地部署和运行应用程序。 文章目录 Docker镜像构建1️⃣是什么&#xff1f;2️⃣为什么&#xff1f;3️⃣镜像构建一、用现有容器构建新镜像…

构建可远程访问的企业内部论坛

文章目录 前言1.cpolar、PHPStudy2.Discuz3.打开PHPStudy&#xff0c;安装网页论坛所需软件4.进行网页运行环境的构建5.运行Discuz网页程序6.使用cpolar建立穿透内网的数据隧道&#xff0c;发布到公网7.对云端保留的空白数据隧道进行配置8.Discuz论坛搭建完毕 前言 企业在发展…

Python科研绘图--Task01

目录 科研论文配图主要成分 常见的插图格式 像素图 矢量图 色彩模式 RGB色彩模式 CMYK色彩模式 HEX色彩模式 色轮配色原理 单色配色方案 例子 互补色配色方案 例子 等距三角配色方案 例子 四角配色方案 例子 颜色主题 单色系 例子 双色渐变色系 例子 多色…

直线导轨的选购要素

直线导轨是用来支撑和引导运动部件&#xff0c;按给定的方向做往复直线运动&#xff0c;主要用于精密机床、坐标测量机和大型机床&#xff0c;对于我们整个国民生产、生活活动都起着至关重要的作用。 我们在选购直线导轨时&#xff0c;都想要选到质量好的&#xff0c;那么我们要…

【JavaEE基础学习打卡05】JDBC之基本入门就可以了

目录 前言一、JDBC学习前说明1.Java SE中JDBC2.JDBC版本 二、JDBC基本概念1.JDBC原理2.JDBC组件 三、JDBC基本编程步骤1.JDBC操作的数据库准备2.JDBC操作数据库表步骤 四、代码优化1.简单优化2.with-resources探讨 总结 前言 &#x1f4dc; 本系列教程适用于JavaWeb初学者、爱好…

Spring框架之揭秘Bean的生命周期与单例详解【面试题超详细回答】

目录 一、前言 1.1.介绍Spring框架和Bean的概念 二、Bean的实例化阶段 2.1.Bean的实例化过程 2.2.介绍默认构造函数和工厂方法的使用 三、Bean的初始化阶段 3.1.InitializingBean接口和PostConstruct注解的使用 3.2.Bean的初始化方法配置和执行顺序 四、Bean的销毁阶段…

数据库变革:HashData云数仓实现事务级实时性

8月16-18日&#xff0c;第十四届中国数据库技术大会&#xff08;DTCC 2023&#xff09;在北京召开。酷克数据资深解决方案架构师陈义贤在“数据库内核•技术创新”专场发表题为“分布式数仓的TP能力探索—HashData UnionStore”的演讲&#xff0c;介绍HashData以Log is databas…

QT的mysql(数据库)最佳实践和常见问题解答

涉及到数据库&#xff0c;首先安利一个软件Navicat Premium&#xff0c;用来查询数据库很方便 QMysql驱动是Qt SQL模块使用的插件&#xff0c;用于与MySQL数据库进行通信。要编译QMysql驱动&#xff0c;您需要满足以下条件&#xff1a; 您需要安装MySQL的客户端库和开发头文件…

三生ONE物,无限可能|博睿数据上市三周年!

2020年8月17日&#xff0c;北京博睿宏远数据科技股份有限公司作为国内A股市场上的“APM应用性能监控第一股”公司&#xff0c;在科创板荣登上市&#xff01;&#xff08;股票号688229&#xff09; 2023年8月17日&#xff0c;三载日夜更替&#xff0c;博睿一路砥砺前行&#xf…