Development of a modern application involves using multiple languages, that is why PyCharm is an IDE for polyglot programming.
PyCharm supports the following languages:
Markup languages and Style Sheets:
PyCharm supports the following frameworks, tools, and template languages:
Django up to the version 1.3.
buildoutsupport in the existing projects, and makes it possible to open them. However, you have to provide the buildout environment in advance.
Web2Py. Refer to the section Web2Py for details.
Pyramid. Refer to the section Pyramid for details.
Maya. This support includes remote debugging and launching scripts in Maya.
Refer to the section Templates.
SQLAlchemy. This support includes:
Possibility to view database structure in a diagram. Refer to the section Working with diagrams.
Code completion and resolve.
Coding assistance in PyCharm includes:
Syntax and error highlighting to maintain green code
File templates to create stub classes, scripts, and so on
Live templates to expand abbreviations into complicated code constructs
Code completion to complete names of classes, methods, fields, parameters, and other entities depending on the context
Code generation to generate language-specific code constructs
Intention actions and quick fixes to optimize your code
Code refactorings to rename, move, copy, and delete entities across the whole codebase
Import assistance to import missing libraries
Language injections for working with supported languages inside string literals, tags, or attributes
Code reference information for viewing API documentation, parameter names and hints in methods, static expression data, and so on
Besides coding assistance, PyCharm also supports language-specific tools for building, running, testing, and deploying applications.