Saturday, July 10, 2010

IronPython Tools for Visual Studio CTP3

At PyCon this year Dino Veihland announced IronPython Tools for Visual Studio, an extension to Visual Studio 2010 for working with IronPython. It features Python syntax highlighting, awesome auto-complete (intellisense) and a host of other features for working with IronPython code in Visual Studio. It can be used with the free Visual Studio shell and doesn't require you to own a full copy of Visual Studio.

The third CTP (Community Technology Preview) has been made available for download.

We are happy to announce a minor update to the IronPython Tools for Visual Studio.  IronPython Tools for Visual Studio (IPyTools) is a set of extensions available for Visual Studio 2010 which supports development of IronPython applications.  This release is our 3rd Community Technical Preview (CTP) and builds upon the previous two releases.  The release is a minor update which includes bug fixes and a number of small features.  You can download the latest release at http://www.ironpython.net/ironpython/tools/
There is also one major change in that the project system is no longer based upon the files which live on disk.  Instead we now follow the normal VS project model.  This means files must be explicitly added to the project and files which you don’t want in the project won’t automatically show up.  We made this change based upon feedback from people using the tool and think it will make it more familiar for normal Visual Studio users.  Despite this change there is still support for an “implicit” project when working without a project.
Like the previous release this release includes support for Intellisense including member completion, signature help, find all references, and goto definition.  It enables quick browsing of your code using the object browser and the editor navigation bar.  It has an interactive (REPL) window that enables the development of applications in an interactive way.  IPyTools supports lightweight development without a project as well as working with project files in the tradition of Visual Studio .  Opening a .py file causes IronPython Tools to model the code in the containing directory as an implicit project for Intellisense features.   There are project templates for console, WPF, WinForms, and Silverlight applications.  WPF applications support drag-and-drop UI development.  Debugging of Python applications works just like you debug other languages in Visual Studio.
We are still working on our final licensing terms for IronPython Tools, and as such this release is licensed under a temporary limited use license.  While we weren’t able to finalize this for this release we expect to have this finalized for the next release.
The full list of changes includes a number of bug fixes:
  • Interactive window now respects VS color settings
  • Fixed default settings for insert tabs, enter completing options, list of characters to complete to
  • Fixed auto-indent inserting extra tabs on a blank line
  • Enables usage of VS common settings for smart indentation and tabs and respects those options.
  • Escape in REPL cancels both the intellisense session and the current input
  • REPL: When a completion item is focused but not selective enter should not complete it
  • REPL: We should respect the various intellisense completion options
  • REPL: We should be using IronPython’s auto intending
  • Fix repl not respecting smart up/down on startup if the window was set to be open
  • REPL: Don’t allow history if the current command is still running – instead navigate the buffer
  • REPL: Enable syntax highlighting even if a command throws an exception
  • REPL:     Remove trailing new lines from REPL history so we go back to the last line of input
  • REPL: When pasting ensure there’s a new line
  • REPL: Auto indent should delete selected lines when pressing enter
There are also a few new features:
  • New Fill Comment Paragraph feature
  • Implemented auto-dedent so it will backspace # of tabs
  • Support for disabling intellisense via normal VS mechanism
  • Support for hiding “advanced” members in intellisense (currently defined as __abc__ members)
There is one major change:
  • Removes directory based projects in favor of normal VS style projects
- The IronPython Team

No comments:

Post a Comment

Note: only a member of this blog may post a comment.