Last Site Update: 01 August 2008 | Latest Version: 1.3.19

 
 
 
Home
Features
Editor
Debugger
Code Completion
Templates
Code Coverage
Content Assistants
Refactoring
Tasks
PyLint
Interactive Console
Roadmap
Screenshots
Download
Getting started
Credits
More info
FAQ / BUGS
Developers Guide
pydev-code List
Users Forum
Blog: Pydev Adventures
Hosted at
PyDev at Sourceforge
Donate
Sponsored by
 
Want a better PyDev? Why not give a small donation? (paypal)

New on: 1.3.19

  • Eclipse 3.2: Interactive console working
  • Eclipse 3.4: Hyperlinks working
  • Eclipse 3.4: Move / rename working
  • raw_input() and input(): functions are now changed when a program is launched from eclipse to consider a trailing '\r'
  • Ctr+/: Changed to toggle comment (instead of only comment) -- patch from Christoph Pickl
  • Pydev package explorer: Link working with compare editor
  • Auto-indent: Fixed problem when smart indent was turned off
  • Debugger: Better inspection of internal variables for dict, list, tuple, set and frozenset
  • Console: When a parenthesis is entered, the text to the end of the line is no longer deleted
  • Code Formatter: can deal with operators (+, -, *, etc)
  • Code Formatter: can handle '=' differently inside function calls / keyword args
  • Problem while navigating pydev package explorer fixed
  • Race condition fixed in PythonNatureStore/PythonNature (thanks to Radim Kubacki)
  • Halt fixed while having multiple editors with the same file (with the spell service on)
  • Pythonpath is no longer lost on closed/imported projects
  • Applying a template uses the correct line delimiter
  • NPE fixed when creating editor with no interpreter configured
  • Hyperlink works in the same way that F3 (saves file before search)


Main Features (release 1.3.19):

Editor:

  • Package Explorer showing outline for python modules
  • Mylyn integration (separate feature: org.python.pydev.mylyn.feature)
  • Jython and Python support!
  • Support for scripting Pydev with Jython
  • Nice PYTHONPATH configuration!
  • Project and module creation wizards
  • Ctrl+Shift+O: Organizes imports or sorts selection alphabetically
  • Ctrl+Shift+F: Autoformat your code (preferences can be set)
  • Python 2.4 syntax supported
  • Python 2.5 syntax supported
  • PyDev builders can be disabled
  • Syntax highlighting
  • Spell checking (depends on JDT for Eclipse 3.3)
  • Hovering in errors shows descriptions
  • Matching brackets highlighted.
  • Parser errors marked in the task list
  • Outline view with imports/functions/classes
  • Tabs or spaces preference
  • Smart indentation (indent and dedent)
  • Navigation: keyboard shortcuts to previous or next function. Default: (Ctrl+Shift+Up and Ctrl+Shift+Down)
  • Comment and uncomment commands (on the popup menu) and keybindings. Default: (Ctrl+3 and Ctrl+Shift+3)
  • hyperlinks over functions//import statements
  • Code folding
  • Refactoring with bicycle repair man.
  • Code Completion (Ctrl+Space)
  • Templates Completion (Ctrl+Space Too)
  • Go to definition with F3 (powered by bicycle repair man)
  • Content Assistant (Ctrl+1)
  • Code Coverage
  • Pylint
  • TODO tasks
  • Background and current line color chooser.

Debugger

  • Python and Jython support
  • Watch
  • Breakpoints
  • Step in/out/over
  • Multiple threads
  • Variable display
  • File hyperlinks in the console output (you can click on stack traces)

Interactive Console View

  • Code Completion
    • Context sensitive with shell completions
    • Qualifier matches as case insensitive
    • Templates
    • Repeating the activation changes from templates to default completions
  • Console Configurations
    • Initial commands for starting the console
    • Colors for the console
    • Vmargs can be specified for jython
  • Auto-indent
  • Auto-edits
  • Context info on hover
  • Up / Down Arrows cycles through the history (and uses the current text to match for the start of the history command)
  • Page Up: shows dialog with console history (where lines to be re-executed can be selected)
  • Esc: clears current line
  • ctrl+1 works for assign quick-assist
  • Hyperlinks addedd to tracebacks in the console
  • Paste added directly to the command line
  • Cut will only cut from the command line
  • Copy does not get the prompt chars
  • Home goes to: first text char / prompt end / line start (and cycles again)
  • Cursor automatically moved to command line on key events
  • Multiple views of the same console can be created
  • Limitations
    • Output is not asynchonous (stdout and stderr are only shown after a new command is sent to the console)

Features History

New on: 1.3.18

  • Executing external programs: Using Runtime.exec(String[] cmdargs) instead of a string with the generated command (fixes problems regarding having spaces in the installation).
  • Organize Imports (ctrl+shift+O): Imports can be grouped.
  • Cygwin: sys.executable in cygwin was not returning '.exe' in the end of the executable as it should.
  • Additional paths for PYTHONPATH (Patch from Eric Wittmann): extension point allows plugins to contribute paths to the PYTHONPATH.
  • Code-completion: typing '.' won't apply the selected completion, but will still request a new one with the current contents.
  • Pydev Package Explorer: Problem while trying to show active editor on the pydev package explorer.

New on: 1.3.17

  • Pydev Package Explorer: projects that had the project folder in the pythonpath did not show children items correctly.
  • Debugger: Disable all works. Patch from: Oldrich Jedlicka
  • Debugger: Problem when making a step return / step over
  • Code-completion: Working for attributes found in a superclass imported with a relative import
  • Patches from Felix Schwarz:
    • Allow to configure an interpreter even if the workspace path name contains spaces
    • Completion server does not work when the eclipse directory contains spaces
    • Fix deletion of resources in pydev package explorer for Eclipse 3.4

New on: 1.3.16

  • Interactive console: help() works
  • Interactive console: context information showing in completions
  • Interactive console: backspace will also delete the selected text
  • Interactive console: ESC does not close the console when in floating mode anymore
  • Code completion: calltips context info correctly made 'bold'
  • Code completion: variables starting with '_' do not come in import *
  • Code completion: can be requested for external files (containing system info)
  • Code completion: fixed recursion condition
  • Code completion: egg file distributed with dll that has a source module with the same name only with a __bootstrap__ method now loads the dll instead of the source module (e.g.: numpy egg)
  • Debugger: Step over/Step return can now execute with untraced frames (much faster)
  • Debugger: Problem when handling thread that had no context traced and was directly removed.
  • Launching: F9 will reuse an existing launch instead of creating a new one every time
  • Launching: The default launch with Ctrl+F11 will not ask again for the launch associated with a file (for new launches -- old launches should be deleted)
  • Project Explorer: fixed integration problems with CDT (and others)
  • Launch: console encoding passed as environment variable (no longer written to the install location)
  • More templates for "surround with" (Ctrl+1)
  • Previous/next method could match 'class' and 'def' on invalid location
  • Outline: Assign with multiple targets is recognized
  • Bug fix for pydev package explorer when refreshed element parent was null

New on: 1.3.15

  • Files without extension: If a file that does not have an extension is found in the root of the pythonpath, code-completion and breakpoints work with it.
  • Extract method: comma not removed when found after a tuple and before a keyword argument.
  • Console Encoding: print u"\xF6" works (console encoding correctly customized in python -- see http://sourceforge.net/tracker/index.php?func=detail&aid=1580766&group_id=85796&atid=577329 for details).
  • Debugger: Context of breakpoint correctly defined when comments are present in the end of the module.
  • from __future__ import (xxx, with_statement): works.
  • Interactive Console View, featuring:
    • Code Completion
      • Context sensitive with shell completions
      • Qualifier matches as case insensitive
      • Templates
      • Repeating the activation changes from templates to default completions
    • Console Configurations
      • Initial commands for starting the console
      • Colors for the console
      • Vmargs can be specified for jython
    • Auto-indent
    • Auto-edits
    • Context info on hover
    • Up / Down Arrows cycles through the history (and uses the current text to match for the start of the history command)
    • Page Up: shows dialog with console history (where lines to be re-executed can be selected)
    • Esc: clears current line
    • ctrl+1 works for assign quick-assist
    • Hyperlinks addedd to tracebacks in the console
    • Paste added directly to the command line
    • Cut will only cut from the command line
    • Copy does not get the prompt chars
    • Home goes to: first text char / prompt end / line start (and cycles again)
    • Cursor automatically moved to command line on key events
    • Multiple views of the same console can be created
    • Limitation: Output is not asynchonous (stdout and stderr are only shown after a new command is sent to the console)

New on: 1.3.14

  • Outline view: patch by Laurent Dore: better icons for different types of fields methods.
  • Outline view: patch by Laurent Dore: more filters.
  • PyLint: working dir is the directory of the analyzed file.
  • Project explorer: fixed bug on integration with Dynamic Web Project.
  • Extract method: fixed bug when trying to refactor structure: a = b = xxx.
  • Generate constructor using fields: working for classes that derive from builtin classes.
  • Override methods: working for classes that derive from builtin classes.
  • Debugger can use psyco for speedups: see http://pydev.blogspot.com/2008/02/pydev-debugger-and-psyco-speedups.html.
  • Debugger: shows parent frame when stepping in a return event.
  • Go to previous/next method: (Ctrl+Shift+Up/Down): does not rely on having a correct parse anymore.
  • Auto-formatting: No space after comma if next char is new line.
  • Code Completion: Handling completions from attribute access in classes (accessed from outside of the class).
  • Auto-indent: Better handling when indenting to next tab position within the code.
  • Caches: Some places were recreating the cache used during a completion request instead of using the available one (which could have a memory impact on some situations).

New on: 1.3.13

  • Outline view: working correctly again.
  • Keybinding conflict: Alt+shift+T+XXX refactoring keybindings are now only defined in the pydev scope.
  • Hyperlink: Using new hyperlink mechanism (added at Eclipse 3.3).

New on: 1.3.12

New on: 1.3.11

  • Jython Integration: Java modules may be referenced from pydev projects (working with code-completion, go to definition, etc).
  • Jython Debugger: Does not attempt to run untraced threads if version <= 2.2.1 (this was a Jython bug that's patched for the current trunk -- note: it prevented the debugger from working correctly with Jython).
  • Project build: Only referenced projects are rebuilt (and not all projects in the workspace -- e.g.: unreferenced c++ projects).
  • Spell checking (depends on JDT): Integrated for comments and strings within pydev (eclipse 3.4 should add the support for working without JDT. Reference: http://www.eclipse.org/eclipse/platform-text/3.4/plan.php).
  • Files without extension: A file without extension can have code-completion / go to definition (as long as the others around it do have extensions)
  • Debug: Variable substitution is no longer asked twice in debug mode.
  • Custom Filters: User-defined filters can be specified in the Pydev package explorer.
  • Debugger: performance improvements to get the existing frames for Python 2.4 and Jython 2.1.
  • Outline view: Better refresh (doesn't collapse the tree for simple structure changes).
  • Undo limit: The undo limit set in window > preferences > general > editors > text editors works for pydev.
  • Editor: Tabs as spaces: The newly added 'insert spaces for tabs' in the general preferences was conflicting with pydev (those settings are now ignored)
  • Patch by Laurent Dore: Added filter for *.py~ and comments
  • Delete *.pyc action: also deletes *.pyo files
  • Ctrl+Click: behaves exactly as F3.
  • Dedent: No auto-dedent after yield

New on: 1.3.10

  • Symlinks supported in the system pythonpath configuration.
  • Egg/zip files are now supported.
  • The creation of a project in a non-default location is now allowed within the workspace
  • JDT used to get completions from jars (but referencing other java projects is still not supported).
  • Configuration of pythonpath allows multiple selection for removal.
  • Configuration of pythonpath allows multiple jars/zips to be added at once.
  • When configuring the pythonpath, the paths are sorted for selection.
  • The file extensions that pydev recognizes for python can now be customized.
  • Patch by Carl Robinson: Code-folding for elements such as for, try, while, etc.
  • Removed the go to next/previous problem annotation (Eclipse 3.3 already provides a default implementation for it).

New on: 1.3.9

  • Fixed problem when configuring jython
  • Patch from paulj: debbugger working with jython 2.2rc2
  • Patch from Oskar Heck: debbugger can change globals
  • Added action to delete all .pyc / $py.class files
  • Added actions to add/remove the pydev configuration from a project (previously, the only way to add a nature was to open a python file within a project).
  • Ctrl+Shift+O: When used with a selection will consider lines ending with \ (without selection organizes imports)
  • Auto-add "import" string will not be added when adding a space in the case: from xxximport (just after from xxx)
  • Templates created with tabs (or spaces indent) are now converted to the indent being used in the editor
  • Hide non-pydev projects filter working
  • Don't show assignments/imports after if __name__ == '__main__': in outline
  • Code-completion: after a completion is requested, pressing '.' will apply that completion (and if it has parameters, they'll not be added).
  • Code-completion: when a code-completion is applied with Ctrl pressed (toggle mode), parameters are not added.
  • Assign to local variable/attribute handles constants correctly.
  • psyco changed for Null object for debug (so, no changes are required to the code if psyco is used while debugging).
  • Code-folding annotations won't change places.
  • Pydev package explorer will correctly show outline for files if the project root is set as a source folder.
  • Pydev package explorer: folders under the pythonpath have a package icon.
  • Unittest runner: handles multiple selection.

New on: 1.3.8

  • Fixed problems related to the pydev package explorer that appeared when using java 1.6 (ConcurrentModificationException)
  • Other minor bug-fixes

New on: 1.3.7

  • Support for Eclipse 3.3
  • Bug Fix: Interpreter modules not correctly set/persisted after specifying interpreter (so, the builtins and other system libraries would not be available in completions).
  • Mylyn integration.
  • Open With Pydev: does not appear for containers anymore.
  • Code-completion:
  • The folowing cases are now considered in code-completion to discover the type of a variable:
      Type/Interface checking: (note that 'assert' is required)
    • assert isinstance(obj, Interface) -- default from python
    • assert Interface.implementedBy(obj) -- zope
    • assert IsImplementation(obj, Interface) -- custom request
    • assert IsInterfaceDeclared(obj, Interface) -- custom request
      Factory methods
    • a = adapt(obj, Interface) -- pyprotocols
    • a = obj.GetAdapter(Interface) -- custom request
    • a = obj.get_adapter(Interface) -- custom request
    • a = GetSingleton(Interface) -- custom request
    • a = GetImplementation(Interface) -- custom request

New on: 1.3.6

  • Bug Fix: Builtins were not correctly used after specifying interpreter (so, the builtins would not be available in completions/code-analysis).
  • Patch (from Carl Robinson): PyLint severities can now be specified.

New on: 1.3.5

  • Eclipse 3.3 Integration: Does not keep eclipse from a correct shutdown anymore.
  • Docstrings and code completion pop-up:
    • The docstrings are now wrapped to the size of the pop-up window.
    • The initial columns with whitespaces that are common for all the docstring is now removed.
    • The previous size of the pop-up window in completions is now restored.
  • Extract method refactoring: was not adding 'if' statement correctly on a specific case.
  • Organize imports: (Ctrl+Shift+O): comments are not erased in import lines when using it anymore.
  • Interpreter Config: solved a concurrency issue (which could issue an exception when configuring the interpreter).
  • Jython integration: can now work with a j9 vm.
  • Jython integration: those that don't use jython can now use eclipse without JDT (but it's still required for jython development).
  • Outline:
    • The comments are now set in the correct level (below module, class or method).
    • Comments are sorted by their position even when alphabetic sorting is in place.
    • Comments are added to the outline if they start or end with '---'.

New on: 1.3.4

  • Debugger: Breakpoints working correctly on external files opened with 'File > Open File...'.
  • Debugger: Python 2.5 accepts breakpoints in the module level.
  • Debugger: Unicode variables can be shown in the variables view.
  • Editor: Coding try..except / try..finally auto-dedents.
  • Code Completion: __builtins__ considered a valid completion
  • Pydev Package Explorer: Opens files with correct editor (the pydev editor was forced).

New on: 1.3.3

  • Performance: Optimizations in the code-completion structure.
  • Debugger: Performance improvements (it will only actually trace contexts that have breakpoints -- it was doing that in a module context before).
  • Debugger: Step over correctly stops at the previous context.
  • Debugger: Breakpoint labels correct when class/function name changes.
  • Quick-Fix: Move import to global scope would not be correct if the last line was a multi-line import.
  • Outline: Syntax errors will show in the outline.
  • Outline: Selection on import nodes is now correct.
  • Outline: Link with editor created.
  • Outline: Show in outline added to the pydev perspective.
  • Find Previous Problem: action created (Ctrl+Shift+.).
  • Extract method refactoring: end line delimiters are gotten according to the document (it was previously fixed to \n).
  • Extension-points: Documentation added for some of the extension points available.
  • Perspective: The pydev package explorer has been set as the preferred browser in the pydev perspective.

New on: 1.3.2

  • Pydev Editor: If multiple editors are open for the same file, a parser is shared among them (which greatly improves the performance in this case)
  • Pydev Editor: Backspace is now indentation-aware (so, it'll try to dedent to legal levels)
  • Pydev Editor: sometimes the 'import' string was added when it shouldn't
  • Fix: Code-completion: case where a package shadows a .pyd is now controlled (this happened with mxDateTime.pyd)
  • Fix: Code-completion: recursion condition was wrongly detected
  • Fix: Code-completion: halting condition was found and removed
  • Fix: Project Config: if a closed project was referenced, no project was gathered for any operation (e.g.: code-completion)
  • Fix: The filter for showing only pydev projects is not active by default anymore

New on: 1.3.1

  • Mylar integration: the pydev package explorer now supports mylar (packaged as a separate feature: org.python.pydev.mylar.feature)
  • Code-completion: comment completion is now the same as string completion
  • Debug: Breakpoints can be set in external files
  • Debug: Breakpoint annotations now show in external files
  • Package Explorer: filter for import nodes created
  • Fix: Package Explorer Actions: Open action does not expand children when opening python file
  • Fix: Project Explorer (WTP) integration: does not conflict with elements from other plugins anymore (such as java projects)
  • Fix: halt in new project wizard: when creating a new project from the pydev wizard it was halting in some platforms
  • Fix: ${string_prompt} in run config: now only evaluated on the actual run
  • Fix: Code-Completion: jython shell was not handling java.lang.NoClassDefFoundError correctly

New on: 1.3.0

  • Code-completion: Deep analysis for discovering arguments in constructs 'from imports' now can be configured given the number of chars of the qualifier
  • Refactoring for override methods: changed so that it uses the pydev code-completion engine for getting the hierarchy and methods
  • Fix: Python Nature Restore: begin rule does not match outer scope rule fixed
  • Fix: Package Explorer: if show-in is in a deep structure, it will show it is the 1st try and not only in the 2nd
  • Fix: Package Explorer: some intercepts removed elements incorrectly, and ended up messing the navigator and search (which has 'null' elements because of that)

New on: 1.2.9

  • Repackaging fix

New on: 1.2.8

  • Refactoring: integration of the PEPTIC refactoring engine
  • Package Explorer: many fixes (special thanks for Don Taylor for the bug reports)
  • Debugger: a number of small optimizations
  • Code-completion: works in emacs mode
  • Code-completion: added the possibility of auto-completing for all letter chars and '_' (so, it starts completing once you start writing)
  • Code-completion: code-completion for epydoc inside strings
  • Code-completion: assigns after global statement considered added to the global namespace
  • Code-completion: now works when a class is declared in a nested scope
  • Code-completion: if multiple assigns are found to some variable, the completion will be a merge of them
  • Code-completion: functions are analyzed for their return values for code-completion purposes
  • Code-completion: working on multi-line imports
  • Code-completion: can discover instance variables not declared in the class (in the scope where the class was instanced)
  • Auto-edit: adds 'self', 'cls' or no parameter based on the @clasmethod, @staticmethod declaration on previous line
  • Auto-edit: doesn't add 'self' if a method is declared in a method inner scope
  • Fix: BRM Refactoring: wrong column was being passed to the BRM refactoring engine
  • Code-folding: added for comments and strings
  • Fix: sometimes the 'create docstring' assistant was not recognizing method definitons

New on: 1.2.7

  • Debugger: change value implemented
  • Pydev Package Explorer: Default actions (copy, paste, rename, etc) reimplemented (see blog to see what this fixed)
  • Block Comments: The remove block comments (Ctrl+5) will now remove contiguous comments -- if several lines are commented, putting the cursor in any of those lines and pressing Ctrl+5 will remove all those comments
  • Launch: When creating a new launch, the 'default' option is chosen, so, if the default interpreter changes later, this won't affect existing launch configurations
  • Code Completion: 'cls' does not appear as 1st parameter on code completion anymore
  • Code Completion: completions for cls on classmethods now works correctly
  • Keybindings: Ctrl+Tab and Ctrl+Shift+Tab keybindings removed from convert tabs to space-tabs (and vice-versa) -- they are still available in the source menu
  • Fix: the PYTHONPATH passed to PyLint was not containing the project PYTHONPATH
  • Fix: halting condition on code-completion execution
  • Fix: 'create docstrings' assist creates @param even if there is a comment in a function definition
  • Fix: block comment for class will recognize better when it is on a class definition line

New on: 1.2.6

  • Pydev package explorer (Still BETA, so, use it with care -- the navigator is still the preferred way of browsing your project)
    • Filters for .pyc and .pyo files created
    • Working set integration added (just available for Eclipse 3.2.1)
    • Some minor bugs fixed
  • Patch by Olof Wolgast: The 'create docstrings' assistant has more options (windows > preferences > pydev > code formatter > docstrings)
    • Option to choose between single and double quotes
    • Option to create '@type' too and not only '@param'
    • Option to skip creation of the @type tag for parameters starting with some prefix (if 'Custom' is chosen)
  • Block comments now have more options (windows > preferences > pydev > code formatter > block comments)
    • Option to align single-line block comment to the left or right
    • Option to put class name above class if applied on a class definition
  • Fix: Multi-line Templates indent correctly
  • Fix: When a file from a project that was deleted was still opened inside pydev, Eclipse would not start-up correctly
  • Fix: When a different interpreter is chosen in the run dialog, the pythonpath is correctly gotten
  • Fix: when Pydev was started, it would re-save the .pydevproject file even if no change was done
  • Fix: When tab width was set to 0 it could halt the editor (now if 0 is set, 4 is assumed)
  • Grammar Patch by Ueli Kistler, Dennis Hunziker

New on: 1.2.5

  • Pydev package explorer was created. Features already implemented:
    • Common resource actions (delete, copy, rename, team...)
    • Shows the Source folder with a different icon
    • Linking mode enabled
    • Shows the outline for a python file
    • Opening an item in the outline opens the correct place in the correspondent file
  • Debugger bug-fix: Crash when debugging wxPython programs should not happen anymore
  • When opening a file, the encoding is considered (and not only when saving it)
  • Patches from Gergely Kis:
    • Option for having a 'default interpreter' in the combo for selecting which interpreter to use for a run
    • Saving the things related to the pydev project in a .pydevproject file to be commited
  • Patch from Gregory Golberg:
    • Ctrl+Shift+D when a variable is selected in debug mode shows the variable value

New on: 1.2.4

  • Completions for parameters based on the tokens that were defined for it in a given context
  • Removed the default PyLint options, because its command-line interface changed (that was crashing PyLint in newer versions)
  • Changed the grammar so that 'yield' is correctly parsed as an expression
  • Giving better error message when external file is opened without any interpreter selected
  • Icons for the builtins gotten on large libraries (such as wx -- it was optimized not to do that before)
  • Adding jars relative to the project now works correctly
  • The debugger is now able to get the variables in a context when handling negative payloads (patch by Javier Sanz)

New on: 1.2.3

  • When the user specifies an invalid interpreter, a better error report is given (previously it was only shown in the error log)
  • When threads die, the debugger is notified about it (so that they are removed from the stack)
  • Writing the preferences to the disk is now buffered
  • Fixed problem when debugging in jython with the statement "from xxx import *"
  • Fixed one issue with the indentation engine
  • Commenting a line does not remove a blank line in the end anymore
  • Added debug mode for unit-test
  • Added the possibility of setting the -Dpython.cachedir for running the jython shell (errors can arise in unix-based machines if jython is not able to write its cache)

    Contributions

    • Darrell Maples:
      • Unit-test refactoring
      • Run as jython unit-test
      • Filter test methods to run

    • Joel Hedlund
      • Added a support to ease adding options to Ctrl+1 in the scripting engine
      • Added a ctrl+1 for the case:

        def m1(self, arg=None):
            arg |<-- Ctrl+1 shows option to do:
            
        def m1(self, arg=None):
            if arg is None:
                arg = []

    Support for python 2.5

    • Added the new relative import
    • Added the new if expression
    • Added the unified try..except..finally statement
    • Added the with x:... statement
    • Indenting after the new with statement
    • Recognizing 'with' as a keyword in syntax highlighting

New on: 1.2.2

Code Completion
  • Calltips added to pydev
  • The parameters are now linked when a completion is selected (so, tab iterates through them and enter goes to the end of the definition)
  • Parameters gotten from docstring analysis for builtins that don't work with 'inspect.getargspec'
  • Getting completions for the pattern a,b,c=range(3) inside a class
  • Code completion for nested modules had a bug fixed
  • Added the 'toggle completion type' when ctrl is pressed in the code-completion for context-sensitive data
  • Code-completion works correctly after instantiating a class: MyClass(). <-- will bring correct completions
  • Code-completion can now get the arguments passed when instatiating a class (getting the args from __init__)
  • self is added as a parameter in the completion analyzing whether we're in a bounded or unbounded call
  • Pressing Ctrl+Space a second time changes default / template completions
  • See details on toggling completion mode, cycling through completions and linked mode (blog)
Outline View
  • Added option for hiding comments and imports
  • Persisting configuration
  • Added option for expanding all
Others
  • Possibility of setting pyunit verbosity level (by Darrell Maples)
  • Errors getting the tests to run are no longer suppressed
  • Ctrl+2+kill also clears the internal cache for compiled modules (especially useful for those that create compiled dependencies).
  • Last opened path remembered when configuring the pythonpath (dialog)

New on: 1.2.1

  • The user is asked for which paths should be added to the system pythonpath
  • Go to previous method now works with decorators
  • Stack-trace link now opens in correct line for external files
  • Variables now show in the variables view while debugging
  • If an invalid interpreter is selected to run a file (old interpreter or wrong project type), a warning is given to the user
  • Ctrl+w is removed as the default for select word (the action is still there, but its keybinding is removed, so, users have to configure themselves which keybinding they want for it)
  • Assign to local or field variable now enters in linked mode
  • Added dependency to Eclipse 3.2 features, as version 1.2.0 of pydev and newer are only Eclipse 3.2 compatible.

New on: 1.2.0

  • Eclipse 3.2 supported (and 3.1 support is now discontinued)
  • Lot's of optimizations to make pydev faster
  • Ctrl+Click now works with the find definition engine
  • Comments that start with #--- are shown in the outline
  • Attributes are shown in the outline
  • Parse errors are now shown (again) in the editor
  • Many other bugs fixed

New on: 1.1.0

  • Startup is now faster for the plugin: actions, scripts, etc. are now all initialized in a separate thread
  • Indentation engine does not degrade as document grows
  • Multiple-string does not mess up highlighting anymore
  • code completion issue with {} solved
  • Ctrl+W: now expands the selection to cover the whole word where the cursor is
  • Assign to attributes (provided by Joel Hedlund) was expanded so that Ctrl+1 on method line provides it as a valid proposal
  • A Typing preferences page was created so that the main page now fits in lower resolutions

NOTE: this is the last version with support for Eclipse 3.1

New on: 1.0.8

  • The Parser character stream was redone to be more efficient (especially when dealing with big files)
  • The thread that does analysis had its priority lowered
  • When running a file, the pythonpath set now let's the project pythonpath before the system pythonpath
  • The way modules are resolved for loading when running unit-tests has changed
  • Indentation further improved
  • Debugger changes for working with jython
  • Ctrl+2+w: wraps the current paragraph to the number of lines specified in the preferences. This was provided by Don Tailor (revisions are also available in http://pilger.googlepages.com/pydevstuff)
  • Lot's of bug-fixes and optimizations

New on: 1.0.7

  • This is a single-bugfix release. It fixes an error that could occur when adding a newline in a document that had a docstring with an empty newline in the global level.

New on: 1.0.6

  • Assign variables to attributes (Ctrl+2+a): Contributed by Joel Hedlund (this is the first contribution using the new jython scripting engine).
  • 3 minor 'quirks' were fixed in the indentation engine
  • The debugger had some changes (so, if you had halts with it, please try it again).
  • Allow changing the keybinding for activating the Find next problem (Ctrl+.)
  • The debugger step-return had its behaviour changed.
  • Additional scripts location added to pythonpath in the jython scripting engine
  • Transversal of nested references improved
  • Fixed problems with compiled modules when they had 'nested' module structures (e.g.: wx.glcanvas)

New on: 1.0.5

  • Another batch of things to improve indentation:
    • Indent does not try to make auto-indentation when pasting
    • When smart-indent is not selected, it will still add an indentation level after ':'
    • It will keep the indent of the previous line on new-lines if the current line is empty
    • Other little things
  • Added a place to specify vm arguments (for jython or python) -- thanks to Rudi de Andrade for this patch
  • Added a way to kill the underlying python/jython shells (Ctrl+2+kill)

New on: 1.0.4

  • Added jython scripting
  • Added an 'easy' way to bind actions after Ctrl+2 (to make scripting easier)
  • Added a way to list things binded with Ctrl+2 (To see: Ctrl+2+help)
  • Added a 'go to next problem' with jython scripting capabilities, as a first example on how to script Pydev with Jython (Ctrl+.)
  • A brand new indentation engine is available:
    • Does not try to make different indentations inside multilines
    • Does not try to add spaces to make smart-indent when in only tabs mode
    • Indents correctly after opening some bracket or after closing some bracket
    • Indents to 'expected level' when hitting tab
  • Fixed bug: syntax error described instead of throwing an error
  • Profiled Pydev (not that much, but still, I hope you'll be able to 'feel' it)
  • Fixed bug: the pythonpath was not added when additional environment variables where specified
  • And as always, other bugs have been fixed

New on: 1.0.3

  • Fixed error while organizing imports with the construct from xxx import (a,b\n c)
  • Auto-dedent for 'else:' and 'elif' constructs
  • Added color customization for the function name and class name
  • Fixed debugger error: it could halt when getting some variable representation if the variable translated in a string that was huge
  • Fixed error while debugging with conditional breakpoint (only evaluated the first time) -- Thanks to Achim Nierbeck for this fix
  • Show in view: Resource Navigator (Ctrl+Alt+W) now is always active on the pydev view
  • Fixed leak on template images

New on: 1.0.2

  • Jython debugging now working.
  • Code coverage does not report docstrings as not being executed.
  • Freeze when making a 'step-in' fixed in the debugger.
  • Grammar generated with javacc version 4.0

New on: 1.0.1

  • Fix for an out-of-memory error when restoring the interpreter (single thing in this release)

New on: 1.0

  • High-speed Debugger (on par with the best debuggers available)
  • Debugger now gets the variables 'on-demand'
  • The variables returned for jython are much more complete
  • Wizard to create new project has option for creating a default 'src' folder (and add it to the pythonpath).
  • The create new python module and new python package have been reviewed (you can still use the regular ones, but the new ones are really reccommended -- also it will help in making sure you have your pythonpath correctly configured!).
  • Create new source folder option added.
  • Pylint can now give the output to the console (configurable).
  • Pylint 0.9.0 tested
  • Pylint errors now show in the hover
  • The Pydev perspective was changed (so, please, close the current and ro-open it)
  • Templates were added for the keywords
  • Keybindings were added to run the current editor as python (F9) or as jython (Ctrl+F9). Those are customizable in the 'keys' preferences
  • And many other bug-fixes as usual

New on: 0.9.8.7

  • The debugger tracing was turned off (this was a bug in 0.9.8.6 and could make debugging much slower)
  • Fixed jython shell (and extended it to get better information on code-completion).
  • Changed the interpreter configuration so that it is backwards-compatible from now on...(but the current interpreters will be lost and will need to be configured)
  • Breakpoints can have conditionals(this was contributed by Achim Nierbeck, and was actually provided in release 0.9.8.6, but I forgot to put it in the release notes)
  • Some other bugfixes are also in this build.

New on: 0.9.8.6

  • Added a new 'Pydev project' wizard (Mikko Ohtamaa contribution) -- it is named as Pydev Project instead of Python project because it creates Python and Jython projects.
  • Added a new 'Pydev module' wizard (Mikko Ohtamaa contribution) -- NOTE: it still needs some work.
  • Changes in the shell spawning were done, and no hangs should appear when trying to do code-completion anymore (if it still hapens, please report it as a bug -- NOTE: a little delay on the first time code-completion is executed is expected, as this is the time the shell is started).

New on: 0.9.8.5

  • Removed the dependency on packages 'sun.xxxx.Base64', so that other VMs can be targetted
  • Some code-completion problems in the 'resolution order' regarding tokens in __init__ were solved
  • Added option so that the user can choose whether to automatically add 'self' or not in method definitions

New on: 0.9.8.4

  • The license was changed to EPL. It can be found at: http://www.opensource.org/licenses/eclipse-1.0.php
  • Code-completion information is now saved in deltas instead of "saving only at shutdown" (being so, it does not loose information if it does not have a regular shut-down).
  • Added option for not using the smart-indent after opening brackets

New on: 0.9.8.3

  • Debugger was improved to be faster (more info about it at my blog).
  • Add watch added to the editor popup menu
  • Added syntax highlighting to the 'self' token
  • Code folding added for 'glued' imports
  • Fixed some outline problems
  • Debugger does not try to get breakpoints on closed projects anymore
  • Some refreshing issues regarding the outline and colors when reusing the editor were fixed
  • Code completion for relative imports has changed a lot (there were some pretty hard-to-find bugs in this area...)
  • Some move imports problems fixed
  • The auto-add '(self):' now works with tabs too

New on: 0.9.8.2

  • Content assistants reviewed (and better documented on the homepage -- I really reccomend checking it)
  • Timeout parsing options added (this is available in the builder preferences page)
  • Auto-dedent added
  • .pyc is removed when the corresponding .py file is removed.
  • Debugger has been changed so that it becomes faster (still not as fast as I would like, but still... faster)
  • Some escaped quotes problems fixed when formatting code
  • Navigation with Ctrl+Shift+ (up or down) has been slightly improved, so that it goes to the start or the end of the file when no other class or method definition is found
  • Other bug-fixes (as ususal)

New on 0.9.8.1

  • Java 1.4 support reintroduced.
  • Styles added for syntax highlighting (bold and italic), contributed by Gerhard Kalab.
  • zombie process after exiting eclipse should not happen anymore
  • paths with '.' are accepted for the pythonpath (unless they start with a '.', because it may not accept relative paths).
  • relative imports are added to code-completion
  • local imports are taken into consideration when doing code completion
  • debugger has 'change support', so, changed variables in a scope appear red

New on 0.9.8

  • jython integration supports spaces for jython.jar and java install
  • jython code-completion support for new style objects (jython 2.2a1) has been enhanced.
  • many templates were added
  • the grammar evolved a lot, so, now you actually have decorators in the grammar, list comprehension on method calls and tuples and the new from xxx import (a,b,c) syntax.
  • pylint supports spaces
  • pylint is no longer distributed with pydev (it must be installed in the site-packages and its location must be specified in the preferences)
  • some problems regarding 'zombie processes' after eclipse exit with the shells used for code-completion should be fixed

New on 0.9.7.99

  • PyDev has its first shot at Jython. you should be able to use many things already, meaning: all the common editor features and code completion.
  • The debugger is working.
  • Code completion has been improved for supporting wild imports and relative imports better (sometimes it had some problems).
  • There are hovers for the text and annotations (when you pass the mouse through an error it will show its description).
  • Block comment (Ctrl+4) now uses the size defined for the print margin.
  • New block-comment style added (Ctrl+Shift+4).
  • New icons were created.
  • Many other bug-fixes as usual.

New on 0.9.7

  • This release contains some high-priority bug fixes...

New on 0.9.6

  • Eclipse 3.1 is supported
  • Only java 5 is supported
  • Pydev builder ignores team private members
  • Print Margin indicator now displays correctly
  • Help docs are shown again
  • Text editor configurations are inherited from the text editor (and just extended in the preferences)
  • Auto-close parentesis and 'eat colon' (courtesy from Karol Pietrzak)
  • Some more bugs...

New on 0.9.5

  • Last release with java 1.4 support
  • File encodings now follow the python convention
  • Overview ruler now works
  • Editor is synchronized when working in multiple windows with the same file
  • Code folding improved
  • Syntax highlighting is not confused by escaped quote + triple quote anymore
  • Insertion of parentheses now replaces selected text

New on 0.9.4

  • Nice PYTHONPATH configuration, and it is used for running your files, PyLint, code completion...
  • Integrated Scott Schleiser patches for the debugger (you won't see any 'implement me' anymore!).
  • Integrated Heikki Toivonen patch for PyLint using the project pythonpath.
  • Integrated Heikki Toivonen patch for indentation after '(', '[' and '{' (if the line ends with a comma).
  • Some StackOverflow errors were removed from code completion.
  • Keybindings added for Refactoring (powered by bycicle repair man) - check the FAQ.

New on 0.9.3

  • Code completion is finished until 1.0 is released, so, if you`re missing something, please report it!
  • New Content Assistants added. Not very well documented right now, but I'll do it later...
  • Removed dependecy on java.internals packages, so, this should solve the problems some people had when updating to 0.9.2
  • Latest PyLint integrated.

New on 0.9.2

  • Scott Schleiser inside the editor... now on apply, it applies new settings, without restarting the editor.
  • Scott Schleiser inside the debugger... most 'implement me' and 'volunteers needed' were fixed.
  • New Content Assistants added.
  • Docstrings in national encodings should work.
  • from foo import bar, xxx, yyy... should work.
  • Custom colors for decorators and numbers.
  • Matching brackets highlighted.
  • Bugs: code-formatting and others...

New on 0.9.1:

  • Ctrl+Shift+O: Organizes imports or sorts selection alphabetically
  • Ctrl+Shift+F: Autoformat your code (preferences can be set)
  • Namespace and PYTHONPATH now are the same for debug and run
  • Code Completion has been improved: Parameters are gotten as completions, builtins like -- [], {} and '' -- return completions. Relative imports should be working (along with some other bug-fixes).
  • PyLint 0.6.3 integrated.

New on 0.9.0:

  • Code Completion bug for python 2.4 fixed.
  • Code Completion has other bug-fixes solved, mostly due to imports that it was unable to find.
  • PyLint 0.6 integrated.
  • New Python 2.4 syntax supported see notes here.
  • PyDev builders can be disabled (NOTE: some features might not work when this is done - see the FAQ).

New on 0.8.5:

  • Better Code Completion (Ctrl+Space)
  • Watch in debugger.
  • Background and current line color chooser.

New on 0.8:

New on 0.7.1: