[[PageOutline(1-2)]]
List of existing and planned features with links to description of each feature
with relevant tickets and test cases to make sure the features are implemented correctly.
= Features =
* multi-platform: [wiki:DownloadWindows Microsoft Windows], [wiki:Download Linux], [wiki:DownloadFreeBSD FreeBSD], [wiki:DownloadMacOSX Mac OS X], [wiki:DownloadNetBSD NetBSD]
* Free and Open Source Software under the Perl licensing terms: [http://svn.perlide.org/padre/trunk/Padre/COPYING GPL I] [http://svn.perlide.org/padre/trunk/Padre/Artistic Artistic I]
* 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.
* [wiki:Features/BasicEditorFeatures Basic Editor Features]
* [wiki:Features/VisualEditorEffects Visual Editor Effects]
* Line Numbers
* Code Folding
* Current Line
* Right Margin
* Newlines
* Whitespaces
* Indentation Guide
* [wiki:Features/SyntaxHighlighting Syntax Highlighting]
* [wiki:Features/Run Run a Script]
* [wiki:Features/TitleAndStatusBarPersonalization Title and Status Bar Personalization]
* [wiki:Features/CommandLineWindow Command Line Window]
* [wiki:Features/OpenResource Open Resource]
* [wiki:Features/QuickMenuAccess Quick Menu Access]
* [wiki:Features/SingleInstance Single Instance]
* [wiki:Features/AutoSave Automatic Save and Backup]
* [wiki:Features/RemoteEditing Remote Editing via FTP, HTTP, SSH]
* [wiki:Features/CooperativeEditing Cooperative Editing] (Swarm)
* [wiki:Features/SearchAndReplace Search and Replace]
* [wiki:Features/IncrementalSearch Incremental Search]
* [wiki:Features/FindInFiles Find In Files]
* [wiki:Features/TODOList TODO List]
* [wiki:Features/EditPatch Patch]
* [wiki:Features/AutoDiff Auto-Diff]
* [wiki:Features/CodeSnippets Code Snippets]
* [wiki:Features/CPANModuleInstaller CPAN Module Installer]
* [wiki:Features/SessionManagement Session Management]
* [wiki:Features/SplitView Split View]
* [wiki:Features/Bookmarks Bookmarks]
* [wiki:Features/RightClick Context Menu]
* [wiki:Features/ProjectManagement Project Management]
* [wiki:Features/ProjectSkeletonGeneration Project Skeleton Generation]
* [wiki:Features/Autocomplete Autocomplete]
* [wiki:Features/HelpViewer Help Viewer]
* [wiki:Features/ContextSensitiveHelp Context Sensitive Help]
* [wiki:Features/RectangularEditing Rectangular Selection and Editing]
* [wiki:Features/Autoindent Autoindent]
* [wiki:Features/Brackets Bracket Completition and Matching]
* [wiki:Features/Outline Code Browser and Var tree called Outline]
* [wiki:Features/Autocomplete Source code suggestions and Autocomplete]
* [wiki:Features/PreferenceSystem Configuration and Preference System]
* [wiki:Features/OpenSelection Open Selection]
* Multi-document editing - as far as we understand this only means you can edit several files at the same time
* Code-assist editor - What does this cover?
* IME - [wiki:Features/MultilingualInputMethodEditor Multilingual Input Method Editor]
* [wiki:Features/IntegratedWebServer Integrated Web Server] for web application development
* Call tips
* [wiki:Features/ToolsPrefernces Tools Prefernces draft]
== Perl-specific features ==
* [wiki:Features/SyntaxChecking Real Time Syntax Checking For Perl 5 and 6]
* [wiki:Features/Perl5Debugger Perl 5 Debugger] - perl debugging in Padre
* [wiki:Features/RefactoringPerl5 Refactoring Perl 5 code]
* [wiki:Features/AutomatedBuildAndTest Automated Build and Test]
* [wiki:Features/Perl6 Perl 6 features]
* [wiki:Features/RegexEditor Regex Editor]
* [wiki:PluginAPI Extendable in Perl 5] via a Powerful [wiki:PluginAPI Plugin API]
* [wiki:Features/PerlTidy] - automatic reformatting (tidying) of code
* [wiki:Features/REPL REPL]
* [wiki:Features/ProjectBrowser Project Browser] (Tree view of source files and resources)
* [wiki:Features/IdentifyCommonErrors Identify Common Errors]
* special features for beginners (we can create a page listing them)
* advanced features (we can create a page listing them)
* [wiki:Features/Extendable Extendable in Perl 6 and other languages]
* [wiki:Features/HandleMultipleLanguages]
== Plugins ==
* [wiki:Plugins] generic plugins related tickets
* [wiki:Features/IntegratedVersionControl Integrated Version Control]
* [wiki:Features/SuperGrep Super Grep]
= Feature requests and ideas from other sources =
In this section we have lists of features taken from verious articles
and web sites comparing tools and even from other IDEs.
For each feature we first link it to a related ticket but later
on we will point to the description of our implementation of
that feature.
== From Perlmonks ==
Perlmonks has a table comparing features of IDEs and editors to be used for Perl
development.
The table can be found at [http://www.perlmonks.org/?node=Perl%20Development%20Tools Perl Development Tools]
TODO: add links to the relevant Feature Pages
|| '''Feature''' || '''Status or link to ticket''' ||
|| Perl Exclusive || Why is yes considered good here? ||
|| Free || yes - Under the "perl" license. ||
|| Perl Engine || Any - Padre itself runs on 5.8.7 or higher but your code can run on any version of perl ||
|| [wiki:Features/SyntaxChecking Syntax Checking] || yes ||
|| [wiki:Features/SyntaxHighlighting Syntax colouring] || yes ||
|| [wiki:Features/Autoindent Autoindent] || yes ||
|| [wiki:Features/IncrementalSearch Incremental search] || yes ||
|| [wiki:Features/Brackets Bracket Completition and Matching] || yes ||
|| Folding || see under [wiki:Features/VisualEditorEffects Visual Editor Effects] ||
|| Var tree || see in [wiki:Features/Outline Outline] ||
|| Code browser || see in [wiki:Features/Outline Outline] ||
|| Debugger || [wiki:Features/Perl5Debugger Perl 5 Debugger] ||
|| Stepping || See Debugger ||
|| Breakpoints || See Debugger ||
|| Watches || See Debugger ||
|| Var evaluation || See Debugger ||
|| Stack module || See Debugger ||
|| [wiki:Features/Bookmarks Bookmarks] || yes ||
|| Suggest & complete || see #67 but add more ||
|| [wiki:Features/IdentifyCommonErrors Identify errors] || also [wiki:Features/SyntaxChecking Syntax Checking] ||
|| [wiki:Features/REPL Interactive shell] || ||
|| [wiki:Features/CodeSnippets Code snippets] || yes ||
|| [wiki:Features/ProjectManagement Project] || ||
|| Control version || [wiki:Features/IntegratedVersionControl Integrated Version Control] ||
|| Multi document || yes ||
|| [wiki:Features/SplitView Split View] || ||
|| IME || Multilingual Input Method Editor ||
|| [wiki:Features/HelpViewer Docs & Help viewer] || yes ||
|| [wiki:Features/CPANModuleInstaller Module installer] || ||
|| WEB || [wiki:Features/IntegratedWebServer Integrated Web Server] ||
|| 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 || [wiki:Download] ||
|| BSD || [wiki:DownloadFreeBSD] and [wiki:DownloadNetBSD] ||
|| Mac OS X || [wiki:DownloadMacOSX] ||
|| Solaris || ||
|| Windows || [wiki:DownloadWindows] ||
== From Perl Needs Better Tools ==
[http://www.eigenstate.net/perl_tools/ Perl Needs Better Tools] by Matisse Enzer
||'''Feature''' || '''Status or link to ticket''' ||
||[wiki:Features/SyntaxHighlighting Syntax coloring] || ||
||[wiki:Features/SyntaxChecking Real Time Syntax Checking] || ||
||[wiki:Features/IntegratedVersionControl Version control integration] || ||
||Code-assist editor || ||
||Excellent refactoring support || [wiki:Features/RefactoringPerl5 Refactoring Perl 5 code] ||
||Tree view of source files and resources || ||
||Support for creating and running unit tests || [wiki:Features/AutomatedBuildAndTest Automated Build and Test] ||
||Language-specific help || [wiki:Features/ContextSensitiveHelp Context Sensitive 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 || ||
== 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.
== From Competitors ==
See the [wiki:'Competitor Analysis']
== From Eclipse EPIC ==
[http://www.eclipse.org/cdt/ Eclipse CDT - C/C++ Development Tooling]
[http://www.eclipse.org/jdt/ Eclipse Java development tools (JDT)]
Some of these features are only relevant (or possible) for C/C++ or Java
||'''Feature''' || '''Status or link to ticket''' ||
||Find all references || ||
||Find definition/declaration/usage || ||
||Type Hierarchy || ||
||Call Hierarchy (or call graph) || ||
||[wiki:Features/RefactoringPerl5 Refactoring] || ||
||[wiki:Features/SourceNavigation Source navigation] || ||
||[wiki:Features/SyntaxHighlighting Syntax highlighting] || ||
||Code folding || under [wiki:Features/VisualEditorEffects Visual Editor Effects] ||
||Hyperlink navigation || ||
||Include browser || ||
||Project creation || [wiki:Features/ProjectSkeletonGeneration Project Skeleton Generation] ||
||Managed build for various toolchains || ||
||Standard make build || Via Run menu ||
||Macro definition browser || ||
||Code generation || partly (File -> New...) ||
||Visual debugging tools || ||
||Memory, registers, and disassembly viewers || ||