开自己的源,让老板说去吧!

我的最新日志

  • 打造最强的PHP编辑器 (下篇)

    2007-5-08

    最好用的编辑器SciTE(下)
        通过(上)的讲解,相信大家已经对SciTE有了比较多的了解了,也相信有不少人去主页下载了回来。但是用了之后好像还是没有我所说的一些功能,现在就来为讲解一些比较有用的功能。
        先来说缩略语的定义与使用。
        缩略语的作用就是用来减轻人的劳动力,让代码输入更爽,更快,更正确!运行SciTE,选择“选项-->打开Abbreviations文件”,这时打开的就是定义缩略语的文件,应该是一个空文档,让我们先举个例子来感受一下,在
    Abbreviations文件里输入下面的定义信息:
    js=<scrīpt type="text/javascrīpt">\n<!--\n\t|\n//-->\n</scrīpt>
    注意:每条定义一定要保持在同一行。
    保存后新建一个空白的文档,在文档中输入js,然后按ctrl+B,看看出现了什么?应该是如下的代码:
    <scrīpt type="text/javascrīpt">
    <!--
        (光标)
    //-->
    </scrīpt>
    这样,在输入代码的时候是不是快捷又高效,还不易出错。
        定义的语法很简单,就是"缩略语=完全拼写",不过要注意两点,一个是转移字符,就是反斜杠"\",和C语言的转义一样,\n是换行,\t是制表符,等等。另外一个是竖线"|"代表光标所在的位置,一条定义中不能出现多个竖线,如果有多个以第一个竖线的位置为光标的位置,其余的竖线就直接显示输出成竖线了!
        缩略语的定义文件没有发现下载,不过下载别人的定义也不见得适合自己,还是靠自己慢慢积累吧!下面举几个我常用的例子:
    php_=<?PHP\n\t//insert PHP code here.\n\t|\n?>
    <>_=&lt;|&gt;
    __=&nbsp;
    for_=for ($i=0;$i<|;$i++){\n\t\n}
        让SciTE可以运行HTML代码的配置很简单,选择“选项-->打开html.properties”,这就是HTML的语法文件,看文件的最后几行,这是运行HTML后缀的配置,如果你的电脑上没有搭建本地服务器的话就让配置的值为"file://$(FilePath)",如果你已经搭建了本地服务器,建议把配置值改成"http://localhost/$(FileNameExt)",这样就会避免在本地运行正常而上传到服务器却出错的问题。尤其是绝对路径和相对路径的问题。

    if PLAT_WIN
        command.go.$(file.patterns.web)="file://$(FilePath)"
        command.go.subsystem.$(file.patterns.web)=2
    if PLAT_GTK
        command.go.$(file.patterns.web)=netscape "file://$(FilePath)"
        下面的配置是编译和运行PHP代码的,要想运行PHP代码,你的机器上必须搭建好PHP平台。运行的配置是前两行,第三行是编译配置,要注意的正确配置你的PHP路径,就是php.exe的路径。
    command.go.$(file.patterns.php)="http://localhost/$(FileNameExt)"
    command.go.subsystem.$(file.patterns.php)=2
    command.compile.$(file.patterns.php)=F:\PHP5\php -l "$(FileNameExt)"
        (To be continued...)

  • 打造最强的PHP编辑器

    2007-5-04


    最好用的编辑器SciTE(上)
        学习PHP有一段日子了,最开始用DW,嫌太大,我的破电脑承受不了,可视化设计是很好,但是代码编辑部分的功能不是很顺手,尤其是编写PHP代码。后来用一冲动改用Notepad,事实证明它就是编辑器中的废物,除了能编辑,什么都不能,放弃!用Notepad写代码的人估计不是神就是疯子。于是去google,baidu搜啊搜,EditPlus,UltraEdit,Notepad2(这也是一款不错的编辑器,完全可以替代Notepad),Notepad++,Zend(又大又慢),PHPDesigner,PHPCoder,DZ,PHPxxx,...,甚至VIM(据说很强大),寻寻觅觅,终于有一天让我找到了SciTE,它免费,它开源,它小巧,它强大,一个字:趁手!
        不过对于一个从来没用过它的人来说,很难发现它的过人之处,修改和定制它的配置不亚于编写程序(全部是直接改配置文件,没有配置向导)!所以也许有人下载下来写了三行代码就Delete了,“什么玩意儿,太难用了!”。所以很少人用它来编写和调试代码。
        实在不忍心让这么好的编辑器埋没了,于是有了这篇文字,让大家了解它,配置它,使用它,最后爱上它。
        废话不多说,先来看一下SciTE的屏幕截图:
        1,无需安装,下载后解压缩即可运行,纯绿色,所有文件加起来大小不超过2M。完全可以放到U盘里。

        2,运行时截图。多文档打开,标签页,行号,书签,语法高亮,代码折叠,右侧的输出窗口,标签上的未保存提示,代码缩进线,括号匹配,智能缩进。这些都是作为一个代码编辑器必须有的功能,SciTE当然有。现在你可能还没有感觉到它有什么过人之处,不要着急,接着往下看。

        3,是的,自动完成和函数提示。



        有点儿意思了吧,远不止这些。SciTE另外一个比较有意思的功能就是自定义缩略语,是什么呢?比如每次都输入<?PHP ?>是不是很烦,你可以把这段代码定义成缩略语,就叫php把,格式呢就像这样:
    php=<?PHP\n\t//comment\n\t|\n?>
    现在再输入php,再按ctrl+B,就会出现下面的内容:
    <?PHP
        //comment
       
    ?>
    光标会停在定义中"|"符号所在的位置。
        还有一个比较贴心的设计,就是之前输入过的单词(不一定是英文单词,应该是连续的字符),再次输入这个单词的前几个字符,就会出现如代码自动完成一样的一个列表,你可以选择想要的单词。对我这样打字比较慢的人来说简直太有用了!
        SciTE最大的有点就是超强的定制性,几乎所有的功能都可以用户自定义,下面就来说说它的一些配置。
        怎么图片都显示不出来?
        建议下载压缩包,不要下载安装包。包括主程序一个,动态库一个(没有这个DLL也可以正常运行),配置文件和语法文件(*.properties)N个,API文件(*.api)好像没有。
        本人英文不怎么样,先说说汉化的方法:
        下载简体中文的语言文件,改名为locale.properties,复制到SciTE文件目录中覆盖原来的文件,再运行程序就变成了中文界面,连提示也变了。
        然后开始真正配置你自己风格的SciTE:
        运行SciTE,选择菜单“选项-->打开Global Options文件”,打开的就是SciTE的全局配置文件,建议不要改动这个文件,以后再改动配置的时候以这个文件作为参考和对照。然后同样打开“User Options文件”,空文件对不对,把Global Options文件中所有内容复制过来,意思是所有的全局配置都在User Options文件中改,User文件的配置会覆盖Global的配置。
    下面的这段作用是运行时窗口大小位置以及一些外观,以#开头的是注释,很好理解吧。只说WIN平台下的配置,其他的平台同样,很多配置项是注释掉的,把行首的#去掉才可以起作用。
    # Window sizes and visibility
    if PLAT_WIN(windows平台)
        position.left=0(运行时窗口在桌面的坐标,最大化时不起作用)
        position.top=0(同上)
    if PLAT_GTK
        position.left=5
        position.top=22
    position.width=-1(窗口初始宽度,-1表示最大化)
    position.height=-1(同上)
    #position.tile=1
    #full.screen.hides.menu=1(全屏时隐藏菜单栏,1=true,0=false)
    #minimize.to.tray=1(最小化到托盘区,1=true,0=false)
    split.vertical=1(窗口垂直分割,和输出窗口的分割)
    #output.horizontal.size=200(水平模式
    输出窗口大小
    #output.vertical.size=60(垂直模式输出窗口大小)
    #output.initial.hide=1(输出窗口默认隐藏)
    #horizontal.scrollbar=0(水平滚动条不可见)
    #horizontal.scroll.width=10000(水平滚动条最大滚动范围)
    #output.horizontal.scrollbar=0(参考上面)
    #output.horizontal.scroll.width=10000(参考上面)
    #output.scroll=0(参考上面)
    #error.select.line=1(编译错误定位到源代码)
    #end.at.last.line=0
    tabbar.visible=1(多文档标签栏可见)
    #tabbar.hide.one=1(只有一个文档是隐藏标签栏)
    #tabbar.multiline=1(多行显示标签栏)
    toolbar.visible=1(工具栏可见)
    #toolbar.detachable=1(可分割工具栏)
    #toolbar.usestockicons=1(显示用户定制工具栏)
    #menubar.detachable=1(可分割菜单栏)
    #undo.redo.lazy=1(撤销,重做选项,具体效果不知道)
    #statusbar.visible=1(状态栏可见)
    #fileselector.width=800(打开文件对话框大小)
    #fileselector.height=600(同上)
    #magnification=-1(字体放大倍数)
    #output.magnification=-1(同上)
        以下是编辑区外观设置:
    # Sizes and visibility in edit pane
    line.margin.visible=1(行号区的缩进)
    line.margin.width=3+(行号显示的位数,3+表示默认3位数,不够再加)
    margin.width=0(行号缩进的宽度,最好不缩进)
    #fold.margin.width=16(代码折叠区的宽度)
    #fold.margin.colour=#FF0000(折叠区颜色)
    #fold.margin.highlight.colour=#0000FF(折叠符号颜色)
    #blank.margin.left=4(编辑区左边空白宽度)
    #blank.margin.right=4(同上)
    buffered.draw=1(缓存载入和高亮,建议打开,可以提高速度,但是内存会占用多一点,这应该不是什么问题)
    #two.phase.draw=0(作用同上)
    use.palette=0(不清楚什么作用)
        接着看:
    # Element styles
    #view.eol=1(载入时定位到文档尾)
    #control.char.symbol=.(???)
    caret.period=500(光标闪烁频率,单位毫秒)
    view.whitespace=0(显示空白符号)
    view.indentation.whitespace=1(以空格和退格表示缩进)
    view.indentation.guides=1(显示缩进线,写代码会很有用)
    highlight.indentation.guides=1(高亮时同时高亮缩进线)
    #caret.fore=#FF0000(光标颜色)
    #caret.width=2(光标宽度)
    #caret.line.back=#FFFED8(当前行背景色)
    #caret.line.back.alpha=63(当前行背景透明度)
    edge.column=200(列模式下列数)
    edge.mode=0(列模式开关)
    edge.colour=#C0DCC0(列模式颜色)
    braces.check=1(???)
    braces.sloppy=1(???)
    #selection.fore=#006000(选中文字的晚色)
    # DADADA used as background because it yields standard silver C0C0C0
    # on low colour displays and a reasonable light grey on higher bit depths
    selection.alpha=70(选中文字背景的透明度)
    selection.back=#0000FF(选中部分的背景色)
    #whitespace.fore=#FF0000(空格颜色)
    #whitespace.back=#FFF0F0(空格背景色)
    #error.marker.fore=#0000A0(错误处的颜色)
    #error.marker.back=#DADAFF(错误处的背景色)
    #bookmark.fore=#808000(书签颜色)
    #bookmark.back=#FFFFA0(书签处背景色)
    bookmark.alpha=70(书签背景色透明度)
    find.mark=#FF0000(查找时,找到文本的颜色)
        是不是发现SciTE的定制性实在是太强了,它有好多很好的用户选项,比如单文档时不显示标签栏,全屏时隐藏菜单,更好的是你可以更改这些选项,这是其他编辑器无法比的,大部分的选项都可以从字面的意思推断出来作用,所以一些不是很重要的配置就不再解释了,你也可以把蓝色的文字复制到User Options文件中,不过记得把括号中的字去掉。好了,接着看:
    # Checking
    are.you.sure=1(关闭时提示保存)
    #are.you.sure.for.build=1(编译和运行时提示保存)
    #save.all.for.build=1(编译时自动保存所有)
    #quit.on.close.last=1(关闭最后一个文档是退出程序)
    #load.on.activate=1(???)
    #save.on.deactivate=1(???)
    #are.you.sure.on.reload=1(重新载入文档时提示)
    #reload.preserves.undo=1(重新载入时保护撤消列表)
    #check.if.already.open=1(检查文档是否已经被打开)
    default.file.ext=.cxx
    #source.default.extensions=.h|.cxx|.bat
    title.full.path=1(窗口标题显示文档的完整路径)
    #title.show.buffers=1
    #save.recent=1
    #save.session=1
    #open.dialog.in.file.directory=1
    #strip.trailing.spaces=1(去掉行尾空格)
    #ensure.final.line.end=1(去掉文档尾空行)
    #ensure.consistent.line.ends=1
    #save.deletes.first=1
    buffers=10(最多打开的文档数,越多占内存越大)
    #buffers.zorder.switching=1
    #win95.death.delay=1000
    #translation.missing=***
    #read.only=1(只读方式打开)
    #max.file.size=1(文档最大限制)
        缩进,换行,代码折叠:
    # Indentation
    tabsize=4(tab键缩进的字符数)
    indent.size=4(缩进字符数)
    use.tabs=1(使用tab键)
    #indent.auto=1(自动缩进,就是自动保持前一行的缩进)
    indent.automatic=1(智能缩进,和上面的区别就是有反缩进)
    indent.opening=1(代码缩进,比如大括号回车自动缩进)
    indent.closing=1(代码反缩进,同上)
    #tab.indents=0(tab键缩进)
    #backspace.unindents=0(退格键反缩进)

    # Wrapping of long lines
    #wrap=1(自动换行开关,写代码一般不要打开自动换行)
    #wrap.style=2(换行的风格,没用过)
    #cache.layout=3
    #output.wrap=1(输出窗口自动换行)
    #output.cache.layout=3
    #wrap.visual.flags=3(自动换行处的标记符)
    #wrap.visual.flags.location=3
    #wrap.visual.startindent=4

    # Folding
    # enable folding, and show lines below when collapsed.
    fold=1(代码折叠开关,建议打开)
    fold.compact=1(折叠指示,建议打开)
    fold.flags=16(折叠指示区宽度)
    fold.symbols=3(折叠符号,1,2,3分别是+-,圆圈+-,正方形+-)
    #fold.on.open=1(打开文档后默认全部折叠)
    fold.comment=1(代码注释折叠)
    fold.preprocessor=1(折叠预处理)
        好了,继续,这么多的配置项不要害怕,其实不用每一项都改的,好多让它保持注释或者默认值就可以了,下面是外部查找替换,这段要解释一下,所谓的外部查找和替换是指在不打开文件的情况下对文件进行全文查找和替换,是非常有用的一项功能,对于WIN平台的查找命令
    find.command表示的意思是:在$(find.files)中包含的文件类型中查找findstr。可以自定义$(find.files)的文件类型,对于PHP程序来说,一般包括(*.php *.inc *.phtml *.php5 *.html *.js *.css)等。
    # Find and Replace
    # Internal search always available with recursive capability so use in preference to external tool
    find.command=
    # findstr is available on recent versions of Windows including 2000
    #if PLAT_WIN
    #    find.command=findstr /n /s $(find.what) $(find.files)
    #find.input=$(find.what)
    #if PLAT_GTK
    #    find.command=grep --line-number "$(find.what)" $(find.files)
    find.files=*.c *.cxx *.h
    #find.in.files.close.on.find=0
    #find.in.dot=1
    #find.in.binary=1
    #find.replace.matchcase=1
    #find.replace.escapes=1
    #find.replace.regexp=1
    #find.replace.regexp.posix=1
    #find.replace.wrap=0
    #find.replacewith.focus=0
    #find.replace.advanced=1
        编辑时的一些选项:
    # Behaviour
    #eol.mode=LF(回车换行的符号,WIN为CR/LF,linux/unix为LF)
    eol.auto=1(自动添加回车换行符号)
    clear.before.execute=0(执行代码前清空换行符号,不要打开这项,否则代码编译器会把多行认为成一行)
    #vc.home.key=1(VC++风格的home键功能)
    #wrap.aware.home.end.keys=1(自动换行状态下的home,end键)
    autocompleteword.automatic=1(这项很有用,就是自动完成之前输入过的单词)
    #autocomplete.choose.single=1(有无自动完成选择框,默认是有的)
    caret.policy.xslop=1(---自动完成提示框---)
    caret.policy.width=20
    caret.policy.xstrict=0
    caret.policy.xeven=0
    caret.policy.xjumps=0
    caret.policy.yslop=1
    caret.policy.lines=1
    caret.policy.ystrict=1
    caret.policy.yeven=1
    caret.policy.yjumps=0
    #visible.policy.strict=1
    #visible.policy.slop=1
    #visible.policy.lines=4(--------------)
    #time.commands=1(自动完成延迟,毫秒)
    #caret.sticky=1(光标延时)
    #properties.directory.enable=1(这一定不要改,是语法支持文件中重要常量的可用性)
        状态栏配置选项:
    # Status Bar
    statusbar.number=4(状态栏的分栏数,下面的.1.2.3.4就是每个分栏的内容,没什么可说的,看自己的喜好了。)
    statusbar.text.1=\
    li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr)
    statusbar.text.2=\
    $(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars.
    statusbar.text.3=\
    Now is: Date=$(CurrentDate) Time=$(CurrentTime)
    statusbar.text.4=\
    $(FileNameExt) : $(FileDate) - $(FileTime) | $(FileAttr)

    if PLAT_WIN(下面是帮助文档的路径,有个常量说明一下:
    $(SciteDefaultHome)代表SciTE主程序的存放路径
        command.scite.help="file://$(SciteDefaultHome)\SciTEDoc.html"
        command.scite.help.subsystem=2
    if PLAT_GTK
        command.print.*=a2ps "$(FileNameExt)"
        command.scite.help=netscape "file://$(SciteDefaultHome)/SciTEDoc.html"
        国际化,让SciTE支持中文,需要在这里更改几个默认的配置,就是code.page和output.code.page都需要改成936,让编辑器支持中文编码。这样输入汉字的时候就不会有问题了。
    # Internationalisation
    # Japanese input code page 932 and ShiftJIS character set 128
    #code.page=932
    #character.set=137
    # Unicode
    #code.page=65001
    code.page=936
    #character.set=204
    # Required for Unicode to work on GTK+:
    #LC_CTYPE=en_US.UTF-8
    output.code.page=936
        外部的扩展,打印和导出文档的时候有用:
    # Export
    #export.keep.ext=1(构建可执行程序支持)
    export.html.wysiwyg=1(所见即所得支持,可以实时预览)
    #export.html.tabs=1(HTML tab键支持)
    #export.html.folding=1(HTML折叠支持)
    export.html.styleused=1(HTML旧风格支持)
    #export.html.title.fullpath=1(HTML文件显示完整路径)
    #export.rtf.tabs=1(多文档RTF支持)
    #export.rtf.font.face=Arial(RTF文档的默认字体)
    #export.rtf.font.size=9(同上)
    #export.rtf.tabsize=8(同上)
    # Magnification (added to default screen font size)
    export.pdf.magnification=0(PDF文档放大倍数)
    # Font: Courier, Helvetica or Times (Courier line-wraps)
    export.pdf.font=Helvetica(PDF默认字体)
    # Page size (in points): width, height
    # E.g. Letter 612,792; A4 595,842; maximum 14400,14400
    export.pdf.pagesize=595,842(PDF页面默认大小)
    # Margins (in points): left, right, top, bottom
    export.pdf.margins=72,72,72,72(PDF默认页边距)
    export.xml.collapse.spaces=1
    export.xml.collapse.lines=1(XML支持)
        常用字符列表,留下英文和数字就行了,汉字的感觉用不上。
    # Define values for use in the imported properties files
    chars.alpha=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    chars.numeric=0123456789
        打开文件对话框的文件过滤配置,默认的文件类型是在source.files中定义的文件类型,你应该把自己最常编辑的文件类型写到source.files中,如*.php;*.html;等等。
    # The open.filter setting is only used on Windows where the file selector has a menu of filters to apply
    # to the types of files seen when opening.
    # There is a limit (possibly 256 characters) to the length of a filter,
    # so not all source extensions can be in this setting.
    source.files=*.asm;*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hh;*.hxx;*.hpp;\
    *.idl;*.odl;*.rc;*.rc2;*.dlg;*.def;\
    *.vb;*.vbs;*.bas;*.frm;*.cls;*.ctl;\
    *.java;*.js;*.php;*.py;*.pl;*.rb;*.cgi;*.lua;*.conf;\
    make*;*.mak;\
    *.properties;*.html;*.xml;*.iface;*.bat;*.e

    if PLAT_WIN
        all.files=All Files (*.*)|*.*|
    if PLAT_GTK
        all.files=All Files (*)|*|Hidden Files (.*)|.*|
    open.filter=\
    All Source|$(source.files)|\
    $(all.files)\
    $(filter.ada)\
    $(filter.conf)\
    $(filter.asm)\
    $(filter.asn1)\
    $(filter.ave)\
    $(filter.baan)\
    $(filter.bash)\
    $(filter.caml)\
    $(filter.cmake)\
    $(filter.cpp)\
    #$(filter.ch)\
    $(filter.css)\
    $(filter.d)\
    $(filter.eiffel)\
    $(filter.erlang)\
    $(filter.fortran)\
    $(filter.idl)\
    $(filter.inno)\
    $(filter.java)\
    $(filter.js)\
    $(filter.kix)\
    $(filter.lout)\
    $(filter.lua)\
    $(filter.matlab)\
    $(filter.metapost)\
    $(filter.mmixal)\
    $(filter.nncrontab)\
    $(filter.nsis)\
    $(filter.opal)\
    $(filter.pascal)\
    $(filter.perl)\
    $(filter.php)\
    $(filter.pov)\
    $(filter.prg)\
    $(filter.properties)\
    $(filter.ps)\
    $(filter.python)\
    $(filter.ruby)\
    $(filter.sql)\
    $(filter.specman)\
    $(filter.tcl)\
    $(filter.tex)\
    $(filter.text)\
    $(filter.vb)\
    $(filter.web)\
    $(filter.yaml)\
    $(filter.verilog)\
    $(filter.vhdl)
        比较重要的一段,下面是有关语法高亮的字体和颜色的全局配置,以后基本上所有的语法文件都要用到这里定义的字体和颜色,所以你要一定要了解每一项配置的作用范围。适当的选择你喜欢的颜色和字体,不仅可以浏览代码的时候清晰明了,而且在编写代码的时候可以对不正确的语法进行提示,SciTE的默认字体配置我个人感觉十分别扭,下面是我修改过的配置,以等宽代码字体(
    font:Courier New,size:10)为主。另外我只修改了WIN平台的配置,GTK的没有改过。所有的字体配置都可以见名知意,就不一一说明了,不过有一句font.js=$(font.base)需要注意,这是javascrīpt的基本字体,而font.base=font:Verdana,size:10,在字体定义之后是颜色定义,也是一些全局的配置,比如括号匹配的颜色,当前行的颜色,数字的颜色,字符串的颜色,等等。都还没有涉及到具体的语言的配置。不过具体语言文件要引用这里定义的字体和颜色,引用方法就像上面说的javascrīpt的引用方法。
    # Give symbolic names to the set of fonts used in the standard styles.
    if PLAT_WIN
        font.base=font:Verdana,size:10
        font.small=font:Verdana,size:8
        font.comment=font:Comic Sans MS,size:9
        font.code.comment.box=$(font.comment)
        font.code.comment.line=$(font.comment)
        font.code.comment.doc=$(font.comment)
        font.code.comment.nested=$(font.comment)
        font.text=font:Times New Roman,size:11
        font.text.comment=font:Verdana,size:9
        font.embedded.base=font:Verdana,size:9
        font.embedded.comment=font:Comic Sans MS,size:8
        font.monospace=font:Courier New,size:10
        font.vbs=font:Lucida Sans Unicode,size:10
    if PLAT_GTK
        font.base=font:!Bitstream Vera Sans,size:9
        font.small=font:!Bitstream Vera Sans,size:8
        font.comment=font:!Bitstream Vera Serif,size:9
        font.code.comment.box=$(font.comment)
        font.code.comment.line=$(font.comment)
        font.code.comment.doc=$(font.comment)
        font.code.comment.nested=$(font.comment)
        font.text=font:!Bitstream Charter,size:10
        font.text.comment=font:!Serif,size:9
        font.embedded.base=font:!Serif,size:9
        font.embedded.comment=font:!Serif,size:9
        font.monospace=font:!Bitstream Vera Sans Mono,size:9
        font.vbs=font:!Bitstream Vera Sans Mono,size:9
    font.js=$(font.base)

    # Old GTK+ font settings are faster but not antialiased
        #~ font.base=font:lucidatypewriter,size:12
        #~ font.small=font:lucidatypewriter,size:10
        #~ font.comment=font:new century schoolbook,size:12
        #~ font.code.comment.box=$(font.comment)
        #~ font.code.comment.line=$(font.comment)
        #~ font.code.comment.doc=$(font.comment)
        #~ font.text=font:times,size:14
        #~ font.text.comment=font:lucidatypewriter,size:10
        #~ font.embedded.base=font:lucidatypewriter,size:12
        #~ font.embedded.comment=font:lucidatypewriter,size:12
        #~ font.monospace=font:courier,size:12
        #~ font.vbs=font:new century schoolbook,size:12

    # Give symbolic names to the set of colours used in the standard styles.
    colour.code.comment.box=fore:#007F00
    colour.code.comment.line=fore:#007F00
    colour.code.comment.doc=fore:#3F703F
    colour.code.comment.nested=fore:#A0C0A0
    colour.text.comment=fore:#0000FF,back:#D0F0D0
    colour.other.comment=fore:#007F00
    colour.embedded.comment=back:#E0EEFF
    colour.embedded.js=back:#F0F0FF
    colour.notused=back:#FF0000

    colour.number=fore:#0000FF
    colour.keyword=fore:#00007F
    colour.string=fore:#0000FF
    colour.char=fore:#0000FF
    colour.operator=fore:#000000
    colour.preproc=fore:#7F7F00
    colour.error=fore:#FFFF00,back:#FF0000

    # Global default styles for all languages
    # Default
    style.*.32=$(font.base)
    # Line number
    style.*.33=back:#C0C0C0,$(font.base)
    # Brace highlight
    style.*.34=bold,back:#9999CC
    # Brace incomplete highlight
    style.*.35=bold,back:#FF9933
    # Control characters
    style.*.36=
    # Indentation guides
    style.*.37=fore:#C0C0C0,back:#FFFFFF
        打印配置:
    # Printing - only works on Windows
    if PLAT_WIN
        #print.colour.mode=1
        print.magnification=-1
        # Setup: left, right, top, bottom margins, in local units:
        # hundredths of millimeters or thousandths of inches
        print.margins=1500,1000,1000,1500
        # Header/footer:
        # && = &; &p = current page
        # &f = file name; &F = full path
        # &d = file date; &D = current date
        # &t = file time; &T = full time
        print.header.format=$(FileNameExt) ?Printed on $(CurrentDate), $(CurrentTime) ?Page $(CurrentPage)
        print.footer.format=$(FilePath) ?File date: $(FileDate) ?File time: $(FileTime)
        # Header/footer style
        print.header.style=font:Arial,size:12,bold
        print.footer.style=font:Arial Narrow,size:10,italics
        警告提示音配置:
    # Warnings - only works on Windows and needs to be pointed at files on machine
    #if PLAT_WIN
    #    warning.findwrapped=100,E:\Windows\Media\SFX\Boing.wav
    #    warning.notfound=0,Effect.wav
    #    warning.wrongfile=0,Glass.wav
    #    warning.executeok=0,Fanfare.wav
    #    warning.executeko=100,GlassBreak.wav
    #    warning.nootherbookmark=100,Boing2.wav
        语言菜单的配置,不希望在语言菜单的下拉菜单列表中出现语言就在这里把它注释掉(行首加#号),新加入的语言同样可以在这里添加。
    # Define the Lexer menu,
    # Each item contains three parts: menu string | file extension | key
    # The only keys allowed currently are based on F-keys and alphabetic keys and look like
    # [Ctrl+][Shift+][Fn|a] such as F12 or Ctrl+Shift+D.
    # A '&' may be placed before a letter to be used as an accelerator. This does not work on GTK+.
    menu.language=\
    #FreeBasic|bas||\
    Text|txt|Shift+F11|\
    Ada|ads||\
    #Apache Confi&g|conf||\
    Assembler|asm||\
    #ASN.1|asn1||\
    #Avenue|ave||\
    #Baan|bc||\
    &Batch|bat||\
    #Bullant|ant||\
    &C / C++|c||\
    #CMake|cmake||\
    C&#|cs||\
    #Csound|orc||\
    CSS|css||\
    D|d||\
    &Difference|diff||\
    #&Eiffel|e||\
    #Erlang|erl||\
    &Errorlist|err||\
    #FlagShip|prg||\
    &Fortran|f90||\
    H&ypertext|html|F12|\
    #&InnoSetup|iss||\
    &Java|java||\
    Java&scrīpt|js||\
    #&Kix|kix||\
    TeX|tex||\
    Lisp|lisp||\
    #Lot|lot||\
    #Lout|lt||\
    Lu&a|lua||\
    Matlab|m.matlab||\
    &Makefile|mak|Ctrl+Shift+F11|\
    #MetaPost|mp||\
    #MMIXAL|mms||\
    #&nnCron crontab|tab||\
    #NSIS|nsis||\
    #Objective Caml|ml||\
    #Octave|m.octave||\
    #Opal|impl||\
    Pascal|pas||\
    Pe&rl|pl||\
    P&HP|php||\
    #P&LSQL|spec||\
    &Properties|properties||\
    #P&ostscrīpt|ps||\
    #P&OV-Ray SDL|pov||\
    Pytho&n|py||\
    #Reso&urce|rc||\
    Ruby|rb||\
    Shell|sh||\
    S&QL|sql||\
    #Specman|e||\
    &TCL|tcl||\
    &VB|vb||\
    VBScr&ipt|vbs||\
    #Verilog|v||\
    #VHDL|vhd||\
    &XML|xml|Shift+F12|\
    YAML|yaml||
        SciTE支持的语言,下面的配置只有更改Global.properties文件才会生效,改user.properties文件是不起作用的,每种语言都对应SciTE文件目录中的*.properties文件,新加入的语言必须先把properties文件复制到SciTE目录中,然后在Global中更改下面的语言支持配置,比如目录中有php.properties文件,那么就在下面加上一句:import php,需要注意的是必须和语法文件同名。
    # Import all the language specific properties files
    import ada
    import asm
    #import asn1
    #import au3
    import ave
    import baan
    #import freebasic
    #import blitzbasic
    #import bullant
    import caml
    import conf
    import cpp
    #import cmake
    import d
    #import csound
    import css
    import eiffel
    import erlang
    import escrīpt
    #import flagship
    #import forth
    import fortran
    import html
    #import inno
    #import kix
    import lisp
    import lot
    #import lout
    import lua
    import matlab
    import metapost
    import mmixal
    #import nncrontab
    #import nsis
    #import opal
    import others
    import pascal
    import perl
    import pov
    import ps
    #import purebasic
    import python
    #import rebol
    import ruby
    #import scrīptol
    #import smalltalk
    #import spice
    import sql
    #import specman
    import tcl
    import tex
    import vb
    import yaml
    #import verilog
    #import vhdl

    哦,好了,现在你已经会对SciTE进行基本的配置了,就是说你可以开始使用它了,现在用起来还会说“什么玩意儿”吗?文章太长了,还是分成两篇来写,(上)就写到这里,最后还是要提醒大家不要直接改Global文件,而要改Users文件,把Global文件的内容全部复制到Users文件里。写本文的时候,SciTE的最新版本是1.73,本文也是以1.73版来讲的。(下)篇主要讲语法高亮文件的配置,缩略语的定义与使用,代码自动完成的配置及使用技巧。当然了,SciTE支持的语言实在是太多了,我的重点放在HTML,CSS,JS,PHP,以及它们的混合语法配置。等(下)写完了会在这里给出链接地址,也可以直接来我的空间里找到,敬请关注。谢谢大家的支持。——你的舒服是我的幸福!
        (下)篇链接地址:
       
    http://www.phpchina.com/30501/viewspace_8926.html
        SciTE主页:
        http://www.scintilla.org/
        语言文件(有中文):
       
    http://scintilla.sourceforge.net/SciTETranslation.html
        语法文件和API文件:
       
    http://scintilla.sourceforge.net/SciTEExtras.html
    ----------------------------------------------------------
Open Toolbar