知识若不分享 实在没有意义 http://www.d-programming-language-china.org 20070508
点击下面网址查看原文:
http://www.d-programming-language-china.org
D语言是门新兴语言,相关配套的D语言库很缺乏,很多时候我们要调用操作系统api来完成一些工作。
在写代码时,手工重复地输入一些类似代码会让人烦。比如Windows gui编程通常有个WinMain函数,虽然我们可以从已有代码中copy,paste,但有没有更方便的办法呢
办法是有的,就是文本编辑器的自动完成功能。
文本编辑器中,基本上SciTe算得上是最强的了。关于SciTe的配置,见D语言论坛 http://www.d-programming-language-china.org 相关文章,这里yidabu不再重复。
d-programming-language-china.org写了一个函数,自动把D语言函数替换成scite自动完成文件格式。使用方法:
1 把相关D语言函数保存到单独文件中
比如D:\scite\abbrev.properties
2 函数格式
每个函数前面加上//函数名=
每个函数后面加上//=函数名
例如:( 本文出处: http://www.d-programming-language-china.org )
//WinMain=
extern (C) void gc_init();
extern (C) void gc_term();
extern (C) void _minit();
extern (C) void _moduleCtor();
extern (C) void _moduleUnitTests();
extern (Windows)
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
}//=WinMain
3 执行下面函数
把D:\scite\abbrev.properties作为参数传给函数:
//自动替换函数成scite缩写形式
// p=文件路径
char[] abbrevd(char[] p)
{
//~ char[] p = r"D:\AutoIt\config\abbrev.properties";
assert(exists(p));
char[] s = cast(char[]) read( p );
//~ s = std.regexp.sub(s,r"\s*//[^\r\n]+","","g"); //delete comment
//bbs.d-programming-language-china.org注 D语言的正则表达式不支持反向引用//$1//,也不支持.跨行,所以用[\s\S]来代替.
s = std.regexp.sub(s, r"//((\w+)=[\s\S]+?//=\w+)",
delegate char[] (RegExp m)
{
char[] ss = m.match(1);
//tab
ss = std.regexp.sub(ss,r"\r\n\t",r"\n\t","g");
ss = std.regexp.sub(ss,r"\r\n\t{2}",r"\n\t\t","g");
ss = std.regexp.sub(ss,r"\r\n\t{3}",r"\n\t\t\t","g");
ss = std.regexp.sub(ss,r"\r\n\t{4,}",r"\n\t\t\t\t","g");
//替换4个space成tab
ss = std.regexp.sub(ss,r"\r\n\x20{4}",r"\n\t","g");
ss = std.regexp.sub(ss,r"\r\n\x20{8}",r"\n\t\t","g");
ss = std.regexp.sub(ss,r"\r\n\x20{12}",r"\n\t\t\t","g");
ss = std.regexp.sub(ss,r"\r\n\x20{16,}",r"\n\t\t\t\t","g");
//newline
ss = std.regexp.sub(ss,r"\r\n",r"\n","g");
//bbs.d-programming-language-china.org注,在SciTe缩写文件中,|表示光标位置,所以用||来表示|
ss = std.string.replace(ss,r"|",r"||");
return ss;
},
"img");
return s;
}
返回值就是SciTe缩写形式。
在SciTe里点击菜单Options,Open Abbreviations File,会打开abbrev.properties文件,把D语言缩写内容加到后面去就行了。 http://bbs.d-programming-language-china.org是用写了代码自动添加的。
然后在写D语言代码时输入WinMain,再按Ctrl+b就自动完成输入了整个WinMain函数。
( lastupdate:20070508 最新文章请访问http://www.d-programming-language-china.org )关于一大步成功社区:
yidabu提倡在交流中学习,在分享中提高
收集感兴趣的知识,写下心得,通过网络与别人一起分享
理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的
网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台