开发者的理想的文本编辑器,应该具有以下功能:
1.具有部分IDE的功能, 比如编译,运行源代码, 甚至调试源代码。
2.可以方便的添加自定义tool, 以便扩展功能,快速完成一些事情(比如编译,运行代码,运行某个OS命令)。
3.支持源代码的高亮显示, 代码的自动完成
4.有session的功能,类似firefox关闭后重新开启可以打开以前浏览的网页,编辑器打开时也能自动打开上次打开的多个文件
5.源代码开放, 这样有需要的功能,都可以自己开发
6.灵活的可配置性,即使不进行定制开发,也可以通过简单的配置来启用/禁用需要/不需要的功能
Scite Final for Programmer完全符合上面的这些要求,甚至更多…… 在04年接触Scite, 09年底重拾Scite,并且把Scite-Ru和Scite-Debug的功能合并到一起(没有改过Scite中的一行c/c++的代码),实现了一个几乎满足所有我需要的功能的文本编辑器(超越了EditPlus, UE, Notepad++, FlexEdit ... 之所以这里用“几乎”,是因为还有一个功能没有,就是虽然具备函数自动完成,还没有C++的类成员的自动完成功能,也许这是IDE中才有的功能,但我仍然希望在文本编辑器中有这样的功能),我把它命名为Scite Final for Programmer,加上了一些简单的功能说明。现在把Scte Final公开,希望能对更多的朋友有帮助。
如果你是一个入门级的开发者, 推荐使用Scite Final for Programmer作为文本编辑器,因为IDE隐藏了太多东西,初学者需要深入了解编译,链接,运行的细节过程;如果你是一个资深的开发者,也推荐使用Scite Final,文本编辑器没有IDE的浮肿和迟钝,会让你的效率更高; 如果你爱好自由,也推荐Scite Final,因为你可以完全基于Scite定制一个自己喜欢的编辑器,甚至是IDE,有很多这样的例子。 比如用于 perl, python的Komodo IDE就是基于Scite的。CodeBlock的编辑器也是用的Scite的。也不乏爱好者为自己的工作量身定做了, 比如Scite Latex IDE (http://code.google.com/p/scitelatexide/)。
而Scite Final中融合了Scite Debug和Scite Ru中的功能,集成了不少好用的utility, 做了很多优化的配置,比如记住打开的文件,默认开启Tab显示多文件,内置十六进制编辑器, ASCII表,颜色拾取器,集成了多种语言的函数API,编辑代码时可自动提示函数名及参数,函数名自动完成,单词自动完成,同时有Sidebar的功能,支持Abbreviation(代码模板),方便查看和定位代码中的函数/符号列表(sidebar中集成的功能),同时编辑的时候方便打开同一目录中的文件,且sidebar中有好用的文件管理器, 字体可以缩放, 有Bookmark和Favorites的管理功能,还有所有原版的Scite自带的功能……
废话不多说了, 可以从这里下载Scite Final for Programmer(Text Editor) : http://download.csdn.net/source/1955132
下面是详细一点的介绍。
Scite Final for Programmer V2010.1.1
It is an text editor for programmer on win32 platform. Its a combination of executables and scripts of Scite-Ru, Scite-Debug, and some customization config.
----------Features-------------------------------:
1. support debug of c/c++/python/lua (integrate Scite debug) out of box.
(oh, you need to install compiler/intepreter and add them to PATH).
2. many tools from Scite-ru:
Color Picker, Hex editor, ASCII table, Side bar; (Ctrl + F1 to hide/show sidebar, the shortcut is configurable)
3. Side bar with FileManageer, Function/Bookmark browser, Abbreviation browser
4. Automatically save recently opened file, and open these files Automatically the next time you start scite.
5. Automatically spell completion support. When you type "aut" in this file, it will suggest "automatic", "Automatically".
6. Automatically completion for functions in c/c++, python, perl, lua, and many others languages out of box.
e.g. When you type "hex(" in python, it will prompt "hex(number) -> string".
When you type "chop(" in perl, it will prompt "chop(VARIABLE) Chops off the last character of a string ....
7. Support Of automatic open file, add menu under "Open With" and right click menu by registry install.
There are 2 _optional_ method to register Scite to right click menu and to Open With menu, each illustracted in 7.1 and 7.2.
7.1 Automatically Register (recommended):
Double Click FixMenuPath.bat to fix path in each .reg file, and then double click each .reg files one by one.
7.2 Manually register (if you are not lucky enough to register by Automatically Register, try manaually) :
To register right click menu "Open With Scite", just open file Right_Click_Menu_CLASSESROOT.reg by scite, replace the path of scite.exe in Right_Click_Menu_CLASSESROOT.reg,
and double click Right_Click_Menu_CLASSESROOT.reg to install the registry file.
To register a menu under "Open With", just replace the path in Open_With_ClassesRoot.reg and Open_With_Menu_CurrentUser.reg, and run the 2 files.
After step 7.1 OR 7.2 (depends on your choice), you will see a right click menu "Open With Scite".
Also when you right click a file(maybe Shift + RightClick), and click "open with", you can choose scite as your default editor for the file type.
Of course you don't need to register the menu (step 7.1 OR 7.2), but if you don't, and right click a text file and click "Open With" -> "Choose Program",
and you choose scite.exe, then your session in scite would be lost if scite was not opened before you open this file.
Note: when you use the following command to open a file, your session would be lost due to scite's implementation flaw.
c:/> SciTE.exe myfile
But if you open the file with option of -save.session=0 , your session would not be lost when you start scite alone:
c:/> SciTE.exe -save.session=0 -save.recent=0 myfile
So I added several registry entry to avoid the headache of lost session
(a session contain files you opened in the last run of Scite).
----------SciTE output (lua) usage---------------:
1. use $ to evaluate variable
$FilePath
$FileName
$SciteDefaultHome
2.when in debugging, you can type debugger commands directly into the output pane.
3.output pane would evaluate lua expression by default.
4.output pane can execute shell command by starting with > :
>dir
>echo hello world
---------- Acknowledgment---------------:
Many Thanks to Scite, Scite-Debug, Scite-Ru project, they make my life easier.
Any comments or improvement idea about "Scite Final for programmer" is welcome,
you may contact my by gmail or MSN by david_ullua at hotmail.com
David Lv, david.ullua at gmail.com , 2009/12/30