What's New in Version 4.5
IDE
- Ability to delete a recent project from the Welcome screen
- Distraction-free mode
- Support for configurable issue states
- New print keywords
Python Support
Code Editing
- Executable scratch files
- Ability to select multiple text fragments
- Selection from the current caret position to the beginning/end of line
- Ability to launch an external diff tool
- Differences viewer: changing behavior of the chevron buttons
- Support for Emmet JSX
Configuring Project and IDE
- New directory type is available: resources
- Ability to copy rich text by default
- Option to enable/disable lens mode
- Simultenous change of opening and closing tags
- Emmet CSS, JSX and XML are configured on different pages
- Ability to mark folders as resource roots
- Option to toggle popping up the browsers menu
- Diff settings page: ability to specify the number of context lines, and to change behavior of the arrow buttons
- Merged configuration of a file and folder external diff tools; added 'Use by default' check box
Refactoring
- New Python refactorings: convert to module/package
- Move Module Members refactoring allows moving top-level symbols
- Move Module Members Dialog
Languages, Frameworks and Technologies
- IPython Notebook support: kernels, standard toolbar buttons
- Launching IPython Notebook kernel
- Matplotlib in the debug tool window console
- Multiple vagrant configurations
- Built-in TypeScript Compiler
Tool Windows
- Project tool window: Scratches view
- The 'Changes' tool window is merged with the 'Version Control' tool window
Running
- The run icon toggles to indicate that the application is currently running
- Copy url item is available on the context menu
Debugging
- The debug icon toggles to indicate that the debugging process is running at the moment
- Inline debugging
- Ability to ignore exceptions thrown in the libraries
- Step Into My Code icon on the stepping toolbar
- The copy value command copies the structure for multiple selections
- Jump to Source command allows navigating to the corresponding location in the source code
- Jump to Type Source command allows navigating from an object to a location where its type is defined
- Copy url item is available on the context menu
Markup languages and style sheets
Version Control
- Mercurial: possibility to close branches from the Branches popup
- Ability to use annotation colors to indicate how recently a change was made
- Ability to annotate the revision after the selected change was committed
- Ability to annotate the previous file revision
- Ability to get to the next/previous file when the last/first difference is reached
- 'Possibility to select the update method in Git settings
- Possibility to expand a column with full root names in log view
- Possibility to filter commits by folder and root (for multi-root projects) in log view
- Possibility to highlight your commits
- A new intellisort action added to the log view toolbar
- The get branches button in the git pull changes dialog is back
- Possibility to define remotes directly from the Push dialog (Git and Mercurial)
Inspections
- New Python inspection: Redundant parentheses
JavaScript Support
- Spy-js: Advanced navigation through trace files based on calls
- Spy-js: stop capturing events witout stopping the application (Mute All)
- Spy-js: Source maps are supported
- Spy-js: Advanced search for calls of a function across all events
- Spy-js: Setting timestamps
- Spy-js: Application dependency diagram
- Improved integration with Grunt ensures fast navigation between tasks and consistent experience whether you use Grunt or Gulp
- Emmet support for JavaScript JSX Harmony
- Search in Spacebars templates
What's New in Version 4.0.4
Configuring Project and IDE
Debugging
What's New in Version 4.0.2
Version Control
What's New in Version 4.0
IDE
- Quick way to add carets and selections
- Command 'Next Edit Location' has been added to the 'Navigate' menu
- Desktop icon is added to the toolbar of the Select Path dialog
Python Support
- Improved package management
Package management now recognizes unmet package requirements better. Improved UI shows progress on package installation. In case of errors, PyCharm suggests possible solutions.
- Initial python 3.5 support
Code Editing
- Scratches
- 'Expand Recursively' option is available in the Code | Folding menu
- 'Collapse Recursively' option is available in the Code | Folding menu
- 'Expand to level' option is available in the Code | Folding menu
- 'Expand all to level' menu option is available in the Code | Folding menu
- Configuring code style with EditorConfig
Configuring Project and IDE
- Commands to manage groups of breakpoints and change breakpoint descriptions
- Ability to disable drag-n-drop
- Backspace smart indent
- Improved UI of the code style settings
- New code style setting
Detect and use existing file indents for editing: detects certain Code Style settings in the currently edited file on the fly. Even if a file has its code style different from the current settings, they will still be preserved.
- Ability to detect code styles on the fly
- JSON code style
- Ability to define scopes for several inspections
- Ability to bind custom shortcuts to live template expansion
- Abbreviation expansion limit
- IPython Notebook: ability to configure URL
- Ability to automatically accept non-trusted certificates
Languages, Frameworks and Technologies
- Tracing NodeJS applications with Spy-js
- Expanding the Basic Completion List with Runtime Data (Spy-js Autocompletion)
- Evaluating Expressions without Running a Debugging Session (Spy-js Magnification)
- PhoneGap/Cordova/Ionic Support
- Initial support for IPython Notebook: coding assistance, ability to run cells
- Matplotlib support
- Behave support
- Lettuce support
- JSON support
Navigation and Search
Debugging
- Named breakpoints
- Groups of breakpoints
- Show value on selection change option is available in debugger settings
- Evaluation of operator expressions, lambda expressions and anonymous classes
- Ability to attach to a Python process
- Configuring the Live Edit update policy
- Show referring objects action
- Variables pane of the Debug tool window: NumPy array viewer
- Context menu command that allows to view the referring objects
- Watches pane of the Debug tool window: NumPy array viewer
- Ability to run interactive consoles in the Debug mode
Testing
Markup languages and style sheets
Version Control
- Ability to use an API token for GitHub authentication
- Ability to set a connection timeout for GitHub
- 'Commit automatically on cherry-pick' option is available in Git settings
- Option to display a warning if commit is performed from a detached head or on rebase is available in Git settings
- 'Allow force push' option is available in the Git push dialog
- 'Ignore whitespace differences in annotations' option is available in Mercurial settings
- Ability to configure SSH tunnel settings is available Subversion settings
- Ability to use command line svn client is available in Subversion settings
- 'Git Reset' action is available from Git log view
Intention Actions and Quick Fixes
JavaScript Support
What's New in Version 3.4
IDE
Python Support
- Python 3.4 support
- Streamlined interpreter configuration procedure
- Ability to automatically detect Python interpreters
- Ability to find base interpreter manually
- Ability to launch IPython console
Code Editing
- Restoring default template settings
- Ability to show quick documentation for a live template from a suggestion list
- Viewing quick documentation on mouse move
Django Support
Configuring Project and IDE
- New way of defining template directories
- Ability to define location of proxy auto configuration file while auto-detect proxy settings
- Ability to show quick documentation on mouse move
- Ability to restore default settings of a modified live template
- Streamlined Python interpreter configuration user interface
- Ability to launch console without printing header information
- Option to override the IDE shortcuts
- Ability to manage the list of trusted certificates
Refactoring
Languages, Frameworks and Technologies
Navigation and Search
Debugging
Miscellaneous Improvements
- Changing log settings
- Ability to pin scroll bar in the Differences Viewer
- Ability to open file from the Differences Viewer in the editor
What's New in Version 3.1
IDE
Python Support
Django Support
Configuring Project and IDE
Languages, Frameworks and Technologies
Tool Windows
Navigation and Search
Running
Markup languages and style sheets
Version Control
Data Access Support
- DDL data sources can be created by means of drag and drop
- DB data sources for H2 and SQLite can be created by means of drag and drop
- Ability to pin the Result tab provided
- The structure view for tables improved
- Read-only status for tables in the Table Editor supported
- Transposed Row view is available for tables
- Settings for the database console and the table editor are now available in one place
- You can close several database connections at once
- Different data sources can now have different colors
- Read-only status for DB data sources is supported
- Database tab added to Event log
JavaScript Support
What's New in Version 3.0.1
Python Support
Debugging
What's New in Version 3.0
IDE
Python Support
- New Python inspections
- New Python intention actions
- Ability to send to the Python console an entire line at caret, when nothing is selected
- Ability to show variables and change their values using the UI in the Python console
Projects and Modules
Code Editing
- Zooming in the Editor
- Disable/enable reformatting of a part of source code
- Table view provided for CSV and TSV files
- Language injection: ability to inject languages and edit them
- You can now open and modify language injections in the editor, as if you were working with the source code in the corresponding language
Django Support
Configuring Project and IDE
- Wide screen support options
- Configuring font size for the Presentation mode
- Ability to change color using intention action, when gutter icons are not shown
- Autopopup code completion delay configuration and option preselect the first suggestion are removed
- Option auto-insert when only one choice applies to explicit completion only
- Tab Other: HEX Colors
- Function 'clipboard()' added to the live template expressions
- Function 'escapeString()' added to the live template expressions
- Emmet: Fuzzy search available for CSS
- Ability to configure language injections
- Ability to configure embedded local terminal
Refactoring
- PyCharm detects and suggests replacement of the code duplicates
- Invert Boolean
- Move Function refactoring
Code Analysis
Languages, Frameworks and Technologies
- Extended SQLAlchemy support
- Maya support
- Downloading stubs for TypeScript definition files and configuring them as PyCharm JavaScript library
- Karma unit testing framework is supported
- Stylus support
- NodeJS debugger backend for Chrome has been completely redesigned based on the V8 Debugging Protocol
- Installing and removing External software using Node Package Manager
- Pyramid framework is supported
- Web2Py framework is supported
Tool Windows
Plugins
Navigation and Search
- Go to directory
- Ability confine search in file to comments and strings only
- Ability to switch between the 'Find in Path' and 'Replace in Path' dialogs
- Ability to find comments and strings in path
Running
Debugging
- Ability to open the command line from the main menu
- Viewing the dynamic HTML source code and the DOM structure of the page actually opened in the editor. The HTML source is updated dynamically upon every action performed on the page
- CORS Control in Chrome Extension
- Specifying the actual IDE port in the Chrome Extension connection settings when the default one us busy and IDE has to capture another one
- Configurable port for built-in web server
- JavaScript debugger backend for Chrome has been completely redesigned based on the WebKit Remote Debugging Protocol
- NodeJS debugger backend for Chrome has been completely redesigned based on the V8 Debugging Protocol
- Gevent debug constant added to the python debugger settings
Testing
Markup languages and style sheets
- Viewing the dynamic HTML source code and the DOM structure of the page actually opened in the editor. The HTML source is updated dynamically upon every action performed on the page
- CORS Control in Chrome Extension
- Specifying the actual IDE port in the Chrome Extension connection settings when the default one us busy and IDE has to capture another one
- Ability to change color using intention action, when gutter icons are not shown
- Enabling Emmet separately for XML and CSS
- Support of Compass including transpilation of Sass and SCSS code from Compass projects into CSS
- Transpiling Stylus code into CSS
Inspections
- Python inspections:
Instance attribute defined outside _init_; Access to a protected member outside of a class; Class or its parent has no _init_ method; Assigning function call that doesn't return anything; Global variable is undefined at the module level; Method may be static
- Inspection 'Inconsistent line separators'
Intention Actions and Quick Fixes
- Python intention action 'Convert static method to function'
- Python intention action 'Convert method to property'
UML
JavaScript Support
- CORS Control in Chrome Extension
- Specifying the actual IDE port in the Chrome Extension connection settings when the default one us busy and IDE has to capture another one
- Downloading stubs for TypeScript definition files and configuring them as PyCharm JavaScript library
- Configurable port for built-in web server
- JavaScript debugger backend for Chrome has been completely redesigned based on the WebKit Remote Debugging Protocol
- Karma unit testing framework is supported
- Node.js core module sources can be configured both as a global or as a project library
- NodeJS debugger backend for Chrome has been completely redesigned based on the V8 Debugging Protocol
- Installing and removing External software using Node Package Manager
Remote Hosts
Miscellaneous Improvements
What's New in Version 2.7.2
IDE
Python Support
Code Editing
Django Support
Languages, Frameworks and Technologies
Plugins
Running
- Possibility to tell PyCharm not to add the source and/or content roots of a project to PYTHONPATH;
- Pycharm console is available for the remote interpreters
Testing
What's New in Version 2.7
IDE
- Editor tabs can be sorted in alphabetical order
- Darcula theme is available
- Consolidating bookmarks, breakpoints, and favorites in a single tool window
Python Support
- Unwrap/remove action is available for python
- Optimize Imports command splits and sorts import statements according to PEP8
- Remote Python interpreters can be created based on Vagrant configuration
- Possibility to create a parameter from an unresolved references
- Ability to delete .pyc files from a project or directory
- Restart console action added to the Python console
Google App Engine Support
- When creating a Google App Engine project, PyCharm always uses Python 2.7 runtime
- ability to choose the way you log in to your Google account
Code Editing
- Action to restore default font size
- Navigating between custom regions
- Unwrap/remove action is available for python
- Since code completion works after typing any number of characters in the middle of a word, using asterisk wildcard is not required
- Action 'Move Caret to Matched Brace' has been added
- Action 'Fix Doc Comment'
Django Support
- Django 1.5 support
- Possibility to pass parameters to the django tests
- Restart console action added to the Django console
- Stop button is added to the 'Run manage.py task' shell
Configuring Project and IDE
- Possibility to define fall-back fonts
- Option to change font size on the editor tabs
- Darcula theme is available
- Possibility to enable parsing PAC file
- Possibility to configure scopes
- Ability to control autopopup variants being chosen by dot, space, etc.
- Fall-back fonts
- Locations of the TextMate bundles are shown
- Simplified installation of JetBrains-provided plugins
- Possibility to configure dependencies between projects opened in the same window
- Configuring Closure Linter quality checker
- Enabling notification in console on stderror/stdout for external tools
Refactoring
- Change signature
- Extract refactorings are supported for substrings with various formatting
- Extract parameter
Languages, Frameworks and Technologies
- Vagrant support:
Capability to configure remote interpreters, detecting path mappings from Vagrant configuration file, UI for starting Vagrant
- TextMate/SublimeText 2 support
- Support for FogBugz issue tracking system
- Support for Mantis issue tracking system
- Support for Assembla issue tracking system
Tool Windows
- Possibility to add external files to Favorites by drag'n'drop
- Consolidating bookmarks, breakpoints, and favorites in a single tool window
- Icon 'Export Inspection Results' is added to the toolbar of the Inspection tool window
- REST Client tool window
Plugins
- 'TextMate Bundles support' plugin comes bundled with product
- Separate button for installing JetBrains-provided plugins
- 'Vagrant support' plugin comes bundled with product
Navigation and Search
- Speed search in Live Templates allows searching for any text in the template abbreviation, body, or description
- Navigating between custom regions
- Search for usages starts without a modal dialog box
Debugging
- Remote debugging: Archive for Python 3 added
- Ability to collect type information at runtime
- Capability to save types information at run-time
- Capability to clear types information, collected at run-time
Testing
- Ability to rerun failed tests
- Doctest: code insight for python code
- Doctest: possibility to open files with *.doctest extension as reStructuredText files
- Testing RESTful Web services from a dedicated REST Client tool window
- Possibility to pass parameters to the django tests
Markup languages and style sheets
- Rename refactoring is available for Sass
- Resolve, completion and search for usages for Sass files
- File Watchers for transpiling Sass, Less, and SCSS into CSS and for compressing CSS
Version Control
- Advanced handling of platform-specific line endings (LF-CRLF).
The Difference Viewer points at discrepancies in line endings (LF-CRLF). For Git repositories, %product% displays a warning when you are about to commit CRLFs and offers to set the core.autocrlf setting for you.
- Possibility to color-mark directories with the changed descendants
Inspections
- 'PEP 8 coding style violation' inspection:
This inspection runs the pep8.py on-the-fly to check for violations of the PEP 8 coding style guide.
- Python inspections are available in doctests
Intention Actions and Quick Fixes
- Python intention action 'Replace string concatenation with format operator' supports Python 3.x syntax
Concatenation of strings can be replaced with the str.format method call: "foo " + "bar" transforms to "foo {0}".format("bar")
- Quick fix 'Create parameter' on unresolved references
JavaScript Support
- Closure Linter quality checker
- File Watchers for transpiling CoffeeScript, TypeScript, and Dart into JavaScript and for compressing JavaScript
Miscellaneous Improvements
- Managing tasks and context: integration with PivotalTracker, Redmine, Trac, FogBugz, Mantis, Assembla, and Generic Server issue tracking systems is supported
- Multiselection is available in the list of tasks. Several tasks can be deleted at once
- Possibility to launch an SSH terminal
- Use soft wraps option
- Possibility to switch between the panes of the Differences viewer
- Ssh terminal
- Ability to manage case of unicode literals
What's New in Version 2.6
Python Support
- Python live template to generate super method call (File | Settings | Live Templates).
- Python 3.3 support (unicode literals, yield from, return from generators, annotations)
- UML Class diagrams for Python classes
- Possibility to attach to subprocesses while debugging
- virtualenv: While adding an existing virtual environment, it is possible to establish or clear association with the current project, and make the virtual environment available to all projects
- Function pyClassName in template variables returns the name of the current Python class
- Function pyFunctionName in template variables returns the name of the current Python function
Google App Engine Support
Flask
Code Editing
- Possibility to copy reference to a line of source code
- Scopes for TODO items
- Basic code completion is performed after typing the middle of a word
- Code completion suggestion list always contains locations of the suggested variants
- Second code completion suggestion list contains names of the modules and variables
- Hyperlinks to the symbols in the Quick Definition tooltip
- Pinning the Quick Definition tooltip results in showing Documentation tool window
- Pinning the Quick Documentation Lookup results in showing Documentation tool window
- Hungry Backspace action has been added to the platform
Django Support
- Code completion for META options
- Possibility to navigate to block implementation in a template
- Model dependency diagram is supported for Django models
Configuring Project and IDE
- Configuring code style for Less
- The list of file types in which templates are recognized is now configurable under Settings | Template Languages
- Modulesdkpath macro expands into a project-specific sdk
Languages, Frameworks and Technologies
Tool Windows
- New design of the Database tool window
- Documentation tool window
- New design of the Structure tool window
- Scope-based TODO items
Navigation and Search
Debugging
Inspections
- Option to ignore comparison to zero in the inspection 'Boolean variable check can be simplified' (File | Settings | Inspections) .
Intention Actions and Quick Fixes
- New intention actions for Python (File | Settings | Intentions):
Specify type for reference in docstring, Insert type assertion
- New intention actions for Python 3.3 (File | Settings | Intentions):
Transform explicit iteration with 'yield' into 'yield from' expression, Specify type for reference using annotations
- Quick fix 'Ignore unresolved reference' adds qualified name to the list of ignored references
- Quick fix 'Mark all unresolved references as ignored' lets you ignore all attributes of the object in question
- Intention actions to check and edit regular expressions
UML
- Model dependency diagram is supported for Django models
- Model dependency diagram is supported for Google App Engine models
- Model dependency diagram is supported for SCQAlchemy
- Diagrams support for Python classes and models
Miscellaneous Improvements
- PROJECT_NAME variable is available in file templates
- MONTH_NAME_SHORT and MONTH_NAME_FULL variables are available in file templates
What's New in Version 2.5
IDE
- ALT+Click editor tab to close other tabs
- Pinch-to-Zoom in the editor tabs
- Possibility to view all editor tabs and choose the active tab
- New way of creating and deleting tasks via tasks combo
- Possibility to view task description
Python Support
- Ability to choose sdk on project creation
- Python sdk or virtual environment can be configured on project creation
- New Python package can be created in any directory
- After adding an interpreter, the product asks whether it should be made default for the current project
- Virtual environments, associated with the other projects, can be shown or hidden
- Remote Python interpreters are supported
- Virtual environment can be created without leaving the IDE
- virtualenv tool comes bundled with the product
- Virtual environments are detected when adding a Python interpreter for a project
- Named Python interpreters and virtual environments
- ability to browse currently installed packages from PyPI
- Ability to install, uninstall and upgrade packages
- Notification about outdated packages
- Quick fix for installing packages
- Dependencies management
Possibility to extract information from requirements.txt or setup.py; Quick fix to add packages to requirements.txt or setup.py; Quick fix to install missing packages; Notification about the unsatisfied requirements.
- Actions for setup.py
- Recursive requirements are supported
- Awareness about WORKON_HOME
- Requirements file can be selected in the file system
Code Editing
- Custom code folding regions
- Sticky selection
- Emacs actions can be invoked via Go to Action
- More Emacs actions have been added to the platform (kill ring, sticky selection, adjust line); keyboard shortcuts have been added in the Emacs scheme
Django Support
- Django 1.4 support
- Product notifies about missing django support and installs django on project creation
- Ability to install django on project creation
Configuring Project and IDE
- New way to access IDE Settings via Go to Action
- Virtual environment is recognized in project directory and by default made the project interpreter
- Ability to configure sdk or virtual environment on project creation
- Disable mnemonic in controls allows the mac users to search for @ sign in the find in path dialog box
- Possibility to hide navigation pop-up frames on focus loss
- Preselect old name
- Improved code style settings
- Possibility to recognize line comments if it starts at the very first position on a line
- Possibility to show or hide virtual environments, associated with the other projects
- Python interpreters and virtual environments can be differentiated by names
- Available Python interpreters are configured on the project level
- Possibility to install packages to virtual environments and the interpreters that contain pip
- Possibility to uninstall packages
- Possibility to view outdated versions
- Capability to view available packages
- Capability to manage repositories
- Requirements file can be selected in the file system
Languages, Frameworks and Technologies
- Possibility to preview compiled CoffeeScript files
- Cython support: Cython syntax for typed memoryviews
Tool Windows
Running
Debugging
- Remote debugging with a remote Python interpreter over SSH
- Exception breakpoints can be activated on the first generation only
Version Control
- Streamlined UI for Git branches
- Creating new Git branches
- Checking out Git branches
- New merging, deleting, and comparing Git branches
- Ability to switch to the Perforce online mode
- Integration with Subversion 1.7 is supported
- Local working copies can be created with Subversion 1.7
- Check box for memorizing password
- For Perforce integration, two refresh modes are supported
Inspections
- New JavaScript inspection Bitwise operation issues
- Quick fix for import statement suggests to install a missing package
JavaScript Support
- Code coverage for JavaScript Unit testing using the istanbul coverage tool
- Switching between JavaScript language versions to choose the one that fits the targeted browser
- JavaScript Strict mode supported
Miscellaneous Improvements
What's New in Version 2.0
IDE
- Possibility to preserve temporary files
- Possibility to reopen a project from the Welcome screen
- Possibility to drag and drop a project onto the Welcome screen
- Ability to work with several projects in one window
Python Support
Google App Engine Support
- When creating a Google App Engine project, Python runtime can be selected
- Google App Engine settings are configured per project
Code Editing
Django Support
- Previewing html pages and django templates in the various browsers
- I18n is now supported in django projects
Configuring Project and IDE
- Ability to copy code style from another language
- Live templates can be created and edited right in the Settings | Live Templates dialog box
- Safe write mode
- Generating type and rtype in doc comment stubs
- Ability to set up sort order in the completion suggestion list
- Option to include parent folder in editor tab title
- Language-specific code style settings
- Project sdk is selected per project from the list of available python interpreters
- Available Python interpreters are configured on the IDE level
- Project structure is configured per project
- Buildout settings are configured per project
- Django settings are configured per project
- Google App Engine settings are configured per project
- Template languages are configured per project
Refactoring
- In-place Extract Constant refactoring
- In-place Introduce Field refactoring
- In-place Introduce Variable refactoring
Languages, Frameworks and Technologies
- CoffeeScript support
- Cython support
- Ability to create templates in the supported template languages
- Support for template languages (Mako, Jinja)
- IPython support
Tool Windows
- Tool Windows are now available on the View | Tool Windows menu
- Tool windows are accessible from the view menu
- Event Log tool window shows all IDE notifications and allows you to take action where needed
- Dedicated tool window for managing your project favorites
- Dedicated JSTestDriver tool widow for starting the JsTestDriver server for running JavaScript unit tests in the browser
- Tool windows are accessible from the view menu
Navigation and Search
- Navigation commands are available on the Navigate menu
- Navigation to code block start and end
- Search functionality is in the Edit menu
- Multiline search and replace in the current file
- Context menu command and shortcut to navigate from backtrace to source
Running
Debugging
- Smart step into - possibility to select method to step into
- Debugging Django server in autoreload mode is now possible
Testing
- Creating tests using go to test action
- Code Coverage is available
- Code Coverage colors can be changed
- Single action to run with coverage
- Unit Testing for JavaScript. JSTestDriver Assertion, QUnit, and Jasmine frameworks are supported
- Running JavaScript unit tests in browser
- Attest support
- Possibility to detect test functions outside subclasses of unittest.testcase
Markup languages and style sheets
Version Control
- Git Fetch is performed silently, without showing the Fetch Settings dialog box
- Initial support of git gists for sharing code snippets on github
- Reviewing changes to be checked in (Digest view) right in the Commit dialog box
- Viewing local changes from base revision in a dedicated pane on
- Possibility to view change details for a file
- Revision graphs for Git
- Details section allows you to preview results before commit
Inspections
- Inspection 'Type checker' (File | Settings | Inspections)
- Inspection 'Deprecated function, class or module' (File | Settings | Inspections)
Web Resources
Data Access Support
JavaScript Support
- JavaScript debugging
- The mark object action is available in the javascript debugger
- JavaScript unit testing
- Node.js: coding assistance, running, debugging, and unit testing
- Javascript run/debug configuration
Remote Hosts
Miscellaneous Improvements
- Create command-line Launcher for Mac and Linux is in the Tools menu
- Quick hide/show tool window buttons
- Macros functionality is in the Edit menu
- Column selection mode
- Hierarchies built are in the Navigate menu
- Find Action is in Help menu
- Possibility to compare binary files
- A folder can be marked as a template directory from context menu
What's New in Version 1.5.3
Code Editing
- Moving lines up and down
- CamelHumps in code completion are detected without using the Shift key
- Viewing quick documentation for parameters
- External documentation
- Code completion is available for tags after @ or :, and for function parameters
- Syntax highlighting is available for tags in reStructuredText and Epytext formats
- Ability to generate formatted api documentation
- Text in Quick Documentation window is rendered according to selected docstring format
Django Support
- Auto-detecting virtualenv when creating a new project via Open Directory
- Referring to the static contents
Configuring Project and IDE
- Ability to preview selected color scheme
- Context menu action to mark directory as a source, or excluded root
- Usage statistics
- Html/xml hierarchy highlighting
- Generating doc comment stubs
- Possibility to automatically insert line continuation on pressing enter
- Option for inserting self
Refactoring
- Renaming method parameter results in renaming its tag in doc comment (for epytext and sphinx)
- Move Class refactoring
Navigation and Search
Debugging
Version Control
- Setting up connection to perforce server has become highly fail-proof
- Viewing the github version of a file from PyCharm
Inspections
- Inspection for reStructuredText 'Role is not defined' helps detect undefined roles (File | Settings | Inspections)
- Inspection 'Unresolved static reference' (File | Settings | Inspections)
Data Access Support
Miscellaneous Improvements
- Ability to view the current cursor position in a pop-up
- Inherited members and fields can be shown in the Structure tool window
- Using up and down arrow keys in console
What's New in Version 1.2
Code Editing
- Changing font size in the Quick Documentation window
- Possibility to search for usages in the comments and text strings
- Ctrl-enter splits a line without adding backslash
Django Support
- Django 1.3 support
- Class-based views
- Creating non-existent templates
- Navigation between templates and views
Configuring Project and IDE
- Surrounding selected text with quotes or braces
- Autocompletion after typing any text
- Updated inspection settings
Refactoring
- Applying rename refactoring to the hierarchy of python classes and method parameters
- Applying rename refactoring to the containing file of a python class
Navigation and Search
Testing
- Ability to view differences for the assertequals failures
- Exact doctest can be specified in an application
Inspections
Intention Actions and Quick Fixes
Miscellaneous Improvements
- Possibility to run code from the editor in the interactive console
- Localization file type is now recognized
What's New in Version 1.1
Code Editing
- More precise behavior on expanding selection in lists
- Possibility to complete known keys for dictionaries
- Automatic insertion of self
Configuring Project and IDE
- Ability to select color scheme and keymap
- Ability to enable command line tool
- More dark color schemes come bundled with the product
Debugging
- Python exception breakpoints are now available
- Remote debugging
- Conditional breakpoints are supported
- Exception breakpoints break on unhandled exceptions
- Possibility to use command line in the debug console
Testing
- Run/debug configuration: doctest
- Files with tests are defined by patterns
- Run/debug configuration: nose test
- Possibility to define the default testing run/debug configuration