| Version 31 (modified by szabgab, 4 years ago) (diff) |
|---|
-
Features
- Customizable syntax highlighting (coloring) of many languages
- Syntax checking for Perl 5 and Perl 6
- Smart highlighting
- Refactoring tools for Perl 5
- Refactoring tools for Perl 6
- Context sensitive Language-specific help
- Rectangular Selection
- Multi-platform: Microsoft Windows, Linux, !FreeBSD, Mac OS X
- Special features for beginners
- Detection of common beginner errors
- Extra features for advanced programmers
- Free and Open Source under the "Perl license"
- Written in Perl 5
- Extendable in Perl 5
- Extendable in Perl 6
- Extendable in Python/PHP/Ruby/etc
- Tree view of source files and resources
- Support for creating and running unit tests
- Automatic reformatting of code
- Handling of multiple languages
- Automated build and test
- Code-assist editor
- Run your code under a debugger with real-time display of results
- Auto indent
- Incremental search
- Bracket matching
- Folding
- Var tree
- Code browser
- Debugger
- Bookmarks
- Suggest & complete
- Identify errors
- Interactive shell
- Code snippets
- Project support
- Integrated version control
- Multi document
- Split view
- IME - Multilingual Input Method Editor
- Docs & Help viewer
- Module installer
- WEB
- FTP
- HTML export
- Regex Editor
- Super Grep tool
- Features list from Perlmonks
- Feature list from Perl Needs Better Tools
- Feature list from Enlightened Perl
- Features from Competitors
Padre will have lots of features and it will be compared to other Editors and IDEs used for Perl development. Here we will list all the interesting features of Padre and we can also maintain comparison tables used in some other places and make sure Padre will support them.
Features
List of existing a planned features with links to relevant tickets and some explanation how to use them or links to such explanations
TODO: Padre has a lot more feature that should me mentioned here and explained
Customizable syntax highlighting (coloring) of many languages
Syntax checking for Perl 5 and Perl 6
Smart highlighting
See example in this blog http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html
Refactoring tools for Perl 5
The various Perl 5 refactoring features are available in the Perl menu - when viewing a file that was recognized as a Perl 5 file.
Lexically Rename Variable
my $x = 23;
{
my $x = 42;
{
my $x = 19;
print $x; # 19
}
print $x; # 42
}
print $x; # 23
In the above code the programmer used the same variable name in several scopes. We would like to replace the one in the middle where $x is 42. We cannot replace it based on selection as that would rename the internal variables ($x = 19) as well.
We can select one of the occurrences of $x that we want to replace, right-click on the mouse, select "Lexically Rename Variable", type in a new name and click OK. It will replace the correct variable (Once the bugs reported in #565 are fixed).
Extract Subroutine
Introduce Temporary Variable
Refactoring tools for Perl 6
These can be found in the Padre::Plugin::Perl6 You can find them in the Plugins/Perl? 6/Refactor... menu item.
Context sensitive Language-specific help
Select any text and click on F2 or just click on F2.
It currently is implemented for Perl 5 and Perl 6.
See example in this blog http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html
Rectangular Selection
Rectangular selection in Padre can be done by pressing the Shift and Alt keys together and then use the arrow keys and/or the mouse to make the text selection.
See (#167)
Multi-platform: Microsoft Windows, Linux, !FreeBSD, Mac OS X
See the download page on instructions how to install Padre on the various operating systems.
Special features for beginners
Tickets related to these feature are usually under report:12
Detection of common beginner errors
See http://ahmadzawawi.blogspot.com/2009/09/whats-new-in-padre-046.html
Extra features for advanced programmers
See the bugs in report:13
Free and Open Source under the "Perl license"
Written in Perl 5
Most of the code if Padre is written in Perl. There are parts that rely on libraries written in C or C++ but they are all wrapped in CPAN packages and have an API in Perl 5
Extendable in Perl 5
TODO: Describe and link to the plugin system
Extendable in Perl 6
There is a very experimental way to extend Padre using Perl 6 via the very limited Inline::Rakudo module. See Padre::Plugin::PSI for a simple example. (Last checked in March 2009)
Extendable in Python/PHP/Ruby/etc
By embedding the Parrot virtual machine into Padre we can allow extending Padre by any language implemented on top of Parrot. This is a Planned feature. The Padre::Plugin::Parrot has the code to embed Parrot and it has an example on coding in PIR.
Tree view of source files and resources
Support for creating and running unit tests
Automatic reformatting of code
See the Padre::Plugin::PerlTidy?
Handling of multiple languages
Handle files where there are more programming language in the same file. Eg. PHP files are ususally HTML + PHP
Perl code can have embedded HTML or CSS or Javascript or SQL just to name a few
Automated build and test
Code-assist editor
What does this cover?
Run your code under a debugger with real-time display of results
There is a partial solution in Padre::Plugin::Debugger
Auto indent
#16 + add more specific
Incremental search
Bracket matching
#236 added auto bracket completition
Folding
Var tree
The tool shows the set of var you use along the code
Code browser
The tool shows the layout (class, methods, functions, etc.)
See the View/Show? Outline
Debugger
Supporting Stepping, Breakpoints, Watches, Variable evaluation, Stack module
View the stack of modules called At debugger phase you can see the value of var
Bookmarks
See Edit/Bookmarks?
Suggest & complete
see #67 but add more
Identify errors
Interactive shell
Also known as REPL and explained as executing code on the file
Code snippets
You can store and retrieve set of lines of code
Project support
Integrated version control
See Padre::Plugin::Git, Padre::Plugin::SVN, Padre::Plugin::SVK
Multi document
Padre can handle several documents at the same time. You will see a TABs for each document. Opening a file open a new TAB.
Split view
IME - Multilingual Input Method Editor
Docs & Help viewer
Module installer
Plugins/Module? Tools/Install? CPAN Module is a very basic interface to CPAN.pm
Integration with CPANPLUS wx interface?
WEB
It has a web server integrated for cgi test
FTP
Read and write over ftp protocol (modify the program at remote server)
HTML export
To export the source of program with the syntax colouring.
Regex Editor
A tool that allows the less experienced users as well to build and debug a regular expressions
See #542
Super Grep tool
A plugin for Padre that allows building regular expressions and greping through lots of files (including word documents and Excel files)
See #543
Features list from Perlmonks
Some Screenshots
Listed on Perl Development Tools
TODO: add links to the relevant tickets
| Feature | Status or link to ticket | Comment |
| Perl Exclusive | Why is yes considered good here? | |
| Free | yes | Under the "perl" license. |
| Perl Engine | Any | Padre itself runs on 5.8 or higher but your code can run on any version of perl |
| Syntax Checking | see #23 | |
| Syntax colouring | see #6 #101 | |
| Auto indent | #16 + add more specific | |
| Incremental search | #60 | |
| Bracket matching | yes | #236 added auto bracket completition |
| Folding | #61 | |
| Var tree | #62 | The tool shows the set of var you use along the code |
| Code browser | #63 | The tool shows the layout (class, methods, functions, etc.) |
| Debugger | #11 | |
| Stepping | #11 | |
| Breakpoints | #11 | |
| Watches | #11 | |
| Var evaluation | #11 | At debugger phase you can see the value of var |
| Stack module | #11 | View the stack of modules called |
| Bookmarks | yes | |
| Suggest & complete | see #67 but add more | |
| Identify errors | #111 #52 | |
| Interactive shell | #110 | |
| Code snippets | #97 | You can store and retrieve set of lines of code |
| Project | #10 | |
| Control version | #82 | (is that version control integration?) |
| Multi document | yes | |
| Split view | #64 | |
| IME | Multilingual Input Method Editor | |
| Docs & Help viewer | #56 #57 #58 #59 | |
| Module installer | #70 Integration with CPANPLUS wx interface? | |
| WEB | #31 #32 | It has a web server integrated for cgi test |
| FTP | #12 | Read and write over ftp protocol (modify the program at remote server) |
| HTML export | #112 | To export the source of program with the syntax colouring. |
| Linux | yes | |
| BSD | yes | Tested on FreeBSD (see: Download) |
| Mac OS X | sort of | |
| Solaris | ||
| Windows | yes |
Feature list from Perl Needs Better Tools
Perl Needs Better Tools by Matisse Enzer
| Feature | Status or link to ticket | Comment |
| Syntax-coloring | yes, #6 | |
| Real-Time Syntax-checking | #23 | |
| Version control integration | #82 | |
| Code-assist editor | ||
| Excellent refactoring support | #8 #525 #531 | |
| Tree view of source files and resources | ||
| Support for creating and running unit tests | #10 #65 | |
| Language-specific help | ||
| Run your code under a debugger with real-time display of results | ||
| Automatic reformatting of code. | ||
| handling of multiple languages | ||
| Automated build and test |
Feature list from Enlightened Perl
Work together with the folks at Enlightened Perl http://www.enlightenedperl.org/ to see how Padre can provide a GUI for their efforts. Look at Kensho, http://search.cpan.org/dist/Task-Kensho/ a list of recommended module and see how Padre can provide a GUI (via a plugin or in core Padre) for them.
Features from Competitors
See the Competitor Analysis
