使用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配置的更多相关文章

  1. git config文件总结及git alias配置

    1. 文件位置 mac /etc/.gitconfig 系统级~/.gitconifg 用户级(覆盖系统级) windows C:\Users\$user\.gitconfig 当前项目下 .git/ ...

  2. webpack中 resolve.alias 配置,@import相关踩坑

    1.在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下: resolve: { extensions: [‘.js‘, ...

  3. IDE vscode识别webpack中alias配置路径

    引言网上看到一篇关于 ctrl+鼠标左键无法识别别名路径的问题,最后有人回复的方法只能在ts项目中可以识别 https://segmentfault.com/q/1010000011911879 最后 ...

  4. nginx location关于root、alias配置的区别

    一.首先优先级如下: = 表示精确匹配,优先级最高 ^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /stat ...

  5. webpack配置别名alias出现的错误匹配

    @(webpack) webpack是一款功能强大的前端构建工具,不仅仅是针对js,它也可通过各种loader来构建相关的less,html,image等各种资源,将webpack配合流程制定工具gu ...

  6. nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项

    这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...

  7. nginx代理配置 配置中的静态资源配置,root 和 alias的区别

    这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...

  8. nginx1.14.0版本location路径,多级文件目录配置,root与alias的配置区别

    1.多级目录配置 多级目录是指像/html/mypage 等等配置: server { listen 80; server_name localhost; location = /page1/ { # ...

  9. 对 Sea.js 进行配置(一) seajs.config

    可以对 Sea.js 进行配置,让模块编写.开发调试更方便. seajs.config seajs.config(options) 用来进行配置的方法. seajs.config({ // 别名配置 ...

随机推荐

  1. C#中web页面之间传递数组参数

    一直以来用到的都是在url地址中传递string类型,那么如果是数组类型的该怎么传递呢? ]; arryStr[] = "a"; arryStr[] = "b" ...

  2. Office word 2013中直接调用MathType的方法

    Office word 2013中直接调用MathType的方法 | 浏览:4403 | 更新:2014-02-20 14:45 | 标签: word 使用Office word 2013的用户肯定早 ...

  3. job history 的查看

    linux shell 可以启动 mapred historyserver 然后根据显示的端口hostname+port进行访问(一般默认端口是19888)

  4. pyqt4:在线程Qthread中使用定时器Qtimer

    GUI main 部分,主app类中的__init__初始化方法中添加 实例化线程 self.s2_thread=Worker2() 初始化一个定时器 self.log_get=QtCore.QTim ...

  5. 浅析c#中登录窗体和欢迎窗体关闭的问题

    第一次在cnbogs发文章,这次来个很基础的,主要给小白看. 在c#的winform编程中,我们经常会做登录窗体或欢迎窗体,并把他们作为启动窗体. 但是,我们有可能会遇到一些问题. 请看下面的代码: ...

  6. Call me evilxr

    我是Evilxr,博客新开第一天:希望自己能坚持下去!之前友友推荐的是oschina,使用了一段时间发现oschina经常抽风,再者自己平时也有关注一些博客觉得cnblogs也不错,开博的初衷是想记录 ...

  7. [课程设计]Sprint One 总结&发表评论&团队贡献分

    一.总结 第一次冲刺结束了,总体来说我们团队还是做得不错的,完成了既定的目标,希望接下来还能保持这样的动力,fighting... ● 二.围观其他组并发表评论 ● http://www.cnblog ...

  8. memcache/memcached安装教程并应用Tinkphp3.2

    在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢?其实很简单,memcache是php的一个扩展,用于php管理mem ...

  9. MyBatis学习(一)

    前言 再过一个月,转行做java web就满一年了.当初吸引我进入公司的,其实并不是java web,而是领导给我描述的hadoop生态圈.公司的hadoop集群以及大数据业务.可是进入公司后才发现, ...

  10. sql server中批量插入与更新两种解决方案分享

    若只是需要大批量插入数据使用bcp是最好的,若同时需要插入.删除.更新建议使用SqlDataAdapter我测试过有很高的效率,一般情况下这两种就满足需求了 bcp方式 复制代码 代码如下: /// ...