wiki:Features

Version 28 (modified by szabgab, 5 years ago) (diff)

--

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

#6 #305

Syntax checking for Perl 5 and Perl 6

#23

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.

#8 #525 #531

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 ( #96, #56, #58, #59 )

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

Extra features for advanced programmers

See the bugs in report:13

Free and Open Source under the "Perl license"

GPL I Artistic I

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

#10 #65

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

#60

Bracket matching

#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.)

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

#11

Bookmarks

See Edit/Bookmarks?

Suggest & complete

see #67 but add more

Identify errors

#111, #52

Interactive shell

Also known as REPL and explained as executing code on the file

#110

Code snippets

#97

You can store and retrieve set of lines of code

Project support

#10

Integrated version control

See Padre::Plugin::Git, Padre::Plugin::SVN, Padre::Plugin::SVK

#82

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

#64

IME - Multilingual Input Method Editor

Docs & Help viewer

#56 #57 #58 #59

Module installer

Plugins/Module? Tools/Install? CPAN Module is a very basic interface to CPAN.pm

Integration with CPANPLUS wx interface?

#70

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.

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.