D语言最好的编辑器SciTE4D 0.18已经基本完成,等Tango 0.99.8正式发布后将正式发布。
我的dwt已经切换到dwt2, 也就是和SWT模块命名保持一致的版本。新的dwt2导入模块名比较长,如果没有编辑器的自动完成功能,是比较烦琐的。于是就着手更新scite4d.
http://www.d-programming-language-china.org/d-bian-ji-qi-scite4d-0.18/SciTE4D新版已经加入的模块名自动完成有:Phobos, Tango, DWin, dwt-win, dwt2, derelict等。如果你加入自己的自动完成模块名,可以这样操作:
进入SciTE4D安装目录
运行命令行:
比如:ybud impprtPath1;importPath2
ybud X:\d\dmd\phobos;X:\d\dmd\tango这样就可以自动把搜索到的模块名加入到SciTE4D\api\modules.api文件中去,搜索时用到的PCRE正则表达式在SciTE4D\ybud.conf中,比如现在是这样的:
moduleName=(?>)(?im)^\s*module\s+([a-zA-Z]+(?: *\. *\w+)+);
D语言编辑器SciTE4D http://scite4d.d-programming-language-china.org/中目前没有加入方法的自动完成和提示,如果你有兴趣,可以自己提取出方法名然后加入到modules.api文件中去。
SciTE4D 0.17版的正则表达式用的是Tango库的Regex, 经试用, 扫描速度非常慢,而且经常因为bug而无法使用,正则规则有些是不需要的另起炉灶,又没有禁止回溯选项。在0.18版中改用PCRE 正则表达式,比Tango的强大100倍。现在的Tango的正则表达式可以说是比较垃圾。
为什么用SciTE4D而不是其他D语言IDE, 或者D语言编辑器
SciTE4D非常轻便,速度极快, 功能强大
同时支持bat文件编译,Makefile编译,DSSS编译
简单的项目用bat编译,复杂的项目我喜欢用GNU Make编译,库我一般是用dsss编译。在SciTE4D中这些都一键搞定。一键帮助, 对初学者来说,没有一键帮助的编辑器不是作考虑的
集成ddbg, 一键调试,知道出错所在行,双击错误提示跳转到指定行
D语言语言编辑器SciTE4D的配置文件
在SciTE4D安装目录下有个ybud.conf文件,就是SciTE4D的配置文件,几个主要的设置如下:
指定 D语言编辑dmd的路径
默认的设置是:
如果你已经把dmd所在路径加入Windows Path 环境变量,这样就可以了。否则,可以在这里指定dmd的绝对路径。你想用特定版的dmd, 在这里指定非常方便,比如:dmd=dmd
dmd=X:\dmd\2.0\bin\dmd.exe指定Windows bat编译文件名
默认设置是:
也就是把build.bat作为编译文件名。你可以改成building或者mybuild等等。batfile=build指定GNU Make exe文件路径
默认设置是:
也就是使用SciTE4D安装目录下的mingw32-make.exe, 你可以把mingw32-make.exe换成你的版本,或者在这里指定绝对路径。make=mingw32-make.exe指定D语言编译工具dsss的路径
默认设置是:
如果dsss.exe所在目录已经加到path环境变量中去,这里可以不作修改,否则就要改成dsss.exe的绝对路径。当然,如果你不用dsss可以不用设置。dsss=dsss
注意,dsss的作者目前居说很忙,dsss已经很长时间没有更新。因此,如果你用的是比较新的dmd1.040以后的D语言编译器,可能要在这里设置dsss的绝对路径,因为dsss不知道dmd 1.040版本以后的文件夹的改变。
用D语言编辑器SciTE4D build项目
到底怎么用SciTE4D编译项目?这里再详细介绍一下。
如果你在D:\d\myproject\目录下新建了一个project.d文件,在SciTE4D里打开project.d, 然后按F7, SciTE4D就会这样工作:
查找bat编译文件
首先查找D:\d\myproject\build-project.bat, 其中build可以在ybud.conf中重新设置。
如果build-project.bat不存在,就查找build.bat
找到bat文件,如果其中内容包含project.d,就执行bat并退出
查找Makefile编译配置文件
首先查找D:\d\myproject\Makefile
找到Makefile, 如果其中内容包含project, 就执行Make编译再退出:
mingw32-make -f D:\d\myproject\Makefile
查找dsss编译配置文件dsss.conf
首先查找D:\d\myproject\dsss.conf
如果找到,并其中含有节点[project.d]就执行dsss编译。
如果你在dsss.conf中配置了debugflags并按下F7,就是deubg编译
如果你在dsss.conf中配置了releaseflags并按下Ctrl+F7就是release编译
如果在源文件所在目录找不到编译配置文件,就到父级目录下继续查找
在bat编译中,区分得更详细,同目录下查找两个不同的bat文件,这是0.18版新加的功能。有什么用呢?
比如在test目录下新建dwt2.d, tan.d, win.d, 用来分别运行测试代码。我写好三个bat文件,分别命名为:
build-dwt2.bat //编译dwt测试代码
build-tan.bat // 编译tango测试代码
build-win.bat //编译dwin测试代码
不同的库,导入文件,所用到的lib,编译指令可能是不同的,如果共用一个bat文件就会显得比较混乱。
现在,如果要测试dwt的snippets,把代码粘贴进dwt2.d, 在SciTE4D中打开,一按快捷键F7, 就执行build-dwt2.bat编译。
如果要测试tango代码,把代码贴进tan.d, 在SciTE4D中打开,一按快捷键F7, 就执行build-tan.bat编译。
另外, SciTE4D中的一键帮助已经更新到了DMD 1.038, 你也可以从作者网站直接下载:
http://thecybershadow.net/d/docs/
这个网址被伟大的g f w 和谐了,你可能要用代理才能上去。
http://www.d-programming-language-china.org/d-bian-ji-qi-scite4d-0.18/D语言编辑器SciTE4D 0.18的新功能
