slickedit的alias配置
使用slickedit很喜欢它的多语言支持,可以快速查看变量的定义和结构。我一般写verilog较多,使用emcas很方便,但是感觉查看代码结构不太方便(也可能是我不会设置)。所以希望能够在slickedit上实现一些在emacs上很实用的技巧。好在slickedit支持slick-C,可以很方便的支持一些alias操作来帮助写代码。
文件头注释
文件头注释用到很多,我喜欢在里面标注文件名、工程名、简要描述信息以及修改日期。
一个例子如下所示:
//-----------------------------------------------------------------------------
// File : wave.c
// Project : test
// Author : chenbei <chenbei@rigol.com>
// Created : 2015-09-23
// Last modified : 2015-09-23
//-----------------------------------------------------------------------------
// Description :
// 测试
//-----------------------------------------------------------------------------
// Copyright (c) by Rigol This model is the confidential and
// proprietary property of Rigol and the possession or use of this
// file requires a written license from Rigol.
//------------------------------------------------------------------------------
// Modification history :
// 2015-09-23 : created
//-----------------------------------------------------------------------------
要方便的创建这个文件注释,需要编写一些slick-C函数,然后在alias中调用这些函数即可。
- 用到的Slick-C函数
// 获取当前文件名,参数'PD'表示从获取的完整文件名中去掉Path和Directory,保留Extension和Name
_str _get_file_name( ){
_str file_name = _strip_filename( p_buf_name, 'PD' );
return file_name;
} // 获取当前日期,参数'I'表示按照标准 yy-mm-dd 格式
_str _get_date( ){
_str date = _date( 'I' );
return date;
}
- 创建一个global-alias,命名为fileh,代码为
//-----------------------------------------------------------------------------
// File : %\m _get_file_name%
// Project : %(project)
// Author : chenbei <chenbei@rigol.com>
// Created : %\m _get_date%
// Last modified : %\m _get_date%
//-----------------------------------------------------------------------------
// Description :
// %(file_desc)
//-----------------------------------------------------------------------------
// Copyright (c) by Rigol This model is the confidential and
// proprietary property of Rigol and the possession or use of this
// file requires a written license from Rigol.
//------------------------------------------------------------------------------
// Modification history :
// %\m _get_date% : created
//-----------------------------------------------------------------------------
注意调用函数时,使用%\m _func%的格式。
改进
使用时感觉还需要对它再进一步改进,添加一个命令,让代码每次修改后能够更新一个时间tag,并且修改Last modified时间标记。
添加一个文件更新alias,命名为fileup
%\m find_tag1%%\m _get_date%%\s
注意alias中的代码并不是以函数顺序执行,而是直接执行类似于替换的操作,所有这里要放在一行,否则会导致多余的换行。
然后新建一个user_macro.e文件,将用到的slick-C函数代码实现在文件中,如下:
// 获取当前文件名,参数'PD'表示从获取的完整文件名中去掉Path和Directory,保留Extension和Name
_str _get_file_name( ){
_str file_name = _strip_filename( p_buf_name, 'PD' );
return file_name;
} // 获取当前日期,参数'I'表示按照标准 yy-mm-dd 格式
_str _get_date( ){
_str date = _date( 'I' );
return date;
} // 获取Last modified字符串,定位日期位置
void find_tag1 ( ) {
find_tag2 ( ); //先定位
find( 'Last modified : ' );
cut_word(); //删除原来的时间信息(three word)
cut_word();
cut_word();
} // 获取modification history字符串位置
void find_tag2 ( ) {
find( 'Modification history :' );
_str a[ ];
a[] = '//';
a[] = _get_date( );
a[] = ': modified by chenbei';
_str com = join( a, ' ' ); //使用空格字符连接三个字符串,构成一行
insert_line( com );
}
当编辑完代码,需要更新文件头注释的时候,只需要在代码任意新一行输入 "fileup”然后按alias expansion快捷键即可将当前时间更新到文件头注释中去,在Modified history下会多一行,显示最后更改代码的时间。
后续计划继续摸索slickedit中的alias,多编写一些实用的类似template的功能。
slickedit的alias配置的更多相关文章
- git config文件总结及git alias配置
1. 文件位置 mac /etc/.gitconfig 系统级~/.gitconifg 用户级(覆盖系统级) windows C:\Users\$user\.gitconfig 当前项目下 .git/ ...
- webpack中 resolve.alias 配置,@import相关踩坑
1.在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下: resolve: { extensions: [‘.js‘, ...
- IDE vscode识别webpack中alias配置路径
引言网上看到一篇关于 ctrl+鼠标左键无法识别别名路径的问题,最后有人回复的方法只能在ts项目中可以识别 https://segmentfault.com/q/1010000011911879 最后 ...
- nginx location关于root、alias配置的区别
一.首先优先级如下: = 表示精确匹配,优先级最高 ^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /stat ...
- webpack配置别名alias出现的错误匹配
@(webpack) webpack是一款功能强大的前端构建工具,不仅仅是针对js,它也可通过各种loader来构建相关的less,html,image等各种资源,将webpack配合流程制定工具gu ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- nginx1.14.0版本location路径,多级文件目录配置,root与alias的配置区别
1.多级目录配置 多级目录是指像/html/mypage 等等配置: server { listen 80; server_name localhost; location = /page1/ { # ...
- 对 Sea.js 进行配置(一) seajs.config
可以对 Sea.js 进行配置,让模块编写.开发调试更方便. seajs.config seajs.config(options) 用来进行配置的方法. seajs.config({ // 别名配置 ...
随机推荐
- github最简单的操作方法
其实,说实话,到目前为止,我还没有研究透那些gitbush上面的命令,所以,往github上面上传自己的文件,我采用最简单的操作方式.嘻嘻.下面,将为大家讲述一下. 首先,要在github上面注册新用 ...
- sql server 里类似replace的字符串子串删除
做如下替换: 将字符串asd#sdf#sdfsf中含# …# 形式的子串删除,写出sql语句 sql语句如下: UPDATE MM SET name =substring(name,0,CHAR ...
- 错误集:js解析jQuery.post返回的xml之Could not find action or result
js里用jQuery.post去后台查询数据,返回的是xml格式的数据流. js代码: var params = ""; params = encodeURI(params); v ...
- Hammer.js--转载自李林峰的园子
一.前言 移动端框架当前还处在初级阶段,但相对于移动端的应用来说已经有很长时间了.虽然暂时还没有PC端开发的需求量大,但移动端的Web必然是一种趋势,在接触移动端脚本的过程中,最开始想到的是juqer ...
- Opencv-Python 学习
加载一个灰度图,显示图片,按下’s’键保存后退出,或者按下 ESC 键退出不保存. import numpy as np import cv2 img = cv2.imread('linux.png' ...
- etl学习系列1——etl工具安装
ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可 ...
- 【转载】关于OpenGL的图形流水线
本文转载自 http://blog.csdn.net/racehorse/article/details/6593719 GLSL教程 这是一些列来自lighthouse3d的GLSL教程,非常适合入 ...
- MsXml创建和解析XML示例
一.MsXml创建XML文档示例 // XmlCreationDemo.cpp #include <stdlib.h> #include <stdio.h> // 引入MSXM ...
- css实现自适应屏幕高度;
css实现自适应屏幕高度: <!DOCTYPE html><html lang="en"><head> <meta charset=&qu ...
- Unity 相关经典博客资源总结(持续更新)
就作为一个记录吧,把平时看过的Unity相关的一些好的Blog记录并分享. 好的论坛: Unity官方脚本 点评:这个不用说了,最核心的内容,理解整个Unity引擎的方方面面,梳理结构. Unity ...