Size: 7696
Comment:
|
Size: 10519
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
''First was FlyEdit based on Tcl/Tk, and later became NewEdit based on wxPython. And now it's UliPad'' UliPad, this name comes from Claudio Grondi, thanks you. You can check the Chinese Version of this wiki at '''[wiki:self/NewEditCn newEdit中文版面]'''.[[FootNote(中文版本的项目页面也要及时更新哪,毕竟这是主要的目标用户群?-- ZoomQuiet)]] |
''First was FlyEdit based on Tcl/Tk, and later became NewEdit based on wxPython. And now it's UliPad.'' UliPad, this name comes from Claudio Grondi, thank you. And why named it "UliPad" Claudio Grondi said: {{{ As we are on the way to make NewEdit THE programmer editor I think, that a new unique name will help here much (NewEdit is just cheap...). I suggest to use 'UliPad'. It has the shortcut of UnLImited. It tells it is a plain text editor (Pad). It tells something about the original author (LImodou). But the most important advantage is: Google has no entry for 'UliPad' yet! }}} Wonderful! It seems many people like it. |
Line 16: | Line 34: |
UliPad/NewEdit uses Mixin and Plugin technique as its architecture. Most of its classes can be extended via mixin and plugin components, and finally become an integrity class at creating the instance. So UliPad/NewEdit is very dynamic. You can write the new features in new files, and hardly need to modify the existing code. And if you want to extend the existing classes, you could write mixins and plugins, and this will be bound to the target class that I call "Slot Class". This technique will make the changes centralized and easily managed. | UliPad(NewEdit) uses Mixin and Plugin technique as its architecture. Most of its classes can be extended via mixin and plugin components, and finally become an integrity class at creating the instance. So UliPad(NewEdit) is very dynamic. You can write the new features in new files, and hardly need to modify the existing code. And if you want to extend the existing classes, you could write mixins and plugins, and this will be bound to the target class that I call "Slot Class". This technique will make the changes centralized and easily managed. |
Line 84: | Line 102: |
* Script -- You can write easy script to manipulate the all resource of UliPad/NewEdit, just like: text conversion, etc. * Plugin -- Customized function. More complex but more powerful. Can easily merge with UliPad/NewEdit, and can be |
* Script -- You can write easy script to manipulate the all resource of UliPad(NewEdit), just like: text conversion, etc. * Plugin -- Customized function. More complex but more powerful. Can easily merge with UliPad(NewEdit), and can be |
Line 93: | Line 111: |
* Blog editor -- You can use UliPad/NewEdit to edit your blog, currently tested with PyBlosxom. | * Blog editor -- You can use UliPad(NewEdit) to edit your blog, but this funcation not be wildly tested. |
Line 95: | Line 113: |
* Many plugins can be found at UliPad/NewEdit wiki page. | * Many plugins can be found at UliPad(NewEdit) wiki page. |
Line 97: | Line 115: |
* Many scripts can be found at UliPad/NewEdit wiki page. | * Many scripts can be found at UliPad(NewEdit) wiki page. |
Line 106: | Line 124: |
* '''Smart Navigation''' UliPad can remember the visit order of your opened files, and you can go back or go forward in these files. * '''Live regular expression searching''' You can type some regular expression on the fly, and see the result dynamiclly. * '''Spell check plugin''' Need to install PyEnchant module. * '''ConCurrent Programming''' Multi-user can modify some files at the same time. You should enable pairprog plugin. |
|
Line 115: | Line 141: |
Project SVN http://cvs.woodpecker.org.cn/svn/woodpecker/newedit In Woodpacker.org -- new Trac Page http://cvs.woodpecker.org.cn/trac/browser/newedit/ |
Project SVN:: * by HTTP: ''http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/trunk'' * by SVN: '''svn://cvs.woodpecker.org.cn/woodpecker/ulipad/trunk''' * support from Woodpecker.org.cn * by http://code.google.com/images/code_sm.png `svn checkout http://ulipad.googlecode.com/svn/trunk/ ulipad` Trac Page:: http://cvs.woodpecker.org.cn/trac/browser/ulipad |
Line 123: | Line 152: |
Project CVS [http://newedit.tigris.org In Tigris] -- old UliPad/NewEdit introduce powerpoint attachment:NewEdit.ppt |
Documents: * UliPad(NewEdit) introduce powerpoint attachment:NewEdit.ppt * MixinTech Document attachment:Mixin.ppt |
Line 129: | Line 158: |
* lastest exe version attachment:NewEdit3.2.exe 2006/01/17 updated * lastest source version attachment:newedit_3.2.zip 2006/01/18 updated * current snapshot version attachment:snapshot_ulipad.zip '''2006/08/22''' updated |
* lastest exe version attachment:UliPad.3.6.exe 2006/12/04 updated * lastest source version attachment:ulipad_3.6.zip 2006/12/04 updated * current snapshot version attachment:snapshot_ulipad.zip '''2007/07/09''' updated == How do I get the newest source code from SVN == There are a couple of free programs that make this extremely easy. Windows users should get TortoiseSVN http://tortoisesvn.tigris.org/. Others should get RapidSVN http://rapidsvn.tigris.org/. This FAQ will explain the use of TortoiseSVN. Once TortoiseSVN has been installed: If you have yet to install Ulipad, create a new, empty folder for it. The following apply whether you have yet to install Ulipad, or are updating it with TortoiseSVN for the first time: 1. Right-click within your Ulipad folder to show the context menu. 2. Note the two menu entries, SVN Checkout, and TortoiseSVN. 3. Click on SVN Checkout. This will call TortoiseSVN. 4. Enter http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/trunk in the "URL of repository" box. 5. The Checkout directory should already show the folder you created for Ulipad, for example, C:\Program Files\Ulipad. 6. Do not check "Only check out the top folder" or "Omit externals". 7. Select the "HEAD revision" radio button. This will ensure you get the latest revision. (Should you want an earlier revision for some reason, select the "Revision" button and enter the revision number) 8. Click OK. The download will begin. When finished, you're ready to use Ulipad! The second and subsequent times you update Ulipad using TortoiseSVN: 1. Right-click within your Ulipad folder to show the context menu. 2. Click on SVN Update and leave the rest to TortoiseSVN! '''Hints''': 1. Before updating, you may want to backup your Ulipad folder. 2. Always make a note of the number of latest revision you have. 3. http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/ will show the number of the latest revision available. Or using svn update to see the lastest revision. 4. Keep up-to-date by subscribing to the Ulipad mailing list at http://groups.google.com/group/ulipad. |
Line 135: | Line 200: |
http://groups.google.com/group/UliPad http://groups.google.com/group/NewEdit (old) |
* http://groups.google.com/group/UliPad * http://groups.google.com/group/NewEdit (old) |
Line 139: | Line 204: |
Visit: NewEditScreenShot | Visit: UliPadScreenShot |
Line 145: | Line 210: |
[[Include(NewEditPlugins)]] [[Include(NewEditScripts)]] [[Include(NewEditWizards)]] [[Include(NewEditSnippets)]] [[Include(NewEditAcps)]] [[Include(NewEditPackages)]] [[Include(NewEditTutorial)]] [[Include(NewEditResearch)]] |
* UliPadPlugins * UliPadScripts * UliPadWizards * UliPadSnippets * UliPadAcps * UliPadPackages * UliPadTutorials * UliPadResearches * UliPadTips |
Line 166: | Line 225: |
A flexible, general editor with mixins and plugins, which uses wxPython.
-- limodou [DateTime] TableOfContents
UliPad Project(Old NewEdit)
First was FlyEdit based on Tcl/Tk, and later became NewEdit based on wxPython. And now it's UliPad.
UliPad, this name comes from Claudio Grondi, thank you.
And why named it "UliPad"
Claudio Grondi said:
As we are on the way to make NewEdit THE programmer editor I think, that a new unique name will help here much (NewEdit is just cheap...). I suggest to use 'UliPad'. It has the shortcut of UnLImited. It tells it is a plain text editor (Pad). It tells something about the original author (LImodou). But the most important advantage is: Google has no entry for 'UliPad' yet!
Wonderful! It seems many people like it.
Description
UliPad(NewEdit) uses Mixin and Plugin technique as its architecture. Most of its classes can be extended via mixin and plugin components, and finally become an integrity class at creating the instance. So UliPad(NewEdit) is very dynamic. You can write the new features in new files, and hardly need to modify the existing code. And if you want to extend the existing classes, you could write mixins and plugins, and this will be bound to the target class that I call "Slot Class". This technique will make the changes centralized and easily managed.
Requirements:
- Python 2.3+
- wxPython 2.4.2.4+ Unicode Version
Some plugins may have additional requirements, please read the readme information before installing them.
Objective
Make a clean, powerful, flexible general editor, and even an application framework. And adding extensions should be very easy.
Tasks:
- Mixin and Plugin framework
- Unicode support
- User defined plugin management
- User custom window integration
- User custom wizard function
Features
Cross platform
- based on wxPython, so it can run anywhere that wxPython works, such as: Windows, Linux.
- Unicode support.
Most features of wxStyledTextCtrl(Scintilla)
- Syntax highlighting, support Python, c/c++, html, plain text
- Folding
- Brace Matching
- ...
Extended selection
Extended word selection -- You can press Ctrl+MouseDoubleClick to select a word including '.'
Matched selection -- Select text in quoted chars like: (), [], {}, '', "".
- For example: a string just like
def func(self, 'This is a test'): ^
The '^' char represents caret position in above line. If you press Ctrl+E, you will select the whole text in (), i.e. "self, 'This is a test'". Something more in Selection Menu.
- For example: a string just like
Other editing extension
- Duplicating text -- Just like Vim Ctrl+V, Ctrl+P, and more. You can duplicate above or below char, word, line
- which match the leading chars.
Quoting text -- Add some quoted chars before and after selected text, just as: "", '', (), [], {}, and
- customized string, etc.
Text convertion and view -- python -> html, reStructured Text -> html, textile -> html, and you can output or view
- the html text in message window, or html view window, or replace the selected text.
- Utf-8 encoding auto detect
- Changing document encoding
- Auto backup
- Last session support -- It'll save all the filenames as closed, and reopen the files as next started.
- Smart judge the indent char -- It'll auto guess the indent char, and sets it.
- Finding in files
- Bookmark support
- Duplicating text -- Just like Vim Ctrl+V, Ctrl+P, and more. You can duplicate above or below char, word, line
Python support
built-in python interactive window based on PyShell, support Unicode
- Auto completion
- Function syntax calltips
- Run, run with argument, stop python source
- Auto change current path
- Python class browser
Code snippets
- You can manage your code snippets with categories, and each category can have many items. Every item will represent a code snippet. You can insert an item just by double-clicking on it. It even supports importing and exporting.
Simple project support
- Can create a special file _project, so every file and folder under the folder which has the _project can be considered as a whole project.
Extension mechanism
Script -- You can write easy script to manipulate the all resource of UliPad(NewEdit), just like: text conversion, etc.
Plugin -- Customized function. More complex but more powerful. Can easily merge with UliPad(NewEdit), and can be
- managed via menu.
- Shell command -- Add often used shell commands, and execute them.
Ftp support
- You can edit remote files through ftp. You can add, rename, delete, upload, download file/directory.
Multilanguage support
- Currently supports two languages: English and Chinese, which can be auto-detected.
Shipped plugins(must be configed as used them before)
Shipped scripts
Many scripts can be found at UliPad(NewEdit) wiki page.
Wizard (New)
- You can make your own wizard template. The wizard can input user data, combine with template, and output the result. And wizard also support code framework created. This feature will help you improving coding efficiency.
Direcotry Browser(New)
- Browse multiple directories, and you can really add, delete, rename directories and files. Double click will open the file in Editor window.
AutoComPlete(acp)(New)
Suport user autocomplete file, it can help to input code very helpful and functional. Just like EditPlus, but may be more powerful.
Column Editing Mode(New)
- You can select multilines, and then set a column mode region, so in any line of this region, if you enter a character, other lines will also add this character. If you want to deal with multilines as a similar mode, this functionality will be very handy.
Smart Navigation
UliPad can remember the visit order of your opened files, and you can go back or go forward in these files.
Live regular expression searching
- You can type some regular expression on the fly, and see the result dynamiclly.
Spell check plugin
Need to install PyEnchant module.
ConCurrent Programming
- Multi-user can modify some files at the same time. You should enable pairprog plugin.
More features are in development...
Documents
Many documents ship with UliPad/NewEdit source code, and you can also find other document on [http://www.donews.net/limodou my blog].
Download
- Project SVN
-
by HTTP: http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/trunk
by SVN: svn://cvs.woodpecker.org.cn/woodpecker/ulipad/trunk
- support from Woodpecker.org.cn
by http://code.google.com/images/code_sm.png svn checkout http://ulipad.googlecode.com/svn/trunk/ ulipad
- Trac Page
Suggest:
Always download the newest source code from svn.
Documents:
The newest version download:
lastest exe version attachment:UliPad.3.6.exe 2006/12/04 updated
- lastest source version attachment:ulipad_3.6.zip 2006/12/04 updated
current snapshot version attachment:snapshot_ulipad.zip 2007/07/09 updated
How do I get the newest source code from SVN
There are a couple of free programs that make this extremely easy. Windows users should get TortoiseSVN http://tortoisesvn.tigris.org/. Others should get RapidSVN http://rapidsvn.tigris.org/.
This FAQ will explain the use of TortoiseSVN.
Once TortoiseSVN has been installed:
If you have yet to install Ulipad, create a new, empty folder for it.
The following apply whether you have yet to install Ulipad, or are updating it with TortoiseSVN for the first time:
- Right-click within your Ulipad folder to show the context menu.
- Note the two menu entries, SVN Checkout, and TortoiseSVN.
- Click on SVN Checkout. This will call TortoiseSVN.
Enter http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/trunk in the "URL of repository" box.
- The Checkout directory should already show the folder you created for Ulipad, for example, C:\Program Files\Ulipad.
- Do not check "Only check out the top folder" or "Omit externals".
- Select the "HEAD revision" radio button. This will ensure you get the latest revision. (Should you want an earlier revision for some reason, select the "Revision" button and enter the revision number)
- Click OK. The download will begin. When finished, you're ready to use Ulipad!
The second and subsequent times you update Ulipad using TortoiseSVN:
- Right-click within your Ulipad folder to show the context menu.
- Click on SVN Update and leave the rest to TortoiseSVN!
Hints:
- Before updating, you may want to backup your Ulipad folder.
- Always make a note of the number of latest revision you have.
http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/ will show the number of the latest revision available. Or using svn update to see the lastest revision.
Keep up-to-date by subscribing to the Ulipad mailing list at http://groups.google.com/group/ulipad.
Maillist
ScreenShot
Visit: UliPadScreenShot
Contribute
Some people have written their own plugins, and have shared them. This is a collection, visit the links if you like:
Plugins depend on
Some plugins need the third party module preinstall, so if you want to use plugins, you should see attachment:modulesinfo.html first, and download & install the depend on modules first.
What people say
Write down your opinions