1[[PageOutline(1-2)]] 2 3List of existing and planned features with links to description of each feature 4with relevant tickets and test cases to make sure the features are implemented correctly. 5 6= Features = 7 8 * multi-platform: [wiki:DownloadWindows Microsoft Windows], [wiki:Download Linux], [wiki:DownloadFreeBSD FreeBSD], [wiki:DownloadMacOSX Mac OS X], [wiki:DownloadNetBSD NetBSD] 9 * 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] 10 * 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. 11 * [wiki:Features/BasicEditorFeatures Basic Editor Features] 12 * [wiki:Features/VisualEditorEffects Visual Editor Effects] 13 * Line Numbers 14 * Code Folding 15 * Current Line 16 * Right Margin 17 * Newlines 18 * Whitespaces 19 * Indentation Guide 20 * [wiki:Features/SyntaxHighlighting Syntax Highlighting] 21 * [wiki:Features/Run Run a Script] 22 * [wiki:Features/TitleAndStatusBarPersonalization Title and Status Bar Personalization] 23 * [wiki:Features/CommandLineWindow Command Line Window] 24 * [wiki:Features/OpenResource Open Resource] 25 * [wiki:Features/QuickMenuAccess Quick Menu Access] 26 * [wiki:Features/SingleInstance Single Instance] 27 * [wiki:Features/AutoSave Automatic Save and Backup] 28 * [wiki:Features/RemoteEditing Remote Editing via FTP, HTTP, SSH] 29 * [wiki:Features/CooperativeEditing Cooperative Editing] (Swarm) 30 * [wiki:Features/SearchAndReplace Search and Replace] 31 * [wiki:Features/IncrementalSearch Incremental Search] 32 * [wiki:Features/FindInFiles Find In Files] 33 * [wiki:Features/TODOList TODO List] 34 * [wiki:Features/EditPatch Patch] 35 * [wiki:Features/AutoDiff Auto-Diff] 36 * [wiki:Features/CodeSnippets Code Snippets] 37 * [wiki:Features/CPANModuleInstaller CPAN Module Installer] 38 * [wiki:Features/SessionManagement Session Management] 39 * [wiki:Features/SplitView Split View] 40 * [wiki:Features/Bookmarks Bookmarks] 41 * [wiki:Features/RightClick Context Menu] 42 * [wiki:Features/ProjectManagement Project Management] 43 * [wiki:Features/ProjectSkeletonGeneration Project Skeleton Generation] 44 * [wiki:Features/Autocomplete Autocomplete] 45 * [wiki:Features/HelpViewer Help Viewer] 46 * [wiki:Features/ContextSensitiveHelp Context Sensitive Help] 47 * [wiki:Features/RectangularEditing Rectangular Selection and Editing] 48 * [wiki:Features/Autoindent Autoindent] 49 * [wiki:Features/Brackets Bracket Completition and Matching] 50 * [wiki:Features/Outline Code Browser and Var tree called Outline] 51 * [wiki:Features/Autocomplete Source code suggestions and Autocomplete] 52 * [wiki:Features/PreferenceSystem Configuration and Preference System] 53 * [wiki:Features/OpenSelection Open Selection] 54 * Multi-document editing - as far as we understand this only means you can edit several files at the same time 55 * Code-assist editor - What does this cover? 56 * IME - [wiki:Features/MultilingualInputMethodEditor Multilingual Input Method Editor] 57 * [wiki:Features/IntegratedWebServer Integrated Web Server] for web application development 58 * Call tips 59* [wiki:Features/ToolsPrefernces Tools Prefernces draft] 60 61== Perl-specific features == 62 63 * [wiki:Features/SyntaxChecking Real Time Syntax Checking For Perl 5 and 6] 64 * [wiki:Features/Perl5Debugger Perl 5 Debugger] - perl debugging in Padre 65 * [wiki:Features/RefactoringPerl5 Refactoring Perl 5 code] 66 * [wiki:Features/AutomatedBuildAndTest Automated Build and Test] 67 * [wiki:Features/Perl6 Perl 6 features] 68 * [wiki:Features/RegexEditor Regex Editor] 69 * [wiki:PluginAPI Extendable in Perl 5] via a Powerful [wiki:PluginAPI Plugin API] 70 * [wiki:Features/PerlTidy] - automatic reformatting (tidying) of code 71 * [wiki:Features/REPL REPL] 72 * [wiki:Features/ProjectBrowser Project Browser] (Tree view of source files and resources) 73 * [wiki:Features/IdentifyCommonErrors Identify Common Errors] 74 * special features for beginners (we can create a page listing them) 75 * advanced features (we can create a page listing them) 76 77 * [wiki:Features/Extendable Extendable in Perl 6 and other languages] 78 * [wiki:Features/HandleMultipleLanguages] 79 80 81== Plugins == 82 83 * [wiki:Plugins] generic plugins related tickets 84 * [wiki:Features/IntegratedVersionControl Integrated Version Control] 85 * [wiki:Features/SuperGrep Super Grep] 86 87= Feature requests and ideas from other sources = 88 89In this section we have lists of features taken from verious articles 90and web sites comparing tools and even from other IDEs. 91 92For each feature we first link it to a related ticket but later 93on we will point to the description of our implementation of 94that feature. 95 96== From Perlmonks == 97 98Perlmonks has a table comparing features of IDEs and editors to be used for Perl 99development. 100 101The table can be found at [http://www.perlmonks.org/?node=Perl%20Development%20Tools Perl Development Tools] 102 103TODO: add links to the relevant Feature Pages 104 105|| '''Feature''' || '''Status or link to ticket''' || 106|| Perl Exclusive || Why is yes considered good here? || 107|| Free || yes - Under the "perl" license. || 108|| Perl Engine || Any - Padre itself runs on 5.8.7 or higher but your code can run on any version of perl || 109|| [wiki:Features/SyntaxChecking Syntax Checking] || yes || 110|| [wiki:Features/SyntaxHighlighting Syntax colouring] || yes || 111|| [wiki:Features/Autoindent Autoindent] || yes || 112|| [wiki:Features/IncrementalSearch Incremental search] || yes || 113|| [wiki:Features/Brackets Bracket Completition and Matching] || yes || 114|| Folding || see under [wiki:Features/VisualEditorEffects Visual Editor Effects] || 115|| Var tree || see in [wiki:Features/Outline Outline] || 116|| Code browser || see in [wiki:Features/Outline Outline] || 117|| Debugger || [wiki:Features/Perl5Debugger Perl 5 Debugger] || 118|| Stepping || See Debugger || 119|| Breakpoints || See Debugger || 120|| Watches || See Debugger || 121|| Var evaluation || See Debugger || 122|| Stack module || See Debugger || 123|| [wiki:Features/Bookmarks Bookmarks] || yes || 124|| Suggest & complete || see #67 but add more || 125|| [wiki:Features/IdentifyCommonErrors Identify errors] || also [wiki:Features/SyntaxChecking Syntax Checking] || 126|| [wiki:Features/REPL Interactive shell] || || 127|| [wiki:Features/CodeSnippets Code snippets] || yes || 128|| [wiki:Features/ProjectManagement Project] || || 129|| Control version || [wiki:Features/IntegratedVersionControl Integrated Version Control] || 130|| Multi document || yes || 131|| [wiki:Features/SplitView Split View] || || 132|| IME || Multilingual Input Method Editor || 133|| [wiki:Features/HelpViewer Docs & Help viewer] || yes || 134|| [wiki:Features/CPANModuleInstaller Module installer] || || 135|| WEB || [wiki:Features/IntegratedWebServer Integrated Web Server] || 136|| FTP || #12 Read and write over ftp protocol (modify the program at remote server) || 137|| HTML export || #112 To export the source of program with the syntax colouring. || 138|| Linux || [wiki:Download] || 139|| BSD || [wiki:DownloadFreeBSD] and [wiki:DownloadNetBSD] || 140|| Mac OS X || [wiki:DownloadMacOSX] || 141|| Solaris || || 142|| Windows || [wiki:DownloadWindows] || 143 144 145== From Perl Needs Better Tools == 146 147[http://www.eigenstate.net/perl_tools/ Perl Needs Better Tools] by Matisse Enzer 148 149||'''Feature''' || '''Status or link to ticket''' || 150||[wiki:Features/SyntaxHighlighting Syntax coloring] || || 151||[wiki:Features/SyntaxChecking Real Time Syntax Checking] || || 152||[wiki:Features/IntegratedVersionControl Version control integration] || || 153||Code-assist editor || || 154||Excellent refactoring support || [wiki:Features/RefactoringPerl5 Refactoring Perl 5 code] || 155||Tree view of source files and resources || || 156||Support for creating and running unit tests || [wiki:Features/AutomatedBuildAndTest Automated Build and Test] || 157||Language-specific help || [wiki:Features/ContextSensitiveHelp Context Sensitive Help] || 158||Run your code under a debugger with real-time display of results || || 159||Automatic reformatting of code. || || 160||handling of multiple languages || || 161||Automated build and test || || 162 163 164== From Enlightened Perl == 165 166Work together with the folks at Enlightened Perl http://www.enlightenedperl.org/ 167to see how Padre can provide a GUI for their efforts. 168Look at Kensho, http://search.cpan.org/dist/Task-Kensho/ a list of recommended module 169and see how Padre can provide a GUI (via a plugin or in core Padre) for them. 170 171== From Competitors == 172 173See the [wiki:'Competitor Analysis'] 174 175== From Eclipse EPIC == 176 177[http://www.eclipse.org/cdt/ Eclipse CDT - C/C++ Development Tooling] 178[http://www.eclipse.org/jdt/ Eclipse Java development tools (JDT)] 179 180Some of these features are only relevant (or possible) for C/C++ or Java 181 182||'''Feature''' || '''Status or link to ticket''' || 183||Find all references || || 184||Find definition/declaration/usage || || 185||Type Hierarchy || || 186||Call Hierarchy (or call graph) || || 187||[wiki:Features/RefactoringPerl5 Refactoring] || || 188||[wiki:Features/SourceNavigation Source navigation] || || 189||[wiki:Features/SyntaxHighlighting Syntax highlighting] || || 190||Code folding || under [wiki:Features/VisualEditorEffects Visual Editor Effects] || 191||Hyperlink navigation || || 192||Include browser || || 193||Project creation || [wiki:Features/ProjectSkeletonGeneration Project Skeleton Generation] || 194||Managed build for various toolchains || || 195||Standard make build || Via Run menu || 196||Macro definition browser || || 197||Code generation || partly (File -> New...) || 198||Visual debugging tools || || 199||Memory, registers, and disassembly viewers || || 200 201 202