使用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. Oracle cmd 导出数据库或者表定义或者纯数据

    实例: expdp zypacs/Sfx371482@zyrisdb schemas=ZYPACS content=metadata_only CONTENT={ALL | DATA_ONLY | M ...

  2. 事件的委托处理 javascript

    javascript的事件模型,采用"冒泡"模式,即子元素的事件会逐级向上"冒泡",成为父元素的事件.这点可以简化事件的绑定... 例如,一个表格(table) ...

  3. HTML编码规范

    HTML编码规范 1 前言 HTML作为描述网页结构的超文本标记语言,在百度一直有着广泛的应用.本文档的目标是使HTML代码风格保持一致,容易被理解和被维护. 2 代码风格 2.1 缩进与换行 [强制 ...

  4. caching redirect views leads to memory leak (Spring 3.1)

    在Spring 3.1以及以下版本使用org.springframework.web.servlet.view.UrlBasedViewResolver + cache(如下配置),在会出现任意种re ...

  5. Java学习

    第一个java程序: 用记事本创建一个文件名为HelloWorld.java文件,我的目录为D:\My Documents\Java-workspace\Test\HelloWorld.java. 打 ...

  6. python之读取cdv

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是:No.,Name,Age,Score1,Apple,1 ...

  7. create dll project based on the existing project

    Today, I have to create a dll project(called my.sln), the dllmain.cpp/.h/ is already in another proj ...

  8. 关于Unity中SteamVR_Controller.Input的错误

    当我在看某鸥的视频的时候,里面讲到用Unity做一个贪食蛇后,加入SteamVR插件,并且能用手柄控制蛇的移动.当我跟着上面一步一步做的时候,发现我代码都写完后,启动报错,而视频里面的老师讲的缺没有报 ...

  9. 推荐一个Jenkins 插件 Build Failure Analyzer

    Wiki https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer 作用: 按照预定的build failure 去解析co ...

  10. BLE 信道

    广播信道频点的选择原则上是为了远离诸如WiFi接入点的严重干扰.这些接入点通常选择802.11信道中的3个:信道1.6.11.这几个信道的中心频率分别为2412/2437/2462,宽度大概为20MH ...