zoukankan      html  css  js  c++  java
  • 使用sublime模板加快编码效率

    这是使用模板系列的最后一篇了,也是最实用的方法。

    前面提到的,插入文件的方法,适合计算机水平一般的初学者;而用TCL脚本的,则适合喜欢自定义各种奇特功能的专业人士。

    那么,本次介绍的配置编辑器的方法,就更适合绝大多数码农了。

    1、安装Sublime Text 2。

    Sublime Text 3是收费的,也可以破解,这里以Sublime Text 2为例。

    在官网http://www.sublimetext.com/上面可以下载到这个编辑器,安装过程就不说了,你可以一直试用,也可以破解它(自己百度吧)。

    2、下载插件。

    因为Sublime还不支持verilog,所以得在github上面下载插件(VHDL也有插件,可以自行搜索)。

    https://github.com/search?utf8=%E2%9C%93&q=verilog+sublime

    要注册个账号才可以下载的。

    其中要下载三个插件,如下图所示。

    点击下图所示,就可以下载了,是个ZIP文件。

    然后全部解压,把里面的文件(如下图所示),全部放到C:UserslenovoAppDataRoamingSublime Text 2PackagesUser里面。

    3、enjoy yourself。

    现在打开Sublime。在View->syntax下可以看到

    好了,现在用Sublime打开一个verilog文件,就能看到语法高亮了,代码提示功能也是非常强的。

    除此之外,它还能自动生成模板。

    如:always,if,else,module,case,for甚至连状态机都可以自动生成。

    生成的模板,还能用TAB键,自动跳转,非常方便。

    如果你不喜欢这些插件生成的模板,还可以修改它。

    4、Sublime的快捷键。

    ctrl+/,注释和取消注释。

    ctrl+D,向下选词。

    ctrl+J,合并行。

    ctrl+F,查找。

    ctrl+U,软撤消。

    ctrl+L,选择行。

    其它的快捷键,可以自己百度,也可以在Sublime上面找到。

    5、自动对齐代码。(注:X86版才有 Code Alignment ,X64版是Alignment不能用Ctrl + =实现输入任意字符或字母匹配)

    这个功能也要安装插件。

    首先要安装Package Control。

    在Sublime,用快捷键Ctrl+`(反引号),打开控制台。(如果控制台的快捷键冲突了,输入快捷键会没反应)

    也可以在View下面打开。

    然后把官网https://packagecontrol.io/installation#st2,先点击红色箭头所指的标签,再把红色方框里面的代码copy到控制台,回车。

    重新启动Sublime,就可以在Preference下面看到Package Control了。

    进入Package Control,点击Install Package,然后搜索code alignment以安装插件。

    重新启动Sublime,就有对齐代码的功能了。

    下面示范一下,首先有下面一段代码。

    用Ctrl+L选择这几行,然后点Ctrl+=,左下角会出现如下提示。

    然后输入:,即以:为基准对齐代码,效果如下:

    多余的空格,可以使用块选择删掉。

    更详细的用法,可以在http://www.codealignment.com/ForSublimeText.html上面看到。

    6、自动生成文件头注释。

    用快捷键Shift+F9,可以生成文件头注释。

    每次保存文件时,红色箭头所指的日期都会跟着改变,这样总能知道最后一次修改的时间。

    此外,你还能配置其它参数,如:Author,Company,Email等。点击下图所示以配置参数。

    {
        "Author":"LeaderHuang",
        "Company":"",
        "Email":""
    }
    这样就能在文件头注释增加Author了。

    如果你想添加其它注释,可以修改Verilog Automatic.py文件,在第339行附近。

    7、修改模板。

    如果你觉得自动生成的模板不符合自己的编码习惯,还可以修改它。

    用Sublime打开,刚才插件里面的always.tmSnippet。修改成如下示例。

    其中,$1,$2这些,是生成模板之后,点TAB键,会按照由小到大的顺序自动跳转的地方。

    而{1:negedge}意思就是点第一次TAB键时,会跳到这里,同时选择negedge。

    也有些文件写成${1}其实是跟$1一样的,只是推荐写成前者。

    上图中,出现两次$2,意思是点第二次TAB键时,同时跳到这两个地方,也就能同时修改这两个地方,如下图所示。

    修改这些Snippet文件时,只要在Sublime上面保存就可以直接生效,不需要重新启动Sublime的。

    此外,Snippet不一定只用来补全代码,还能当成help(帮助文档)来使用。如下图所示,列出系统函数。

    8、支持中文。

    刚装好的sublime是不支持中文的,需要安装插件。在Preference下面打开Package Control。

    点Install Package,然后,等一会,在弹出的窗口中输入gbk,安装第一个插件,GBK Encoding Support,重新打开Sublime就能正常显示中文了。

    9、块操作。

    Shift+鼠标右键或者鼠标中键,可以选择块。选择了某块之后,可以点ctrl+鼠标中键,添加块。

    10、增加quartus编译系统。

    新建一个qiiCompile.sublime-build文件,注意后缀名,不能搞错。

    然后用sublime打开它,添加以下内容。


          "cmd": ["D:/altera/13.0sp1/quartus/bin64/quartus_map.exe", "--read_settings_files=on", "--write_settings_files=off",
          "${file_path}/${file_name}", "-c", "${file_path}/${file_name}"],
          "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
          "selector": "source.qpf, source.QPF"
    }

    其中D:/altera/13.0sp1/quartus/bin64/quartus_map.exe,是我安装的quartus目录下的编译工具,根据自己的quartus安装目录进行修改就可以了,其它不变。

    保存在程序包里面,也就是Sublime Text 2PackagesUser,就可以在tools->编译系统下,找到qiiCompile了。

    在编译之前,还是需要使用quartus新建工程的,建好之后,可以关闭。

    然后在sublime下,新建顶层的.v文件,每次编译都在顶层文件下,输出ctrl + B即可。

    注意:顶层文件名必须跟工程名相同,否则会编译出很多工程。

    此外,若要使用此编译方法,最好全部使用.v文件,而不用原理图。而且编译之后,不能双击错误定位到.v,而只能由提示的行号,自己定位。

    编译效果如下:

    11、增加ISE编译系统。

    具体步骤跟上面一样,但是文件内容不同。

    iseCompile.sublime-build文件内容如下。


          "cmd": ["C:/Xilinx/14.7/ISE_DS/ISE/bin/nt64/xst.exe", "-intstyle", "ise", "-ifn",
          "${file_path}/${file_base_name}.xst", "-ofn", "${file_path}/${file_base_name}.stx"],
          "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
          "selector": "source.xst, source.XST"
    }

    此外,还需要在ISE编译过一次之后,生成了.xst文件,才能用sublime编译。

    12、利用编译系统做其它事情。

    上面所说的编译系统,其实就是点ctrl+B,调用某个命令而已。这个命令不一定是编译用的。

    那么这些命令从哪里来?

    细心的读者会发现,使用quartus编译的时候,有提示。

    上面command一行,就是前面所调用命令了。如果你会调用modelsim的编译命令,也一样能用ctrl+B调用它。

    13、添加全文件补全功能。

    如上图,添加一个all autocomplete插件,让代码补全功能从所有打开的文件里去匹配,而不是只在当前文件里匹配。

    14、让单引号不再自动补全。

    sublime自带的单引号补全,让我们在写1'b1的时候,带来麻烦,所以要取消此功能。

    进入默认的键绑定,把以下内容注释掉。

    15、增加ctags的导航功能。

    先在sublime下,安装好ctags插件。

    下载ctags.exe,网址:http://prdownloads.sourceforge.net/ctags/ctags58.zip

    把这个ctags58.zip解压在Sublime的安装目录下,我这里是D:Sublime Text 2ctags58

    请注意,ctags.exe的目录,不能搞错

    此外,sublime需要使用ctags插件来调用ctags.exe,而程序包里面是ctags插件,上面的网址下载的是ctags.exe,这是两个不同的东西。

    我这里是D:Sublime Text 2ctags58ctags.exe

    然后在sublime下,Preferences->浏览程序包,进入ctags目录,打开CTags.sublime-settings

    把command一行,修改成如下图所示。

    然后,参照上面的qii编译系统一例,生成一个ctags编译系统,ctags.sublime-build文件内容如下:

    {
        "cmd": ["D:\Sublime Text 2\ctags58\ctags.exe" ,"-R", "-f" ,"$file_path/.tags"],
        "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
        "selector": "source.v, source.V, source.VT, source.vt"
    }

    在你的.v文件,使用ctags编译系统,ctrl+B,这样在你的.v文件的目录下,会生成.tags文件。

    接下来,在你的.v文件下,就可以使用Navigate to Defination。

    这样,可以导航到该变量的定义处。

    16、自动生成例化文件。

    这个功能需要两个插件,ctags和Verilog Automatic。

    其中Verilog Automatic,就是能够一键生成文件注释头的插件,此外还有个autoinst的功能。

    先打开你的.v文件,使用ctags编译系统,ctrl+B,这样在你的.v文件的目录下,会生成.tags文件。

    在module内部输入/*autoinst*/

    然后把鼠标的光标移动到BIN2BCD的任一字符,输入Shift+F7,就生成如下图所示。

    其中,你可以写个snippet,生成补全/*autoinst*/。

    17、修改大小写快捷键。

    大小切换也比较常用,但是ctrl+K ctrk+U,确实比较麻烦,所以也改一下。

    打开,Preferences->键绑定-默认,修改成如下图所示。

    然后,输入ctrl+u,可以切换到大写;ctrl+o可以切换到小写。

    18、让sublime关联.vt文件。

    使用quartus生成的testbench模板,是.vt文件,而我们的verilog插件没有关联的.vt文件,导致无法使用语法高亮。

    Preferences->浏览程序包,进入user目录,打开Verilog.tmLanguage文件。

    增加上图所示,白色方框内容,保存,即可关联.vt和.VT文件了。

    19、vi模式。

    sublime自带vi模式,在package enable选中vintage即可。另外,需要安装VintageEx、sublimeblockcursor插件。

    vi模式,不影响代码片段等功能。

    20、可移植性。

    在windows下配置好的sublime,只要把Packages文件夹copy到linux或者mac下的sublime安装目录,所有插件都齐全了。

    21.文本快捷切换。

    Sublime Text 2 里只需按下 Ctrl+P(Win) 或 Shift+Command+P(Mac) 即可调出文件切换面板,接着你只需输入文件名,回车后即可瞬间切换过去!并且它支持模糊匹配,只需输入你记得的一部分即可,譬如我想要找一个“www.iplaysoft.com.php”的文件来编辑,那么你只需要输入“ipl”或者是”ips.c”这样的字符都能匹配出来,这个特性非常非常的棒!(引自:https://www.iplaysoft.com/sublimetext.html)

    转载自:http://blog.csdn.net/k331922164/article/details/48092291

  • 相关阅读:
    关于返回上一页功能
    Mybatis Update statement Date null
    SQLite reset password
    Bootstrap Validator使用特性,动态(Dynamic)添加的input的验证问题
    Eclipse使用Maven2的一次环境清理记录
    Server Tomcat v7.0 Server at localhost failed to start
    PowerShell一例
    Server Tomcat v7.0 Server at libra failed to start
    商标注册英语
    A glance for agile method
  • 原文地址:https://www.cnblogs.com/chengqi521/p/7508749.html
Copyright © 2011-2022 走看看