After 1.5.0
Fixed invalid addition of 'self' patch from Tassilo Barth: http://sourceforge.net/tracker/?func=detail&atid=577329&aid=2882305&group_id=85796
After 1.4.7
Pydev Extensions
Created public API for starting/finishing debug server
Import based on unresolved variables works correctly when the document is changed
Ignore error works correctly when the document is changed
No longer showing the replace button for the search
Pydev
Debugger can jump to line
Reloading module when code changes in the editor if inside debug session
Usability improvement on the preferences pages (editor, code-formatter, comment block and code-style showing examples)
Pythonpath reported in the main tab was not correct for ironpython launch configs
Main module tab in launch configuration was not appearing for jython
Multiline block comments considering the current indentation (and working with tabs)
Hover works correctly when the document is changed
The interactive console no longer uses the UI thread (so, it doesn't make eclipse halt anymore on slow requests to the shell)
The interactive console save history now saves the contents in the same way they're written
When creating a python run, the classpath was being set (and overridden), which should only happen in jython runs
Fixed issue where a line with only tabs and a close parenthesis would have additional tabs entered on code-formatting
A Pydev (Jython) project can coexist with a JDT project (and properly use its info -- only project references worked previously)
Many small usability improvements (editors improved)
Verbosity option added to run as unit-test
No longer using respectJavaAccessibility=False for jython
When there are too many items to show in the debugger, handle it gracefully
After 1.4.6
Pydev Extensions
The interactive console can be used on the remote debugger
Remote debugger properly redirects contents from the server on multiple runs.
Providing context-independent completions when other completions are not available (until now, it only gave those completions for method parameters)
The number of chars required to show the context-insensitive completion can now be customized.
Fixed problem with Eclipse 3.5: "Invalid Thread Access" when trying to rename a class
Pydev
Iron Python support
Fixed issue when configuring interpreter on Eclipse 3.3 and 3.2 (was using API only available in 3.4)
Google App Engine
- Popup menus for google app engine are now working with eclipse 3.2
- Fixed issues when google app engine project has spaces in path
Launching
- Changed run icons
- F9 will now run the current editor based on the project type
- Run configurations can be created for the project
- Ctrl+F9 can be used to run as unit-test and select which tests will be run
- Run as unit-test can have --filter and --tests as a parameter set in the run configuration
Shift left can now shift even when there are less chars than the required indent string
Top-level modules on .egg files are now properly recognized
Auto-config fixed
Fixed problem when .pydevproject was not a parseable xml file (the pydev package explorer wouldn't work because of that)
When a new interpreter is created, it's properly selected in the tree
Code-completion better heuristic when analyzing function return that's called on self.
Code-completion in the interactive console now handles import sections correctly
Code formatter: Spaces after square and curly braces are no longer changed when an unary operator is found afterwards
Fixed problem when recognizing encodings (regexp was not correct)
After 1.4.5
Pydev
Google App Engine: customized setup and management of Google App Engine projects
String substitution variables can be used for pythonpath and launch config.
The interpreter can be referred from a user-editable name
Submodules shown on import completion (e.g.: from x|<-- request completion here will show xml, xml.dom, xml.etree, etc)
os.path added to default forced builtins
Showing better errors when code-completion fails
Fixed problem finding definition for java class when the constructor was referenced.
Fixed recursion error on Python 3.0 grammar
Jython debugger - local variables are properly updated
Multiple forced builtins can be added/removed at once
Python 2.6 grammar: kwarg after unpacking arg list
Python 3.0 grammar: star expr on for
Fixed problem on code-completion when file is not in the workspace (SystemASTManager cannot be cast to ASTManager)
Not throwing IllegalCharsetNameEx on illegal encoding declaration anymore (patch by Radim Kubacki)
__future__ imports are always added/reorganized as the 1st import in the module
Code-completion in Jython recognizes that a method get/setName should be available as a 'name' property.
Finding 'objects' for django
Pydev Package Explorer
- Added filter for the python nodes
- Showing configuration errors
- Showing the interpreter info
Pydev Extensions
Auto-import for from __future__ import with_statement will add a 'with' token instead of a with_statement token
Globals browser improved (only for Eclipse 3.3 onwards, older versions will have the old interface):
- Can filter with working sets
- Can match based on module names. E.g.: django.A would match all the django classes/methods/attributes starting with 'A'
After 1.4.4
Pydev Extensions
Derived resources are no longer analyzed
Pydev
- Better error handling in the grammar
- Code Formatter
- Can be applied from context menu (recursively applied for folders)
- Can trim whitespaces from the end of the lines
- Can add new a line to the end of the file
- Can automatically apply code-formatting on save
- Fixed issues with unary operators and exponential
- Fixed issues where parenthesis was lost if no closing parenthesis was available
- Python 3.0
- Parser supporting unicode identifiers
- Star expr recognized
- Python 3.1 version acknowledged (and proper grammar used)
- Pydev package explorer
- Can show working sets as top-level elements
- Folders without __init__.py are no longer shown as packages
- Interactive console
- When waiting for user input, the prompt is not shown
- Console initial commands compatible with Python 3.0
- Timeout for starting console communication while the shell is not fully initilized
- More info is available if connection fails
- Alt+R working (mnemonics set for pydev contributed menus)
- With Ctrl+2, matches will no longer take into acount the case
- Code completion: Can get args from docstring when '*' is present.
- Better heuristics for automatic insertion of "self" and "import"
- Fixed problem configuring external jars and zip files
- Launch getting interpreter from project on default config
- After a parenthesis, 'n' indentation levels may be applied (patch by Radim Kubacki)
- .pyc files are now marked as derived (note that this will only happen when they're changed)
- Fixed debugger issue with Jython 2.5b3
- Jython: completions working for static members access
- Hover works on Eclipse 3.2
After 1.4.3
Pydev Extensions
Pydev
When killing the shells only the default interpreter was actually cleared (now clears all).
Fix in the grammar when dealing with EOF and dedents
After 1.4.2
Pydev Extensions
Fixed racing conditions in the context-insensitive indexing which could corrupt the index.
Search references working on Eclipse 3.3 and Eclipse 3.4
Lambda properly treated as a new context for code-analysis
Analysis is now recognizing __name__
Analysis now marks variables used when accessed with augstore (+=)
Some definitions were not properly indexed on some assign cases
Pydev
- Interpreter configuration improved!
- Environment variables can be specified for a given interpreter
- Canceling operation now works correctly
- Interactive InterpreterThe interpreter to be used on the interactive interpreter can be chosen
- New modules can be created from templates
- Debugger getting variables on Jython 2.1 / 2.2
- Debugger using globals as an union of original globals+locals so that generator expressions can be evaluated
- Debugger: Breakpoints only opened on double-click (no longer on select)
- The project preferences are now applied even if the page to configure the project is not visible.
- Jython 2.5b1 working (problem with sitecustomize)
- Wrap paragraph fixed
- Set comprehension working on Python 3.0 parsing
- Find definition working when a module outside of the known pythonpath is found
- Source folders were not properly found sometimes -- when workspace was not properly refreshed
- Invalid modules could get in the memory
- Getting the grammar version for a project could be wrong (and could loose its indexing at that time)
- Multiple external zip files can be added at once to the pythonpath
- nonlocal added to keywords
- Fixed problem where cursor was jumping when it shouldn't (outline)
- Fixed problem where the breakpoint could be lost (now, playing safe and matching anything in the file if the context cannot be gotten)
- Ctrl + 2 + --reindex can be used to reindex all the opened projects if the indexing becomes corrupt
- Changing nothing on project config and pressing OK no longer reanalyzes the modules
After 1.4.1
Pydev Extensions
- Fixed code analysis problem on staticmethod
- Context insensitive code-completion working with multiple interpreters
- Giving proper warning on version mismatch
- Remote debugger fix
Pydev
- Interpreter can be configured on a per-project basis
- Jython 2.5b0 properly supported
- Find working for Jython builtins
- Run: can be python/jython even if it doesn't match the interpreter configured for the project
- Fixed problem on find definition if one of the interpreters was not configured
- Fixed halting condition that could occur on code-completion
- __file__ available in code-completion
- Reorganized preferences (removed editor preferences from the root)
- Preferences for showing hover info
- Fixed problem when formatting binary operator that was in a new line
- When converting spaces to tabs (and vice-versa), the number of spaces for each tab is asked
- Debugger
- When finishing the user code debugging, it doesn't step into the debugger code anymore
- Fixes for working with Jython
- Fix for Python 3.0 integration (could not resolve variables)
after 1.4
Pydev Extensions
Bug while validating license
after 1.3.24
Pydev Extensions
- Python 3.0 supported
- Python 2.6 supported
- Code-analysis: Was locking caches for too long (which could end up having stale results)
Pydev
- Python 3.0 supported
- Python 2.6 supported
- Find Definition: The context-sensitive code to find a definition from Pydev Extensions is now available (and used) in the open source version
- Hover: Showing docstring on hover (currently only available for files that are not analyzed as builtins)
- Hover: Showing variables on hover while debugging
- Parser: One thread could corrupt the parse of another one (because of some static variables)
- Parser: Major refactoring which also made the parser faster
- Task tags: The task tags that are created by the user are no longer removed
- Code formatter unary operators don't have a space added
after 1.3.23
- Code-completion when a relative import was used from __init__ and the imported module used a token from the __init__ in a 'full' way, pydev did not recognize it
- DebuggerFixed debugger halting problem
- Debugger and JythonDebugger working with Jython (itertools and pid not available)
after 1.3.22
Pydev Extensions
- Code-analysis: Fixed condition that could make code-analysis get into a halt depending on the code structure
- Remote Debugger: Can properly debug multiple processes concurrently
- Remote Debugger: Makes the proper setup of breakpoints when pydevd.settrace is called with suspend=False
Pydev
- Can cancel scanning of files (Radim Kubacki)
- Detection of symlink cycles inside of the pythonpath structure (could enter in a loop) (Radim Kubacki)
- Removed log message if log is not enabled
- .pyc remover not giving error anymore
- Fixed code-completion bug when importing token with the same name of module where it's declared (datetime.datetime)
- Assign with tuple not being correctly handled in the type-inference engine
- Nature no longer initialized by shutdown
- Code-completion works when inner method is declared without self
- __all__: when imported no longer filters out the builtins from the current module on a wild import
- Fixed problem in update site and Eclipse 3.4 (after installed could prevent other plugins from being installed -- compatibility problem on eclipse 3.4 and old versions of Pydev)
after 1.3.20
Pydev Extensions
- Code-analysis: Option to analyze only active editor
- Code-analysis: works on case where imported module has same name of builtin.
Pydev
- Debugger: Pythonpath is the same in debug and regular modes (sys.path[0] is the same directory as the file run)
- Debugger: Choices for paths not found are persisted
- Code-completion: If __all__ is defined with runtime elements (and not only in a single assign statement), it's ignored for code-completion purposes
- Code-completion: Works on case where imported module has same name of builtin
- Editor: Cursor settings no longer overridden
- Interpreter config: "email" automatically added to the "forced builtins"
- Parser: Correctly recognizing absolute import with 3 or more levels
- Syntax check: Option analyze only active editor
- getpass.getpass: No longer halts when run from pydev (but will show the password being written)
- Remove error markers: Context menu in folders to remove error markers created
after 1.3.19
Pydev Extensions
- Code Analysis: Show error if using token not defined in __all__ in wild import.
- Search: Working with eclipse 3.4.
Pydev
- Pydev Package Explorer: Editor-link does not remove focus from current editor if it's already a match (bug when compare editor was opened)
- Pydev debugger: Showing set and frozenset contents
- Pydev debugger: Watch working in eclipse 3.4
- Pydev debugger: Breakpoint properties accept new lines and tabs
- Pydev debugger: Workaround for python bug when filenames don't have absolute paths correctly generated
- Pydev code-completion: Wild import will only show tokens defined in __all__ (if it's available)
- Interactive console: Fixed problem when more attempts to connect were needed
- Interactive console: Fixed console integration problem with other plugins because of interfaces not properly implemented
- Incremental find: Backspace works correctly
- Launch icons: Transparent background (thanks to Radim Kubacki)
- Code Formatter: Exponentials handled correctly
- Launching: Unit-test and code-coverage may launch multiple folders/files at once
- Code coverage: Number format exception no longer given when trying to show lines not executed in the editor and all lines are executed
- Auto-indent: Fixed issue when using tabs which could result in spaces being added
after 1.3.18
Pydev Extensions
- Code Analysis: Not all unused imports are shown in the message anymore (could give problems saving workspace).
- Code Analysis: Fixed problem on double cycle in list comprehension.
- Interpreter config: The initial parse of the modules is much faster.
Pydev
- Eclipse 3.2: Interactive console working / fixed some incompatibilities
- 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 was being entered, the text to the end of the line was being deleted
- Code Formatter: can deal with operators (+, -, *, etc)
- Code Formatter: can handle '=' differently inside function calls / keyword args
- Fixed problem while navigating pydev package explorer
- Applied patch that fixes race condition in PythonNatureStore (thanks to Radim Kubacki)
- Applied patch that fixes race condition in PythonNature (thanks to Radim Kubacki)
- Fixed bug related to having multiple editors with the same file (while having the spell service on)
- Fixed bug related to having the pythonpath lost on closed/imported projects
- Applying a template could have the wrong end line delimiter applied
- Fixed NPE when creating editor with no interpreter configured
- Hyperlink works in the same way that F3 (saves file before search)
after 1.3.17
Pydev Extensions
- Auto-import: Groups imports when possible.
- Auto-import: Doesn't bring imports for completions already in the document even if a parse is not successful.
- Organize Imports (ctrl+shift+O): Suggests imports to the undefined tokens in the editor.
- Import quick-fix: Icons correspondent to the element being imported.
Pydev
- Executing external programs: Using Runtime.exec(String[] cmdargs) instead of the version accepting only a string.
- 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: 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.
after 1.3.16
Pydev
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 in Eclipse 3.4
after 1.3.15
Pydev Extensions
- Code Analysis: __path__ Not correctly found on some situations.
- Local rename (ctrl+2+r): Positions correctly ordered for tabbing.
Pydev
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
after 1.3.14
Pydev Extensions
- Globals Browser: Was not correctly showing definition on a case with multiple projects when one did not have the python nature configured.
- Code Analysis: False positive fixed: Classes defined within a class context are correctly found when later accessed in the parent context.
- Interactive console integration
- Context insensitive completions with auto-import
- Ctrl+Alt+Enter: can be used to:
- Create console if no console exists
- Send selected text to console
- Make execfile for current file if there's no selected text
Pydev
- 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
- Limitations
- Output is not asynchonous (stdout and stderr are only shown after a new command is sent to the console)
after 1.3.13
Pydev
- Outline view: patch by Laurent Dore adding better icons for different types of fields methods.
- Outline view: patch by Laurent Dore adding 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: see blog post.
- Debugger: handles return events correctly.
- Go to previous/next method: (Ctrl+Shift+Up/Down): More reliable: does not depend on having a correct parse anymore.
- Auto-formatting: No space after comma if next char is new line.
- New project: Marked as python 2.5 by default (was python 2.4).
- Code Completion: Handling of completions defined as attributes in classes (accessed from outside of the class).
- Auto-indent: Better handling when indenting to next tab position within the code.
Extensions
- Local renames: scoping issues.
- Local renames: comments/strings only renamed in local scope for local variable.
- Wrong undefined variable: a base-class could be raised as undefined if used in a method scope.
after 1.3.12
Pydev
- Outline view: working correctly again.
- Keybinding conflict: Alt+shift+T+XXX refactoring keybindings were defined in the global scope and not only in the pydev scope.
- Hyperlink: Using new hyperlink mechanism (added at Eclipse 3.3).
Extensions
- Debug Console: will print exceptions raised during the evaluation.
- Debug Console: will print the result of the evaluation if a valid statement is sent (so, 'print' is not needed for simple evaluations anymore).
after 1.3.11
Pydev
Extensions
- Optimization: Mark occurrences only requested on mouse-clicks and cursor changes.
- Code-Analysis: No longer running in UI-Thread (which slowed things down in 1.3.10 and 1.3.11).
- Code-Analysis: Cache optimizations.
- Code-Analysis: Fixed 'statement without effect' when raising exception with arguments without using the exception constructor.
- Code-Analysis: Fixed 'statement without effect' on tuple creation.
- Code-Analysis: __path__ found for packages (__init__.py files).
- Context-insensitive info: Correctly updated when code-analysis is off (or if file is not analyzed).
after 1.3.10
Pydev
- 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
Extensions
- Code-analysis: Statement without effect false positive on yield.
- Code-analysis: @DynamicAttrs now works in direct class access (not only on instance access from a class).
- Code-analysis: Names to consider in global do not trigger undefined variables when used with attribute access.
- Code-analysis: Accessing locals() will mark local variables as read.
- Code-analysis: No indentation warnings on multiline strings that use double quotes.
after 1.3.9
Pydev
- 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).
Extensions
- Code-analysis: Doesn't report 'statement without effect' within list comprehension.
- Context insensitive code completion: Shows contents of zips/eggs/jars
- Go to definition: Working with zips/eggs/jars.
after 1.3.8
Pydev
- 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: package icon for folders under the pythonpath.
- Unittest runner: handles multiple directories.
Extensions
- Code-analysis: detects bad indentation (wrong number of indent chars).
- Code-analysis: Class may be marked with '@DynamicAttrs' so that the code-analysis doesn't give undefined variable errors.
See Code Analysis for more details.
- Mark-Occurrences: Bugfix: a class that had a call would not be recognized sometimes.
- Rename Refactoring: Could get lost when different heuristics yielded the same result.
after 1.3.7
Extensions
- Code-analysis: detects mixing of spaces and tabs.
- Code-analysis: Reimport not flagged when inside of try..except ImportError.
Pydev
- Fixed problems related to the pydev package explorer that appeared when using java 1.6 (ConcurrentModificationException)
- Other minor bug-fixes
after 1.3.6
Bug Fix: Builtins were not correctly used after specifying interpreter (so, the builtins and other system libraries would not be available in completions/code-analysis).
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
after 1.3.5
Bug Fix: Builtins were not correctly used after specifying interpreter (so, the builtins would not be available in completions/code-analysis).
Patch: Carl Robinson: PyLint severities can now be specified.
after 1.3.4
Pydev Extensions:
- Auto-Import:
- Import is now set in correct line even with multi-line imports.
- Added option to disable the introduction of auto-imports.
- Added option to remove modules that start with '_' from the imports (so, tokens would have to be found in __init__.py files).
- Code Analysis: Having a list comprehension with a subscript was not being treated correctly.
- Debugger: Working with jython.
- Debugger: Working with wxPython.
Pydev:
- 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 '---'.
after 1.3.3
Pydev:
- 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).
Pydev Extensions:
- Mark Occurrences: 'global' used in the global scope is correctly treated.
- Code Analysis: __builtins__ considered in global namespace
after 1.3.2
Pydev:
- 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.
Pydev Extensions:
- Quick-fix: When an import is added from the auto-import quick-fix, a code-analysis is requested right after it.
- Minor bugs fixed.
after 1.3.1
Pydev
- 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
Pydev Extensions:
- Fix: The vmargs in the interactive console are now only really passed to the jython process
- Fix: Rename refactoring was not getting some references that mapped to imports initially (and not directly to classes or functions)
- Fix: Mark Occurrences marks correctly the keyword parameters in referencing calls
after 1.3.0
Pydev
- Mylar is now integrated in the pydev package explorer (separate feature: org.python.pydev.mylar.feature)
- Code-completion: comment completion is now the same as string completion
- Debug: Brekpoints can be set in external files
- Debug: Brekpoint annotations now show in external files
- Package Explorer Filters: filter import nodes
- Fix: Package Explorer Actions: Open action does not expand children when opening python file
- Fix: Project Explorer (WTP) integration: works with elements from other plugins (such as java projects)
- Fix: halting problem: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
Pydev Extensions:
- Interactive Console: jython process can receive vmargs (configured in the preferences page)
- Code-Completion: auto-import completions will not be brought for tokens in the current module
- Code-Completion: auto-import inserted as last import in imports list, so that it does not break __future__ imports
- Code-Completion: auto-import will not bring completions for imports that already exist in the module
- Code-Analysis: Only adds 'unused parameters' in methods that have some 'valid' statement (not only 'pass' and strings)
- Fix: Find Occurrences: will not 'overlap' occurrences anymore
- Fix: Code-Analysis: deep attribute access after finding __getattr__ does not signal unresolved import errors anymore
after 1.2.9
Pydev Extensions:
- Find References: Ctrl+Shift+G can be used to find the references to the selected token in the editor
- Fix: Code-analysis: Fixed false positive for statement with no effect
Pydev
- 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)
after 1.2.8
Packaging problem
after 1.2.7
- 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
Pydev Extensions:
- Code-analysis: when a compare statement is found out of a test scope, that's reported as a warning
- Mark Occurrences: new option to choose whether strings and comments should be highlighted
- Simple Completions: some keywords were removed from the default list (the 2-letter ones because they're barely worth it and those related to 'try', as there's already an assistant that creates 'try' blocks)
- Rename refactoring / Mark Occurrences: matches in multi-line strings are now correct
after 1.2.6
Pydev:
- 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
Pydev Extensions:
- Mark occurrences and rename now will also get the tokens in comments and strings
- Rename refactoring bugfixes (but still BETA)
- The remote debugger port can now be specified
after 1.2.5
Pydev:
- 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: Cancelling the addition of an interpreter no longer raises any exceptions.
- 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)
- Minor fixes in the grammar
- Grammar Patch by Ueli Kistler, Dennis Hunziker
Extensions:
- Added refactoring support for rename (still BETA, so, review your changes before applying them)
- Keybinding: Alt+Shift+R
- Supports preview
- Integrated in the editor (but not in the package explorer, so, it can rename a module, but only through an import to that module)
- Supports undo/redo
- Rename class
- Rename method
- Rename attribute
- Rename imports
- Rename local variable
- Menu changes:
- Now the debug/navigate actions are all under a 'Pydev' menu
- The pydev navigate action is now only initially shown in the pydev/debug perspective
- The pydev remote debugging actions are now only initially shown in the debug perspective
- Fix: code analysis problem when working with nested list-comprehensions
- Fix: go to definition sometimes failed to find module definitions
after 1.2.4
Pydev:
- 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
Pydev Extensions:
- Minor bug on mark occurrences fixed
- The quick outline now will go to the 'sole item' in the tree even if it is not selected (and OK is pressed)
after 1.2.3
Pydev:
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 (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)
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 kovan)
Pydev Extensions:
Code analysis: analysis on imported modules do no longer give you errors on:
- classes that have __getattribute__ overriden
- assigns that are initially None
- assigns to a function call and not a class definition
Completions for parameters in a context-insensitive way, looking for all the methods/attributes declared in classes available to the project (after 3 chars)
Note: Builtins are still not handled here.
after 1.2.2
Pydev:
- When the user specifies an invalid interpreter, a better error report is given (it was only shown in the error log previously)
- When threads die, the debugger is notified about it (to remove them from the stack)
- Made writing the preferences buffered
- Fixed problem when debugging in jython with (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
- Darrell: unit-test refactoring and run as jython unit-test
- Joel: 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 to the parser
- Added the new if expression to the parser
- Added the unified try..except..finally statement
- Added the with x:... statement
- indenting after the new with statement
Pydev Extensions:
- Added support for python 2.5
- Fixed some minor issues on mark occurrences when the definition for something could not be found
after 1.2.1
Pydev:
- Getting in completions for the pattern a,b,c=range(3) inside a class
- Errors getting the tests to run are no longer suppressed
- Calltips added to pydev
- Parameters gotten from docstring analysis for builtins that don't work with 'inspect.getargspec'
- The parameters are now linked when a completion is selected (so, tab iterates through them and enter goes to the end of the definition)
- Ctrl+2+kill also clears the internal cache for compiled modules (especially useful for those that create compiled dependencies).
- 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 class: MyClass(). <-- will bring correct completions
- Code-completion can now get the arguments passed when instatiating a class (getting the args from __init__)
- paths are remembered when configuring the pythonpath
- self is added as a parameter in the completion analyzing whether we're in a bounded or unbounded call
- Possibility of setting pyunit verbosity level (by Darrell Maples)
- Pressing Ctrl+Space a second time changes default / template completions
- Added option for hiding comments and imports in the outline view
- Persisting outline view configuration
- Added option for expanding all in the outline view
Pydev Extensions:
- Handling nested 'for' and list comprehensions correctly in code-analysis
- Mark occurrences bug-fix
- Duplicated signature is no longer warned inside an if..else
- The binding for creating the interactive console and passing commands has been changed to Ctrl+Alt+Enter (because Ctrl+Enter is used when applying a toggled completion)
- Added the 'toggle completion type' when ctrl is pressed in the code-completion for context-insensitive data
- When getting some definition, if it is defined by an import..from, it keeps going until the actual token is found
after 1.2.0
Pydev:
- 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.
Pydev Extensions:
- Bug-Fixes
after 1.1.0
Pydev:
- 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 show (again) in the editor
- Other bugs fixed
Pydev Extensions:
- Interactive console: content is now changed so that you don't have syntax errors when passing code to it.
- An action was added to the menu so that you can use the 'globals' browser without needing focus on the pydev editor.
after 1.0.8
Pydev:
- 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
Extensions:
- mark occurrences improved
after 1.0.7
Pydev:
- single bug-fix: enter could lead into loop
Extensions:
- rename occurrences forces parse
after 1.0.6
Pydev:
- 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
Extensions:
- Mark Occurrences: find all the occurrences of the selected token in the file (python-aware)
- Ctrl+2+r: rename all the occurrences of the selected token in the file (python-aware)
- Remote debugger can redirect the output to the client (the signature for starting the remote debugger became settrace(host='localhost', stdoutToServer = False, stderrToServer = False))
- It is now possible to map the locations from the server to the client even if they are not in the same exact paths
- Ctrl+2+c: force code-analysis in the current editor
- The find hierarchy was improved and can now find children classes in referencing modules
after 1.0.5
Pydev:
- 3 minor 'quirks' were fixed when indenting
- 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)
- assign params to attrs (by yohell)
Pydev Extensions:
- Analysis happens in a Thread, so, you should now always have the latest parse without any halts (this happened only when the option was set to analyze only on save).
- Class variable marked as error when self ommitted
- when an undefined import is found within a try..except ImportError, it will not be reported.
- Allow changing the keybinding for activating the Interactive Console (Ctrl+Enter)
- Added a simple text-search that looks for in all .py and .pyw files (will be improved in the future to make a real python-like search).
- New Feature: Show hierarchy (F4) -- Still in a beta state (currently only looks for subclasses on the same project).
- The keywords that match the 'simple' keywords completion do not show up.
after 1.0.4
Pydev:
- 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)
Pydev Extensions:
- Made the pop-up pop 'less' while in evaluation
after 1.0.3
Pydev:
- 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
- Added jython scripting
- Profiled Pydev (and I'm hoping you'll actually "feel" the difference) -- It is awesome when you see that 90/10 in action (altough I think it is something more like 99/1).
- Added a 'go to next problem' with jython scripting capabilities, as a first example on how to script Pydev with Jython (Ctrl+.)
- Fixed bug: the pythonpath was not added when additional environment variables where specified
Pydev Extensions:
- Python and Jython interactive console (Ctrl+Enter)
after 1.0.2
Pydev:
- Fixed error while organizing imports with the construct from xxx import (a,b\n c)
- 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) -- Thank 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
- Auto-dedent for else: and elif constructs
- Added color customization for the function name and class name
Pydev Extensions:
- Added open definition 'quick dialog' - Ctrl+Shift+T: Enables the user to find any global (class, method or attribute) definition,
including methods and attributes from classes (does not show only 'top-level' tokens).
- Code analysis minor bugs fixed
- Added a 'memento' for the Quick outline layout
after 1.0.1
Pydev:
- 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
Pydev Extensions:
- New feature in the debugger: the console is available for probing when in 'suspendend mode'
- New feature in code analysis: Provided a way to consider tokens that should be in the globals
- Halt fix when too many matches where found in the go to definition.
- Code analysis minor bugs fixed.
- Error when opening browser fixed.
after 1.0
- Single fix: out of memory setting interpreter
after 0.9.8.7
- Minor bug: if there was no other project to reference in the new project wizard, it appeared next even though
it didn't have a 'next' page.
- Debugger speed up (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 too (configurable).
- PyLint 0.9.0 tested
- PyLint errors now show in the hover
- The Pydev perspective was changed (so, please, close the current and open a new one)
- 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
after 0.9.8.6
- Fixed debugger so that tracing does not appear
- Fixed jython shell (and extended it to get better information).
- 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)
after 0.9.8.5
- Conditional breakpoint added (Achim Nierbeck)
- New python project (Mikko Ohtamaa)
- New python module (Mikko Ohtamaa)
- Python launch configuration tabs reworked (Mikko Ohtamaa)
- Some locking problems were fixed when doing code completion
- Faq has been extended with more doubts
after 0.9.8.3
- Saving information as deltas
- Option for not using smart-indent after opening brackets
- License changed
- Bugfixes
Begginers guide draft (from Jack Trainor - given in the blog)
* Unzip eclipse-SDK-3.1.1-win32.zip to c:\
* Unzip org.python.pydev.feature-0_9_8_3.zip to c:\
* Double-click c:\eclipse\eclipse.exe
* Set default workspace where you want it.
* Close Welcome splash pane.
* Select Resource perspective: Window\Open Perspective\Other...\Select Perspective\Resource.
* Click OK.
* Select Window\Preferences\PyDev\Interpreter - Python.
* Click top New... button and enter Python path, e.g., c:\Python24\python.exe
* Click OK.
* Click File\New\Project...
* Select Simple\Project Wizard
* Click Next.
* Enter Project Name, e.g. SimpleProj1.
* Click Finish.
* Click File\New...\File.
* Enter File Name, e.g. Py1.py.
* Click Finish.
* Right-click SimpleProj1 in Navigator pane and select Properties.
* Click PyDev-PYTHONPATH.
* Click top pane "Add source folder" button.
* /SimpleProj1 should already be selected. Click OK.
* Click top pane "Add source folder" button.
* Add path to source folder on disk, e.g., C:\Dev\eclipse\SimpleProj1.
* Click OK.
* Add some Python code to Py1.py:
print 'Hello from eclipse and python."
* Save.
* Right-click on Py1.py in Navigator pane.
* Select Run as\Python run.
* A console window should appear showing output from the Python program.
I think the problem I experienced resulted from my closing all the eclipse windows and working from a bare desktop when I started. I thought that would make things simpler; apparently not so.
Anyway, thanks for your work in putting Python on Eclipse.
after 0.9.8.2
- 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
after 0.9.8.1
- Dedent also added
- Options for doing parsing only when saving the document (check the builder preferences)
- Options for doing parsing only after an elapsed time (check the builder preferences)
- .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)
- other bug-fixes (as ususal)
- some creation assists have been removed until they are improved (so, Ctrl+1 now is pretty stable for all of its uses)
and the structure has been changed to enable extensions
- 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
after 0.9.8
- Gerhard Kalab contributed patch to:
- enable bold and italic style for syntax coloring
- added parse rule and color/style for string representation (backquotes)
- java 1.4 support reintroduced
- zombie process after exiting eclipse reviewed
- 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
after 0.9.7.99
- jython integration supports spaces for jython.jar and java install
- jython debugger support has been added
- jython code-completion support for new style objects (jython 2.2a1) has been enhanced.
- many templates were added
- the grammar evolved a lot (and will probably be re-used by the jython guys),
so, now you can actually use decorators (not in a hackish way as previously),
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 (its location must be specified)
- some problems with the shells used for code-completion should be fixed
done in 0.9.7.99
- 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).
- The debugger had many fixes (altough it is still not perfect). Thanks to Aleks Totic, Scott Schlesier and Vitor Oba for the patches!
- Jython has its first shot at PyDev, you should be able to use many things already, meaning: all the common editor features and code completion.
- New icons were created.
- Many other bug-fixes as usual.
what I want:
- simple "text completion" for locals without found definitions:
e.g.
c.bla = 1
c.foo = 2
c. | triggers completion with bla,foo
- code completion with self variables should be an union of all found occurences (right now, it finds the
first and gets completions based on it, so, some strange behaviours can happen... e.g.: if the first occurence
found maps to None, even if some other value finds the correct class, it is ignored. What we should have is
the union between the completions from None and the other class).
- imports in local scope should be gotten
- pythonpath should be the same for project and lauch
- IPython should be integrated
- code completion: support zip imports
- code completion: reference to update completions for other project. Some kind of 'broadcast' could be used for these changes.
- code completion: some thread could check for completions from time to time to make sure they're up-to-date (check timestamp)/changes in structure.
- code completion: ClassC().| should bring suggestions for class 'ClassC'
After 0.9.3
- 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 (only tested on windows). Please, keep an eye for errors and report them.
- 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.
- If your python executable is in the path, its complete path is found.
Bug:
PyLint does not work if we have spaces in the path
After 0.9.1
- Integrated Scott Schleiser's editor patch (now on apply, it really applies new settings, without having to close the editor).
- Integrated Scott Schleiser's debugger patch - most 'implement me' and 'volunteers needed' were fixed.
- Code Formatting bugs solved (and unit-tests added).
- Code completion had unit-tests added and some minor bugs solved.
- New Content Assistants added.
- Docstrings in national encodings should work now.
- from scbr import a, b... should work now.
- Decorators now can have custom colors.
- Numbers now can have custom colors.
- Matching brackets now highlighted.
- Minor bugs in other areas.
Done in 0.9.1
Content assistant improvements:
- assign content assistant when assigned to variable strips the "get";
- move imports content assistant should be improved to move import closer to existant import and
not to top of file;
- Icons added to them;
Others:
- Ctrl+Shift+O: if no selection: Organizes all global imports from the file (sorts alphabetically);
- Ctrl+Shift+O: if some line selection: sorts alphabetically the lines selected;
- Ctrl+Shift+F: if no selection: Formats all code;
- Ctrl+Shift+F: if some line selection: Formats selected code;
- PyLint only blocks interface on "update results";
- the namespace in debug mode is not polluted anymore (Scott Schleiser provided the patch);
- The PYTHONPATH used for debug now should be the same used in run.
- Editor preferences
Code Completion:
- get parameters in code completion;
- builtins like ' ', {}, [] should bring correct suggestions;
- relative imports;
- other bug-fixes;
org.python.pydev
Since 0.3
New features:
- Added team file extensions for .py & .pyc
- Added "Source" menu to the editor: comment/goto methods implemented by fabioz
- Added Python nature, and nature icon. Nature get automatically added to any project
that opens a python editor.
- Added Python properties to projects that have Python nature
- Editor now has a python icon. Icon is ugly, help!
- .pyc files are filtered out in the resource view
- Parsing now happens either immediately on return, or a second after input
This makes error notifications nicer and more predictable
- New double-clicking strategy, copied from Java
- Moved debug preferences into main plugin. We need them for import paths parsing
- Hyperlinks on simple imports now work. For them to find system includes, you'll need to
set up the python interpreter in the preferences.
active hyperlinks are:
[imports] import sys: you can click on sys, and sys.py will open
[local function calls]: functions defined in the same file
[class constructors]: a = SomeClass() takes you to class definition
[self.method calls]: self.method_name works if method is defined in the same file
- When you are editing in the tab mode, paste will replace spaces with tabs
- tabs/spaces conversion only takes place inside code, not inside comments
- IDLE like colors for text
Bug fixes:
- Moved parsing so that all pydev parsers use single thread
-