Merge branch 'master' into PY-9727
[idea/community.git] / python / src / META-INF / python-core.xml
1 <idea-plugin version="2" xmlns:xi="http://www.w3.org/2001/XInclude">
2   <!-- Components and extensions declared in this file work both in PyCharm and Python plugin.
3        Both Community and Professional editions. -->
4
5   <resource-bundle>com.jetbrains.python.PyBundle</resource-bundle>
6
7   <module value="com.intellij.modules.python"/>
8
9   <!-- Enable command-line language -->
10   <xi:include href="/META-INF/command-line.xml" xpointer="xpointer(/idea-plugin/*)"/>
11
12   <extensions defaultExtensionNs="com.intellij">
13     <library.type implementation="com.jetbrains.python.library.PythonLibraryType"/>
14     <renameHandler implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralRenameHandler"/>
15     <nameSuggestionProvider implementation="com.jetbrains.python.refactoring.PyNameSuggestionProvider"/>
16     <methodNavigationOffsetProvider implementation="com.jetbrains.python.codeInsight.PyMethodNavigationOffsetProvider"/>
17     <copyPastePreProcessor implementation="com.jetbrains.python.editor.PythonCopyPasteProcessor"/>
18     <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
19     <fileTypeFactory implementation="com.jetbrains.python.PythonFileTypeFactory"/>
20     <fileTypeDetector implementation="com.jetbrains.python.PyFileTypeDetector"/>
21     <editorHighlighterProvider filetype="Python" implementationClass="com.jetbrains.python.PyEditorHighlighterProvider"/>
22     <lang.syntaxHighlighterFactory language="Python" implementationClass="com.jetbrains.python.highlighting.PySyntaxHighlighterFactory"/>
23     <lang.braceMatcher language="Python" implementationClass="com.jetbrains.python.PyBraceMatcher"/>
24     <lang.parserDefinition language="Python" implementationClass="com.jetbrains.python.PythonParserDefinition"/>
25     <lang.commenter language="Python" implementationClass="com.jetbrains.python.PythonCommenter"/>
26     <lang.foldingBuilder language="Python" implementationClass="com.jetbrains.python.PythonFoldingBuilder"/>
27     <lang.findUsagesProvider language="Python" implementationClass="com.jetbrains.python.findUsages.PythonFindUsagesProvider"/>
28     <lang.formatter language="Python" implementationClass="com.jetbrains.python.formatter.PythonFormattingModelBuilder"/>
29     <preFormatProcessor implementation="com.jetbrains.python.formatter.PyPreFormatProcessor"/>
30     <postFormatProcessor implementation="com.jetbrains.python.formatter.PyTrailingBlankLinesPostFormatProcessor"/>
31     <lang.whiteSpaceFormattingStrategy language="Python"
32                                        implementationClass="com.jetbrains.python.formatter.PyWhiteSpaceFormattingStrategy"/>
33     <lang.lineWrapStrategy language="Python" implementationClass="com.jetbrains.python.formatter.PyLineWrapPositionStrategy"/>
34     <lang.namesValidator language="Python" implementationClass="com.jetbrains.python.refactoring.rename.PythonNamesValidator"/>
35     <lang.surroundDescriptor language="Python"
36                              implementationClass="com.jetbrains.python.refactoring.surround.PyStatementSurroundDescriptor"/>
37     <lang.surroundDescriptor language="Python"
38                              implementationClass="com.jetbrains.python.refactoring.surround.PyExpressionSurroundDescriptor"/>
39     <lang.unwrapDescriptor language="Python" implementationClass="com.jetbrains.python.refactoring.unwrap.PyUnwrapDescriptor"/>
40     <lang.psiStructureViewFactory language="Python" implementationClass="com.jetbrains.python.structureView.PyStructureViewFactory"/>
41     <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.documentation.PythonDocumentationProvider"/>
42     <lang.documentationProvider language="Python" implementationClass="com.jetbrains.python.console.PydevDocumentationProvider"/>
43     <lang.emacs language="Python" implementationClass="com.jetbrains.python.editor.PyEmacsHandler"/>
44     <highlightRangeExtension implementation="com.jetbrains.python.validation.DumbAwareHighlightingAnnotator"/>
45     <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyAnnotatingVisitor"/>
46     <annotator language="Python" implementationClass="com.jetbrains.python.validation.PyDumbAwareAnnotator"/>
47     <quoteHandler fileType="Python" className="com.jetbrains.python.editor.PythonQuoteHandler"/>
48     <enterHandlerDelegate implementation="com.jetbrains.python.editor.PythonEnterHandler"/>
49     <enterHandlerDelegate implementation="com.jetbrains.python.editor.PyEnterAtIndentHandler" order="first"/>
50     <enterHandlerDelegate implementation="com.jetbrains.python.editor.PyEnterBetweenBracketsHandler"/>
51     <editor.backspaceModeOverride language="Python" implementationClass="com.intellij.codeInsight.editorActions.SmartBackspaceDisabler"/>
52     <sdkType implementation="com.jetbrains.python.sdk.PythonSdkType"/>
53     <gotoClassContributor implementation="com.jetbrains.python.PyGotoClassContributor"/>
54     <gotoSymbolContributor implementation="com.jetbrains.python.PyGotoSymbolContributor"/>
55     <codeInsight.parameterInfo language="Python" implementationClass="com.jetbrains.python.PyParameterInfoHandler"/>
56     <codeInsight.fillParagraph language="Python" implementationClass="com.jetbrains.python.actions.PyFillParagraphHandler"/>
57     <colorSettingsPage implementation="com.jetbrains.python.highlighting.PythonColorsPage"/>
58     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyWordSelectionHandler"/>
59     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyLiteralSelectionHandler"/>
60     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyStatementSelectionHandler"/>
61     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyListSelectionHandler"/>
62     <extendWordSelectionHandler implementation="com.jetbrains.python.editor.selectWord.PyCommaSelectionHandler"/>
63     <basicWordSelectionFilter implementation="com.jetbrains.python.editor.selectWord.PyBasicWordSelectionFilter"/>
64     <completion.contributor language="Python"
65                             implementationClass="com.jetbrains.python.codeInsight.completion.PyKeywordCompletionContributor"/>
66     <completion.contributor language="Python"
67                             implementationClass="com.jetbrains.python.codeInsight.completion.PySpecialMethodNamesCompletionContributor"/>
68     <completion.contributor language="Python"
69                             implementationClass="com.jetbrains.python.codeInsight.completion.PySuperMethodCompletionContributor"/>
70     <completion.contributor language="Python"
71                             implementationClass="com.jetbrains.python.codeInsight.completion.PySuperClassAttributesCompletionContributor"/>
72     <completion.contributor language="Python"
73                             implementationClass="com.jetbrains.python.codeInsight.completion.PyDictKeyNamesCompletionContributor"/>
74     <completion.contributor language="Python"
75                             implementationClass="com.jetbrains.python.codeInsight.completion.PyParameterCompletionContributor"/>
76     <completion.contributor language="Python"
77                             implementationClass="com.jetbrains.python.codeInsight.completion.PyDocstringCompletionContributor"/>
78     <completion.contributor language="Python"
79                             implementationClass="com.jetbrains.python.codeInsight.completion.PyMetaClassCompletionContributor"/>
80     <completion.contributor language="Python"
81                             implementationClass="com.jetbrains.python.codeInsight.completion.PyStructuralTypeAttributesCompletionContributor"/>
82
83     <completion.contributor language="Python"
84                             implementationClass="com.jetbrains.python.codeInsight.completion.PyStringFormatCompletionContributor" />
85
86     <lang.tokenSeparatorGenerator language="Python" implementationClass="com.jetbrains.python.PyTokenSeparatorGenerator"/>
87     <lang.elementManipulator forClass="com.jetbrains.python.psi.PyReferenceExpression"
88                              implementationClass="com.jetbrains.python.psi.impl.PyReferenceExpressionManipulator"/>
89
90     <projectService serviceInterface="com.jetbrains.python.psi.PyElementGenerator"
91                     serviceImplementation="com.jetbrains.python.psi.impl.PyElementGeneratorImpl"/>
92
93     <projectService serviceInterface="com.jetbrains.python.psi.types.TypeEvalContextCache"
94                     serviceImplementation="com.jetbrains.python.psi.types.TypeEvalContextCacheImpl"
95                   />
96
97     <applicationService serviceInterface="com.jetbrains.python.packaging.PyPackageService"
98                         serviceImplementation="com.jetbrains.python.packaging.PyPackageService"/>
99     <applicationService serviceInterface="com.jetbrains.python.packaging.PyCondaPackageService"
100                         serviceImplementation="com.jetbrains.python.packaging.PyCondaPackageService"/>
101     <applicationService serviceInterface="com.jetbrains.python.module.PyModuleService"
102                         serviceImplementation="com.jetbrains.python.module.PyModuleServiceImpl"/>
103
104     <typedHandler implementation="com.jetbrains.python.codeInsight.PyKeywordTypedHandler" id="pyCommaAfterKwd"/>
105     <typedHandler implementation="com.jetbrains.python.codeInsight.PyMethodNameTypedHandler" id="pyMethodNameTypedHandler"/>
106     <typedHandler implementation="com.jetbrains.python.editor.PythonSpaceHandler"/>
107
108     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndex"/>
109     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassNameIndexInsensitive"/>
110     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyFunctionNameIndex"/>
111     <stubIndex implementation="com.jetbrains.python.psi.stubs.PySuperClassIndex"/>
112     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyVariableNameIndex"/>
113     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyInstanceAttributeIndex"/>
114     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyDecoratorStubIndex"/>
115     <stubIndex implementation="com.jetbrains.python.psi.stubs.PyClassAttributesIndex"/>
116     <fileBasedIndex implementation="com.jetbrains.python.psi.stubs.PyModuleNameIndex"/>
117     <fileBasedIndex implementation="com.jetbrains.python.psi.stubs.PySetuptoolsNamespaceIndex"/>
118
119     <declarationRangeHandler key="com.jetbrains.python.psi.PyClass"
120                              implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>
121
122     <declarationRangeHandler key="com.jetbrains.python.psi.PyFunction"
123                              implementationClass="com.jetbrains.python.codeInsight.PyDeclarationRangeHandler"/>
124
125     <targetElementEvaluator language="Python" implementationClass="com.jetbrains.python.codeInsight.PyTargetElementEvaluator"/>
126
127     <moduleService serviceInterface="com.jetbrains.python.ReSTService"
128                    serviceImplementation="com.jetbrains.python.ReSTService"/>
129
130     <!-- Run/Debug -->
131     <applicationService serviceInterface="com.jetbrains.python.run.PyRunConfigurationFactory"
132                         serviceImplementation="com.jetbrains.python.run.PyRunConfigurationFactoryImpl"/>
133     <applicationService serviceInterface="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"
134                         serviceImplementation="com.jetbrains.python.run.PythonRunConfigurationExtensionsManager"/>
135     <configurationType implementation="com.jetbrains.python.run.PythonConfigurationType"/>
136     <programRunner implementation="com.jetbrains.python.run.PythonRunner" order="first"/>
137     <programRunner implementation="com.jetbrains.python.debugger.PyDebugRunner"/>
138     <runConfigurationProducer implementation="com.jetbrains.python.run.PythonRunConfigurationProducer"/>
139     <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyLineBreakpointType"/>
140     <xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyExceptionBreakpointType"/>
141
142     <configurationType implementation="com.jetbrains.python.testing.PythonTestConfigurationType"/>
143     <configurationType implementation="com.jetbrains.python.testing.tox.PyToxConfigurationType"/>
144
145     <runConfigurationProducer implementation="com.jetbrains.python.testing.unittest.PythonUnitTestConfigurationProducer"/>
146     <runConfigurationProducer implementation="com.jetbrains.python.testing.pytest.PyTestConfigurationProducer"/>
147     <runConfigurationProducer implementation="com.jetbrains.python.testing.doctest.PythonDocTestConfigurationProducer"/>
148     <runConfigurationProducer implementation="com.jetbrains.python.testing.tox.PyToxConfigurationProducer"/>
149     <runConfigurationProducer implementation="com.jetbrains.python.testing.nosetest.PythonNoseTestConfigurationProducer"/>
150     <runConfigurationProducer implementation="com.jetbrains.python.testing.attest.PythonAtTestConfigurationProducer"/>
151
152     <!-- <referenceImporter implementation="com.jetbrains.python.codeInsight.imports.PythonReferenceImporter"/> -->
153     <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyLineMarkerProvider"/>
154     <definitionsSearch implementation="com.jetbrains.python.psi.search.PyDefinitionsSearch"/>
155     <gotoTargetRendererProvider implementation="com.jetbrains.python.codeInsight.PyGotoTargetRendererProvider"/>
156
157     <typeHierarchyProvider language="Python" implementationClass="com.jetbrains.python.hierarchy.PyTypeHierachyProvider"/>
158     <callHierarchyProvider language="Python" implementationClass="com.jetbrains.python.hierarchy.call.PyCallHierarchyProvider"/>
159     <highlightUsagesHandlerFactory implementation="com.jetbrains.python.codeInsight.highlighting.PyHighlightExitPointsHandlerFactory"/>
160
161     <joinLinesHandler implementation="com.jetbrains.python.editor.PyJoinLinesHandler"/>
162
163     <intentionAction>
164       <className>com.jetbrains.python.codeInsight.intentions.PyConvertMethodToPropertyIntention</className>
165       <category>Python</category>
166     </intentionAction>
167
168     <intentionAction>
169       <className>com.jetbrains.python.codeInsight.intentions.ImportToImportFromIntention</className>
170       <category>Python</category>
171     </intentionAction>
172
173     <intentionAction>
174       <className>com.jetbrains.python.codeInsight.intentions.PyConvertStaticMethodToFunctionIntention</className>
175       <category>Python</category>
176     </intentionAction>
177     
178     <intentionAction>
179       <className>com.jetbrains.python.codeInsight.intentions.SpecifyTypeInDocstringIntention</className>
180       <category>Python</category>
181     </intentionAction>
182
183     <intentionAction>
184       <className>com.jetbrains.python.codeInsight.intentions.SpecifyTypeInPy3AnnotationsIntention</className>
185       <category>Python</category>
186     </intentionAction>
187
188     <intentionAction>
189       <className>com.jetbrains.python.codeInsight.intentions.TypeAssertionIntention</className>
190       <category>Python</category>
191     </intentionAction>
192
193     <intentionAction>
194       <className>com.jetbrains.python.codeInsight.intentions.ImportFromToImportIntention</className>
195       <category>Python</category>
196     </intentionAction>
197
198     <intentionAction>
199       <className>com.jetbrains.python.codeInsight.intentions.ImportToggleAliasIntention</className>
200       <category>Python</category>
201     </intentionAction>
202
203     <intentionAction>
204       <className>com.jetbrains.python.codeInsight.intentions.PySplitIfIntention</className>
205       <category>Python</category>
206     </intentionAction>
207
208     <intentionAction>
209       <className>com.jetbrains.python.codeInsight.intentions.PyNegateComparisonIntention</className>
210       <category>Python</category>
211     </intentionAction>
212
213     <intentionAction>
214       <className>com.jetbrains.python.codeInsight.intentions.PyStringConcatenationToFormatIntention</className>
215       <category>Python</category>
216     </intentionAction>
217
218     <intentionAction>
219       <className>com.jetbrains.python.codeInsight.intentions.ConvertFormatOperatorToMethodIntention</className>
220       <category>Python</category>
221     </intentionAction>
222
223     <intentionAction>
224       <className>com.jetbrains.python.codeInsight.intentions.PyFlipComparisonIntention</className>
225       <category>Python</category>
226     </intentionAction>
227
228     <intentionAction>
229       <className>com.jetbrains.python.codeInsight.intentions.PyDemorganIntention</className>
230       <category>Python</category>
231     </intentionAction>
232
233     <intentionAction>
234       <className>com.jetbrains.python.codeInsight.intentions.ReplaceListComprehensionWithForIntention</className>
235       <category>Python</category>
236     </intentionAction>
237
238     <intentionAction>
239       <className>com.jetbrains.python.codeInsight.intentions.PyJoinIfIntention</className>
240       <category>Python</category>
241     </intentionAction>
242
243     <intentionAction>
244       <className>com.jetbrains.python.codeInsight.intentions.PyDictConstructorToLiteralFormIntention</className>
245       <category>Python</category>
246     </intentionAction>
247
248     <intentionAction>
249       <className>com.jetbrains.python.codeInsight.intentions.PyDictLiteralFormToConstructorIntention</className>
250       <category>Python</category>
251     </intentionAction>
252
253     <intentionAction>
254       <className>com.jetbrains.python.codeInsight.intentions.PyQuotedStringIntention</className>
255       <category>Python</category>
256     </intentionAction>
257
258     <intentionAction>
259       <className>com.jetbrains.python.codeInsight.intentions.PyConvertLambdaToFunctionIntention</className>
260       <category>Python</category>
261     </intentionAction>
262
263     <intentionAction>
264       <className>com.jetbrains.python.codeInsight.intentions.ConvertVariadicParamIntention</className>
265       <category>Python</category>
266     </intentionAction>
267
268     <intentionAction>
269       <className>com.jetbrains.python.codeInsight.intentions.PyConvertTripleQuotedStringIntention</className>
270       <category>Python</category>
271     </intentionAction>
272
273     <intentionAction>
274       <className>com.jetbrains.python.codeInsight.intentions.PyConvertLiteralToTupleIntention</className>
275       <category>Python</category>
276     </intentionAction>
277
278     <intentionAction>
279       <className>com.jetbrains.python.codeInsight.intentions.PyConvertLiteralToListIntention</className>
280       <category>Python</category>
281     </intentionAction>
282
283     <intentionAction>
284       <className>com.jetbrains.python.codeInsight.intentions.PyConvertLiteralToSetIntention</className>
285       <category>Python</category>
286     </intentionAction>
287
288     <intentionAction>
289       <className>com.jetbrains.python.codeInsight.intentions.PyTransformConditionalExpressionIntention</className>
290       <category>Python</category>
291     </intentionAction>
292
293     <intentionAction>
294       <className>com.jetbrains.python.codeInsight.intentions.PyGenerateDocstringIntention</className>
295       <category>Python</category>
296     </intentionAction>
297
298     <intentionAction>
299       <className>com.jetbrains.python.codeInsight.intentions.PyYieldFromIntention</className>
300       <category>Python</category>
301     </intentionAction>
302
303     <testFinder implementation="com.jetbrains.python.codeInsight.testIntegration.PyTestFinder"/>
304     <testCreator language="Python" implementationClass="com.jetbrains.python.codeInsight.testIntegration.PyTestCreator"/>
305
306     <stubElementTypeHolder class="com.jetbrains.python.PyElementTypes"/>
307
308     <localInspection language="Python" shortName="PyArgumentListInspection" suppressId="PyArgumentList" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.call.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentListInspection"/>
309     <localInspection language="Python" shortName="PyRedeclarationInspection" suppressId="PyRedeclaration" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redeclaration" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRedeclarationInspection"/>
310     <localInspection language="Python" shortName="PyUnresolvedReferencesInspection" suppressId="PyUnresolvedReferences" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unresolved.refs" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.unresolvedReference.PyUnresolvedReferencesInspection"/>
311     <localInspection language="Python" shortName="PyInterpreterInspection" suppressId="PyInterpreter" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.invalid.interpreter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInterpreterInspection"/>
312     <localInspection language="Python" shortName="PyMethodParametersInspection" suppressId="PyMethodParameters" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.problematic.first.parameter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodParametersInspection"/>
313     <localInspection language="Python" shortName="PyUnreachableCodeInspection" suppressId="PyUnreachableCode" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unreachable.code" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnreachableCodeInspection"/>
314     <localInspection language="Python" shortName="PyMethodFirstArgAssignmentInspection" suppressId="PyMethodFirstArgAssignment" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.first.arg.assign" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodFirstArgAssignmentInspection"/>
315     <localInspection language="Python" shortName="PyStringFormatInspection" suppressId="PyStringFormat" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.str.format" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringFormatInspection"/>
316     <localInspection language="Python" shortName="PyMethodOverridingInspection" suppressId="PyMethodOverriding" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.method.over" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodOverridingInspection"/>
317     <localInspection language="Python" shortName="PyInitNewSignatureInspection" suppressId="PyInitNewSignature" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.new.init.signature" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInitNewSignatureInspection"/>
318     <localInspection language="Python" shortName="PyTrailingSemicolonInspection" suppressId="PyTrailingSemicolon" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.trailing.semicolon" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTrailingSemicolonInspection"/>
319     <localInspection language="Python" shortName="PyReturnFromInitInspection" suppressId="PyReturnFromInit" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.init.return" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyReturnFromInitInspection"/>
320     <localInspection language="Python" shortName="PyUnusedLocalInspection" suppressId="PyUnusedLocal" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unused" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyUnusedLocalInspection"/>
321     <localInspection language="Python" shortName="PyDictCreationInspection" suppressId="PyDictCreation" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.dict.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyDictCreationInspection"/>
322     <localInspection language="Python" shortName="PyDictDuplicateKeysInspection" suppressId="PyDictDuplicateKeys" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.duplicate.keys" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDictDuplicateKeysInspection"/>
323     <localInspection language="Python" shortName="PyExceptClausesOrderInspection" suppressId="PyExceptClausesOrder" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.bad.except.clauses.order" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptClausesOrderInspection"/>
324     <localInspection language="Python" shortName="PyTupleAssignmentBalanceInspection" suppressId="PyTupleAssignmentBalance" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleAssignmentBalanceInspection"/>
325     <localInspection language="Python" shortName="PyClassicStyleClassInspection" suppressId="PyClassicStyleClass" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.classic.class.usage" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyClassicStyleClassInspection"/>
326     <localInspection language="Python" shortName="PyExceptionInheritInspection" suppressId="PyExceptionInherit" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.exception.not.inherit" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyExceptionInheritInspection"/>
327     <localInspection language="Python" shortName="PyDefaultArgumentInspection" suppressId="PyDefaultArgument" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.default.argument" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDefaultArgumentInspection"/>
328     <localInspection language="Python" shortName="PyRaisingNewStyleClassInspection" suppressId="PyRaisingNewStyleClass" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.new.style.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyRaisingNewStyleClassInspection"/>
329     <localInspection language="Python" shortName="PyIncorrectDocstringInspection" suppressId="PyIncorrectDocstring" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.incorrect.docstring" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyIncorrectDocstringInspection"/>
330     <localInspection language="Python" shortName="PyMissingOrEmptyDocstringInspection" suppressId="PyMissingOrEmptyDocstring" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.missing.or.empty.docstring" groupKey="INSP.GROUP.python" enabledByDefault="false" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMissingOrEmptyDocstringInspection"/>
331     <localInspection language="Python" shortName="PyUnboundLocalVariableInspection" suppressId="PyUnboundLocalVariable" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unbound" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnboundLocalVariableInspection"/>
332     <localInspection language="Python" shortName="PyStatementEffectInspection" suppressId="PyStatementEffect" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.statement.effect" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStatementEffectInspection"/>
333     <localInspection language="Python" shortName="PySimplifyBooleanCheckInspection" suppressId="PySimplifyBooleanCheck" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.check.can.be.simplified" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PySimplifyBooleanCheckInspection"/>
334     <localInspection language="Python" shortName="PyFromFutureImportInspection" suppressId="PyFromFutureImport" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.from.future.import" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyFromFutureImportInspection"/>
335     <localInspection language="Python" shortName="PyComparisonWithNoneInspection" suppressId="PyComparisonWithNone" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.comparison.with.none" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyComparisonWithNoneInspection"/>
336     <localInspection language="Python" shortName="PyStringExceptionInspection" suppressId="PyStringException" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.raising.string.exception" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyStringExceptionInspection"/>
337     <localInspection language="Python" shortName="PySuperArgumentsInspection" suppressId="PySuperArguments" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.wrong.super.arguments" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySuperArgumentsInspection"/>
338     <localInspection language="Python" shortName="PyByteLiteralInspection" suppressId="PyByteLiteral" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.byte.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyByteLiteralInspection"/>
339     <localInspection language="Python" shortName="PyNonAsciiCharInspection" suppressId="PyNonAsciiChar" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.non.ascii" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyNonAsciiCharInspection"/>
340     <localInspection language="Python" shortName="PyTupleItemAssignmentInspection" suppressId="PyTupleItemAssignment" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.tuple.item.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTupleItemAssignmentInspection"/>
341     <localInspection language="Python" shortName="PyCallingNonCallableInspection" suppressId="PyCallingNonCallable" displayName="Trying to call a non-callable object" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCallingNonCallableInspection"/>
342     <localInspection language="Python" shortName="PyPropertyAccessInspection" suppressId="PyPropertyAccess" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.access" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyAccessInspection"/>
343     <localInspection language="Python" shortName="PyPropertyDefinitionInspection" suppressId="PyPropertyDefinition" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.property.definition" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPropertyDefinitionInspection"/>
344     <localInspection language="Python" shortName="PyInconsistentIndentationInspection" suppressId="PyInconsistentIndentation" displayName="Inconsistent indentation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyInconsistentIndentationInspection"/>
345     <localInspection language="Python" shortName="PyNestedDecoratorsInspection" suppressId="PyNestedDecorators" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.nested.decorators" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyNestedDecoratorsInspection"/>
346     <localInspection language="Python" shortName="PyCallByClassInspection" suppressId="PyCallByClass" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.different.class.call" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyCallByClassInspection"/>
347     <localInspection language="Python" shortName="PyBroadExceptionInspection" suppressId="PyBroadException" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.too.broad.exception.clauses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyBroadExceptionInspection"/>
348     <localInspection language="Python" shortName="PyRedundantParenthesesInspection" suppressId="PyRedundantParentheses" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.redundant.parentheses" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyRedundantParenthesesInspection"/>
349     <localInspection language="Python" shortName="PyAugmentAssignmentInspection" suppressId="PyAugmentAssignment" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.augment.assignment" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyAugmentAssignmentInspection"/>
350     <localInspection language="Python" shortName="PyChainedComparisonsInspection" suppressId="PyChainedComparisons" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.chained.comparisons" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyChainedComparisonsInspection"/>
351     <localInspection language="Python" shortName="PyOldStyleClassesInspection" suppressId="PyOldStyleClasses" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.oldstyle.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyOldStyleClassesInspection"/>
352     <localInspection language="Python" shortName="PyCompatibilityInspection" suppressId="PyCompatibility" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.compatibility" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyCompatibilityInspection"/>
353     <localInspection language="Python" shortName="PyListCreationInspection" suppressId="PyListCreation" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.list.creation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyListCreationInspection"/>
354     <localInspection language="Python" shortName="PyUnnecessaryBackslashInspection" suppressId="PyUnnecessaryBackslash" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.unnecessary.backslash" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyUnnecessaryBackslashInspection"/>
355     <localInspection language="Python" shortName="PySingleQuotedDocstringInspection" suppressId="PySingleQuotedDocstring" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.single.quoted.docstring" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PySingleQuotedDocstringInspection"/>
356     <localInspection language="Python" shortName="PyMissingConstructorInspection" suppressId="PyMissingConstructor" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.missing.super.constructor" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMissingConstructorInspection"/>
357     <localInspection language="Python" shortName="PyArgumentEqualDefaultInspection" suppressId="PyArgumentEqualDefault" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.argument.equal.default" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyArgumentEqualDefaultInspection"/>
358     <localInspection language="Python" shortName="PySetFunctionToLiteralInspection" suppressId="PySetFunctionToLiteral" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.set.function.to.literal" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PySetFunctionToLiteralInspection"/>
359     <localInspection language="Python" shortName="PyDecoratorInspection" suppressId="PyDecorator" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.decorator.outside.class" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDecoratorInspection"/>
360     <localInspection language="Python" shortName="PyTypeCheckerInspection" suppressId="PyTypeChecker" displayName="Type checker" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyTypeCheckerInspection"/>
361     <localInspection language="Python" shortName="PyDeprecationInspection" suppressId="PyDeprecation" displayName="Deprecated function, class or module" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyDeprecationInspection"/>
362     <localInspection language="Python" shortName="PyMandatoryEncodingInspection" suppressId="PyMandatoryEncoding" displayName="No encoding specified for file" groupKey="INSP.GROUP.python" enabledByDefault="false"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyMandatoryEncodingInspection"/>
363     <localInspection language="Python" shortName="PyPackageRequirementsInspection" suppressId="PyPackageRequirements" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.requirements" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WARNING" implementationClass="com.jetbrains.python.inspections.PyPackageRequirementsInspection"/>
364     <localInspection language="Python" shortName="PyPep8Inspection" suppressId="PyPep8" displayName="PEP 8 coding style violation" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyPep8Inspection"/>
365     <localInspection language="Python" shortName="PyAttributeOutsideInitInspection" suppressId="PyAttributeOutsideInit" displayName="Instance attribute defined outside __init__" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyAttributeOutsideInitInspection"/>
366     <localInspection language="Python" shortName="PyClassHasNoInitInspection" suppressId="PyClassHasNoInit" displayName="Class has no __init__ method" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyClassHasNoInitInspection"/>
367     <localInspection language="Python" shortName="PyNoneFunctionAssignmentInspection" suppressId="PyNoneFunctionAssignment" displayName="Assigning function call that doesn't return anything" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyNoneFunctionAssignmentInspection"/>
368     <localInspection language="Python" shortName="PyGlobalUndefinedInspection" suppressId="PyGlobalUndefined" displayName="Global variable is undefined at the module level" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyGlobalUndefinedInspection"/>
369     <localInspection language="Python" shortName="PyProtectedMemberInspection" suppressId="PyProtectedMember" displayName="Access to a protected member of a class" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyProtectedMemberInspection"/>
370     <localInspection language="Python" shortName="PyMethodMayBeStaticInspection" suppressId="PyMethodMayBeStatic" displayName="Method may be static" groupKey="INSP.GROUP.python" enabledByDefault="true" level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyMethodMayBeStaticInspection"/>
371     <localInspection language="Python" shortName="PyDocstringTypesInspection" suppressId="PyDocstringTypes" bundle="com.jetbrains.python.PyBundle" key="INSP.NAME.docstring.types" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyDocstringTypesInspection"/>
372     <localInspection language="Python" shortName="PyShadowingBuiltinsInspection" suppressId="PyShadowingBuiltins" displayName="Shadowing built-ins" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyShadowingBuiltinsInspection"/>
373     <localInspection language="Python" shortName="PyShadowingNamesInspection" suppressId="PyShadowingNames" displayName="Shadowing names from outer scopes" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyShadowingNamesInspection"/>
374     <localInspection language="Python" shortName="PyAbstractClassInspection" suppressId="PyAbstractClass" displayName="Class must implement all abstract methods" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyAbstractClassInspection"/>
375     <localInspection language="Python" shortName="PyPep8NamingInspection" suppressId="PyPep8Naming" displayName="PEP 8 naming convention violation" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyPep8NamingInspection"/>
376     <localInspection language="Python" shortName="PyAssignmentToLoopOrWithParameterInspection" suppressId="PyAssignmentToLoopOrWithParameter" displayName="Assignment to 'for' loop or 'with' statement parameter" groupKey="INSP.GROUP.python" enabledByDefault="true"  level="WEAK WARNING" implementationClass="com.jetbrains.python.inspections.PyAssignmentToLoopOrWithParameterInspection"/>
377
378     <liveTemplateContext implementation="com.jetbrains.python.codeInsight.liveTemplates.PythonTemplateContextType"/>
379     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.CollectionElementNameMacro"/>
380     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.PyClassNameMacro"/>
381     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.PyFunctionNameMacro"/>
382     <liveTemplateMacro implementation="com.jetbrains.python.codeInsight.liveTemplates.PyIterableVariableMacro"/>
383
384     <codeInsight.overrideMethod language="Python" implementationClass="com.jetbrains.python.codeInsight.override.PyOverrideMethodsHandler"/>
385     <lang.refactoringSupport language="Python" implementationClass="com.jetbrains.python.refactoring.PyRefactoringProvider"/>
386     <lang.refactoringSupport.classMembersRefactoringSupport language="Python"
387                                                             implementationClass="com.jetbrains.python.refactoring.classes.PyMembersRefactoringSupport"/>
388     <inlineActionHandler implementation="com.jetbrains.python.refactoring.inline.PyInlineLocalHandler"/>
389     <codeInsight.gotoSuper language="Python" implementationClass="com.jetbrains.python.codeInsight.PyGotoSuperHandler"/>
390     <gotoDeclarationHandler implementation="com.jetbrains.python.codeInsight.PyBreakContinueGotoProvider" order="FIRST"/>
391     <lang.smartEnterProcessor language="Python"
392                               implementationClass="com.jetbrains.python.codeInsight.editorActions.smartEnter.PySmartEnterProcessor"/>
393     <statementUpDownMover implementation="com.jetbrains.python.codeInsight.editorActions.moveUpDown.PyStatementMover" id="statement"
394                           order="before line"/>
395
396     <filePropertyPusher implementation="com.jetbrains.python.psi.impl.PythonLanguageLevelPusher"/>
397
398     <elementDescriptionProvider implementation="com.jetbrains.python.findUsages.PyElementDescriptionProvider"/>
399     <elementDescriptionProvider implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralElementDescriptionProvider"/>
400     <fileStructureGroupRuleProvider implementation="com.jetbrains.python.findUsages.PyFunctionGroupingRuleProvider" id="py-function"/>
401     <usageTypeProvider implementation="com.jetbrains.python.findUsages.PyUsageTypeProvider"/>
402     <usageTargetProvider implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralUsageTargetProvider"/>
403     <importFilteringRule implementation="com.jetbrains.python.findUsages.PyImportFilteringRule"/>
404
405     <multiHostInjector implementation="com.jetbrains.python.codeInsight.regexp.PythonRegexpInjector"/>
406     <lang.parserDefinition language="PythonRegExp"
407                            implementationClass="com.jetbrains.python.codeInsight.regexp.PythonRegexpParserDefinition"/>
408     <lang.parserDefinition language="PythonVerboseRegExp"
409                            implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpParserDefinition"/>
410     <lang.syntaxHighlighterFactory language="PythonVerboseRegExp"
411                                    implementationClass="com.jetbrains.python.codeInsight.regexp.PythonVerboseRegexpSyntaxHighlighterFactory"/>
412
413     <applicationService serviceInterface="com.jetbrains.python.codeInsight.PyCodeInsightSettings"
414                         serviceImplementation="com.jetbrains.python.codeInsight.PyCodeInsightSettings"/>
415     <applicationService serviceInterface="com.jetbrains.python.testing.PyTestFrameworkService"
416                         serviceImplementation="com.jetbrains.python.testing.PyTestFrameworkService"/>
417     <applicationService serviceInterface="com.jetbrains.python.sdk.PySdkService"
418                         serviceImplementation="com.jetbrains.python.sdk.PySdkService"/>
419     <autoImportOptionsProvider instance="com.jetbrains.python.codeInsight.imports.PyAutoImportOptions"/>
420
421     <defaultLiveTemplatesProvider implementation="com.jetbrains.python.codeInsight.liveTemplates.PyDefaultLiveTemplatesProvider"/>
422
423     <completion.contributor language="Python"
424                             implementationClass="com.jetbrains.python.codeInsight.completion.PyClassNameCompletionContributor"/>
425     <weigher key="completion" implementationClass="com.jetbrains.python.codeInsight.completion.PythonCompletionWeigher" order="first"/>
426     <completion.confidence language="Python" implementationClass="com.jetbrains.python.codeInsight.completion.PyCompletionConfidence"/>
427     <typedHandler implementation="com.jetbrains.python.console.completion.PythonConsoleAutopopupBlockingHandler" id="pydevBlockAutoPopup"
428                   order="first, before completionAutoPopup"/>
429
430     <referencesSearch implementation="com.jetbrains.python.psi.search.PyInitReferenceSearchExecutor"/>
431     <referencesSearch implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralReferenceSearcher"/>
432     <referencesSearch implementation="com.jetbrains.python.psi.search.PyKeywordArgumentSearchExecutor"/>
433     <referencesSearch implementation="com.jetbrains.python.psi.search.PyStringReferenceSearch"/>
434     <findUsagesHandlerFactory implementation="com.jetbrains.python.findUsages.PyFindUsagesHandlerFactory" id="Python"
435                               order="last, before default"/>
436     <readWriteAccessDetector implementation="com.jetbrains.python.findUsages.PyReadWriteAccessDetector"/>
437     <findUsagesHandlerFactory implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralFindUsagesHandlerFactory"/>
438
439     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyVariableProcessor" order="last" id="pyvar"/>
440     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFunctionProcessor" order="before pyvar"/>
441     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyClassProcessor" order="before pyvar"/>
442     <renamePsiElementProcessor implementation="com.jetbrains.python.magicLiteral.PyMagicLiteralRenameProcessor" order="before pyvar"/>
443     <renamePsiElementProcessor implementation="com.jetbrains.python.refactoring.rename.RenamePyFileProcessor" order="first"/>
444
445     <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyContainingFileRenamerFactory"/>
446     <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyInheritorRenameFactory"/>
447     <automaticRenamerFactory implementation="com.jetbrains.python.refactoring.rename.PyParametersRenameFactory"/>
448
449     <moveFileHandler implementation="com.jetbrains.python.refactoring.move.PyMoveFileHandler"/>
450     <refactoring.moveHandler implementation="com.jetbrains.python.refactoring.move.PyMoveModuleMembersDelegate"/>
451
452     <refactoring.changeSignatureUsageProcessor implementation="com.jetbrains.python.refactoring.changeSignature.PyChangeSignatureUsageProcessor" id="Python"/>
453
454     <lang.importOptimizer language="Python" implementationClass="com.jetbrains.python.codeInsight.imports.PyImportOptimizer"/>
455
456     <codeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyCodeStyleSettingsProvider"/>
457     <langCodeStyleSettingsProvider implementation="com.jetbrains.python.formatter.PyLanguageCodeStyleSettingsProvider"/>
458
459     <lang.elementManipulator forClass="com.jetbrains.python.psi.PyStringLiteralExpression"
460                              implementationClass="com.jetbrains.python.psi.impl.PyStringLiteralExpressionManipulator"/>
461     <lang.elementManipulator forClass="com.jetbrains.python.psi.PyKeywordArgument"
462                              implementationClass="com.jetbrains.python.psi.impl.PyKeywordArgumentManipulator"/>
463
464     <analyzeStacktraceFilter implementation="com.jetbrains.python.run.PythonTracebackFilter"/>
465
466     <internalFileTemplate name="Python Script"/>
467     <internalFileTemplate name="Python Unit Test"/>
468     <internalFileTemplate name="Setup Script"/>
469
470     <moduleService serviceInterface="com.jetbrains.python.psi.resolve.PythonPathCache"
471                    serviceImplementation="com.jetbrains.python.psi.resolve.PythonModulePathCache"/>
472
473     <problemFileHighlightFilter implementation="com.jetbrains.python.codeInsight.PyProblemFileHighlightFilter"/>
474
475     <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySmartKeysOptions"/>
476     <editorSmartKeysConfigurable instance="com.jetbrains.python.codeInsight.PySpecificSmartKeysOptions"/>
477
478     <psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PyStdReferenceContributor"/>
479
480     <applicationService serviceInterface="com.jetbrains.python.documentation.PythonDocumentationMap"
481                         serviceImplementation="com.jetbrains.python.documentation.PythonDocumentationMap"/>
482     <applicationConfigurable groupId="tools" instance="com.jetbrains.python.documentation.PythonDocumentationConfigurable"
483                              id="com.jetbrains.python.documentation.PythonDocumentationConfigurable"
484                              displayName="Python External Documentation"/>
485     <projectConfigurable groupId="tools" instance="com.jetbrains.python.configuration.PyIntegratedToolsModulesConfigurable"
486                          id="com.jetbrains.python.configuration.PyIntegratedToolsModulesConfigurable" displayName="Python Integrated Tools"
487                          nonDefaultProject="true"/>
488     <search.optionContributor implementation="com.jetbrains.python.configuration.PySearchableOptionContributor"/>
489     <moduleService serviceInterface="com.jetbrains.python.documentation.PyDocumentationSettings"
490                    serviceImplementation="com.jetbrains.python.documentation.PyDocumentationSettings"/>
491     <psi.referenceContributor implementation="com.jetbrains.python.documentation.docstrings.DocStringReferenceContributor"/>
492     <psi.referenceContributor implementation="com.jetbrains.python.codeInsight.PythonFormattedStringReferenceContributor"/>
493     <completion.contributor language="Python" implementationClass="com.jetbrains.python.documentation.docstrings.DocStringTagCompletionContributor"/>
494     <completion.contributor language="Python" implementationClass="com.jetbrains.python.documentation.docstrings.DocStringSectionHeaderCompletionContributor"/>
495
496     <projectService serviceInterface="com.intellij.psi.search.ProjectScopeBuilder"
497                     serviceImplementation="com.jetbrains.python.psi.search.PyProjectScopeBuilder"
498                     overrides="true"/>
499
500     <treeStructureProvider implementation="com.jetbrains.python.projectView.PyTreeStructureProvider"/>
501
502     <project.converterProvider implementation="com.jetbrains.python.testing.converters.PythonTestConverterProvider"/>
503
504     <projectConfigurable groupId="build" dynamic="true" id="pyconsole" instance="com.jetbrains.python.console.PyConsoleOptionsConfigurable"
505                          displayName="Console"/>
506     <projectService serviceImplementation="com.jetbrains.python.console.PyConsoleOptions"/>
507
508     <projectConfigurable groupId="build" groupWeight="119" id="reference.idesettings.debugger.python" instance="com.jetbrains.python.debugger.PyDebuggerConfigurable"
509                          displayName="Python Debugger"/>
510     <projectService serviceImplementation="com.jetbrains.python.debugger.PyDebuggerOptionsProvider"/>
511
512     <codeBlockProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.PyCodeBlockProvider"/>
513
514     <iconProvider implementation="com.jetbrains.python.PyDirectoryIconProvider" id="pyDirectoryDefault"/>
515
516     <projectService serviceInterface="com.jetbrains.python.debugger.PySignatureCacheManager"
517                     serviceImplementation="com.jetbrains.python.debugger.PySignatureCacheManagerImpl"/>
518
519     <projectService serviceInterface="com.jetbrains.python.psi.PyPsiFacade"
520                     serviceImplementation="com.jetbrains.python.psi.impl.PyPsiFacadeImpl"/>
521     <applicationService serviceInterface="com.jetbrains.python.packaging.PyPackageManagers"
522                         serviceImplementation="com.jetbrains.python.packaging.PyPackageManagersImpl"/>
523
524     <qualifiedNameProvider implementation="com.jetbrains.python.actions.PyQualifiedNameProvider"/>
525
526     <externalAnnotator language="Python" implementationClass="com.jetbrains.python.validation.Pep8ExternalAnnotator"/>
527
528     <statistics.usagesCollector implementation="com.jetbrains.python.statistics.PyInterpreterUsagesCollector"/>
529     <statistics.usagesCollector implementation="com.jetbrains.python.statistics.PyPackageUsagesCollector"/>
530
531     <additionalTextAttributes scheme="Default" file="colorSchemes/PythonDefault.xml"/>
532     <additionalTextAttributes scheme="Darcula" file="colorSchemes/PythonDarcula.xml"/>
533
534     <postStartupActivity implementation="com.jetbrains.python.sdk.PythonSdkUpdater"/>
535     <postStartupActivity implementation="com.jetbrains.python.packaging.PyPackagesUpdater"/>
536     <directoryProjectConfigurator implementation="com.jetbrains.python.testing.PyIntegratedToolsProjectConfigurator" id="integratedTools" order="after sdk"/>
537
538
539     <macro implementation="com.jetbrains.python.sdk.InterpreterDirectoryMacro"/>
540
541     <!-- User skeletons -->
542     <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsLineMarkerProvider"/>
543
544     <!-- Buildout -->
545     <facetType implementation="com.jetbrains.python.buildout.BuildoutFacetType"/>
546     <framework.detector implementation="com.jetbrains.python.buildout.BuildoutFrameworkDetector"/>
547
548     <lang.parserDefinition language="BuildoutCfg" implementationClass="com.jetbrains.python.buildout.config.BuildoutCfgParserDefinition"/>
549     <fileTypeFactory implementation="com.jetbrains.python.buildout.config.BuildoutCfgFileTypeFactory"/>
550     <lang.syntaxHighlighterFactory language="BuildoutCfg"
551                                    implementationClass="com.jetbrains.python.buildout.config.BuildoutCfgHighlighterFactory"/>
552
553     <localInspection language="BuildoutCfg" shortName="BuildoutUnresolvedPartInspection" bundle="com.jetbrains.python.PyBundle"
554                      key="buildout.unresolved.part.inspection" groupKey="buildout" enabledByDefault="true" level="WARNING"
555                      implementationClass="com.jetbrains.python.buildout.config.inspection.BuildoutUnresolvedPartInspection"/>
556
557     <colorSettingsPage implementation="com.jetbrains.python.buildout.config.BuildoutCfgColorsPage"/>
558     <moduleService serviceInterface="com.jetbrains.python.testing.TestRunnerService"
559                    serviceImplementation="com.jetbrains.python.testing.TestRunnerService"/>
560
561     <problemFileHighlightFilter implementation="com.jetbrains.python.buildout.config.BuildoutCfgProblemFileHighlightFilter"/>
562
563
564     <!-- PyDocstring -->
565     <languageInjector implementation="com.jetbrains.python.documentation.doctest.PyDocstringLanguageInjector"/>
566     <lang.parserDefinition language="PyDocstring" implementationClass="com.jetbrains.python.documentation.doctest.PyDocstringParserDefinition"/>
567     <highlightErrorFilter implementation="com.jetbrains.python.documentation.doctest.PyDocstringErrorFilter"/>
568
569     <!-- Packaging -->
570     <moduleService serviceInterface="com.jetbrains.python.packaging.PyPackageRequirementsSettings"
571                    serviceImplementation="com.jetbrains.python.packaging.PyPackageRequirementsSettings"/>
572
573     <!-- typing -->
574     <multiHostInjector implementation="com.jetbrains.python.codeInsight.PyTypingAnnotationInjector"/>
575     <lang.parserDefinition language="PythonStub" implementationClass="com.jetbrains.python.pyi.PyiParserDefinition"/>
576     <fileTypeFactory implementation="com.jetbrains.python.pyi.PyiFileTypeFactory"/>
577     <codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.pyi.PyiRelatedItemLineMarkerProvider"/>
578
579     <lang.inspectionSuppressor language="Python" implementationClass="com.jetbrains.python.inspections.PyInspectionsSuppressor"/>
580     <refactoring.invertBoolean implementation="com.jetbrains.python.refactoring.invertBoolean.PyInvertBooleanDelegate"/>
581     <backspaceHandlerDelegate implementation="com.jetbrains.python.codeInsight.editorActions.PyTripleQuoteBackspaceDelegate"/>
582   </extensions>
583
584   <extensionPoints>
585     <extensionPoint qualifiedName="Pythonid.pythonDocumentationQuickInfoProvider" interface="com.jetbrains.python.documentation.PythonDocumentationQuickInfoProvider"/>
586     <extensionPoint qualifiedName="Pythonid.importResolver" interface="com.jetbrains.python.psi.impl.PyImportResolver"/>
587     <extensionPoint qualifiedName="Pythonid.magicLiteral" interface="com.jetbrains.python.magicLiteral.PyMagicLiteralExtensionPoint"/>
588     <extensionPoint qualifiedName="Pythonid.unresolvedReferenceSkipper" interface="com.jetbrains.python.inspections.unresolvedReference.PyUnresolvedReferenceSkipperExtPoint"/>
589     <extensionPoint qualifiedName="Pythonid.resolveResultRater" interface="com.jetbrains.python.psi.impl.PyResolveResultRater"/>
590     <extensionPoint qualifiedName="Pythonid.typeProvider" interface="com.jetbrains.python.psi.impl.PyTypeProvider"/>
591     <extensionPoint qualifiedName="Pythonid.pySuperMethodsSearch" interface="com.intellij.util.QueryExecutor"/>
592     <extensionPoint qualifiedName="Pythonid.pyClassInheritorsSearch" interface="com.intellij.util.QueryExecutor"/>
593     <extensionPoint qualifiedName="Pythonid.pyClassMembersProvider" interface="com.jetbrains.python.psi.types.PyClassMembersProvider"/>
594     <extensionPoint qualifiedName="Pythonid.pyModuleMembersProvider" interface="com.jetbrains.python.psi.types.PyModuleMembersProvider"/>
595     <extensionPoint qualifiedName="Pythonid.pyOverridingMethodsSearch" interface="com.intellij.util.QueryExecutor"/>
596     <extensionPoint qualifiedName="Pythonid.runnableScriptFilter" interface="com.jetbrains.python.run.RunnableScriptFilter"/>
597     <extensionPoint qualifiedName="Pythonid.runnableUnitTestFilter" interface="com.jetbrains.python.testing.RunnableUnitTestFilter"/>
598     <extensionPoint qualifiedName="Pythonid.unresolvedReferenceQuickFixProvider"
599                     interface="com.jetbrains.python.inspections.PyUnresolvedReferenceQuickFixProvider"/>
600     <extensionPoint qualifiedName="Pythonid.dumbAnnotator" interface="com.jetbrains.python.validation.PyAnnotator"/>
601     <extensionPoint qualifiedName="Pythonid.inspectionExtension" interface="com.jetbrains.python.inspections.PyInspectionExtension"/>
602     <extensionPoint qualifiedName="Pythonid.customTargetExpressionStubType"
603                     interface="com.jetbrains.python.psi.impl.stubs.CustomTargetExpressionStubType"/>
604     <extensionPoint qualifiedName="Pythonid.knownDecoratorProvider" interface="com.jetbrains.python.psi.PyKnownDecoratorProvider"/>
605     <extensionPoint qualifiedName="Pythonid.documentationLinkProvider" interface="com.jetbrains.python.documentation.PythonDocumentationLinkProvider"/>
606     <extensionPoint qualifiedName="Pythonid.importCandidateProvider" interface="com.jetbrains.python.codeInsight.imports.PyImportCandidateProvider"/>
607     <extensionPoint qualifiedName="Pythonid.dialectsTokenSetContributor" interface="com.jetbrains.python.PythonDialectsTokenSetContributor"/>
608     <extensionPoint qualifiedName="Pythonid.runConfigurationExtension" interface="com.jetbrains.python.run.PythonRunConfigurationExtension"/>
609     <extensionPoint qualifiedName="Pythonid.visitorFilter" beanClass="com.intellij.lang.LanguageExtensionPoint">
610       <with attribute="implementationClass" implements="com.jetbrains.python.inspections.PythonVisitorFilter"/>
611     </extensionPoint>
612     <extensionPoint qualifiedName="Pythonid.remoteInterpreterManager" interface="com.jetbrains.python.remote.PythonRemoteInterpreterManager"/>
613     <extensionPoint qualifiedName="Pythonid.remoteSkeletonGeneratorFactory" interface="com.jetbrains.python.remote.PyRemoteSkeletonGeneratorFactory"/>
614     <extensionPoint qualifiedName="Pythonid.remoteProcessStarterManager" interface="com.jetbrains.python.run.PyRemoteProcessStarterManager"/>
615     <extensionPoint qualifiedName="Pythonid.keywordArgumentProvider" interface="com.jetbrains.python.psi.impl.PyKeywordArgumentProvider"/>
616     <extensionPoint qualifiedName="Pythonid.canonicalPathProvider" interface="com.jetbrains.python.psi.resolve.PyCanonicalPathProvider"/>
617     <extensionPoint qualifiedName="Pythonid.templateContextProvider" interface="com.jetbrains.python.templateLanguages.TemplateContextProvider"/>
618     <extensionPoint qualifiedName="Pythonid.pyReferenceResolveProvider" interface="com.jetbrains.python.psi.resolve.PyReferenceResolveProvider"/>
619     <extensionPoint qualifiedName="Pythonid.breakpointHandler" interface="com.jetbrains.python.debugger.PyBreakpointHandlerFactory"/>
620     <extensionPoint qualifiedName="Pythonid.consoleOptionsProvider" interface="com.jetbrains.python.console.PyConsoleOptionsProvider"/>
621     <extensionPoint qualifiedName="Pythonid.testLocator" interface="com.jetbrains.python.testing.PythonTestLocator"/>
622     <extensionPoint qualifiedName="Pythonid.pyRootTypeProvider" interface="com.jetbrains.python.module.PyRootTypeProvider"/>
623   </extensionPoints>
624
625   <extensions defaultExtensionNs="Pythonid">
626     <testLocator implementation="com.jetbrains.python.testing.PythonUnitTestTestIdUrlProvider"/>
627     <testLocator implementation="com.jetbrains.python.testing.nosetest.PythonNoseTestUrlProvider"/>
628     <pySuperMethodsSearch implementation="com.jetbrains.python.psi.search.PySuperMethodsSearchExecutor"/>
629     <pyClassInheritorsSearch implementation="com.jetbrains.python.psi.search.PyClassInheritorsSearchExecutor"/>
630     <pyOverridingMethodsSearch implementation="com.jetbrains.python.psi.search.PyOverridingMethodsSearchExecutor"/>
631     <runnableScriptFilter implementation="com.jetbrains.python.testing.PythonUnitTestRunnableScriptFilter"/>
632     <dumbAnnotator implementation="com.jetbrains.python.validation.DocStringAnnotator"/>
633     <dumbAnnotator implementation="com.jetbrains.python.validation.PyDefinitionsAnnotator"/>
634     <dumbAnnotator implementation="com.jetbrains.python.validation.GeneratorInArgumentListAnnotator"/>
635     <dumbAnnotator implementation="com.jetbrains.python.validation.StarAnnotator"/>
636     <dumbAnnotator implementation="com.jetbrains.python.validation.StringLiteralQuotesAnnotator"/>
637     <dumbAnnotator implementation="com.jetbrains.python.validation.DumbAwareHighlightingAnnotator"/>
638
639     <customTargetExpressionStubType implementation="com.jetbrains.python.psi.impl.stubs.PropertyStubType"/>
640     <dialectsTokenSetContributor implementation="com.jetbrains.python.PythonTokenSetContributor"/>
641     <pyClassMembersProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibClassMembersProvider"/>
642     <typeProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibTypeProvider"/>
643     <pyModuleMembersProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibModuleMembersProvider"/>
644     <documentationLinkProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibDocumentationLinkProvider"/>
645     <canonicalPathProvider implementation="com.jetbrains.python.codeInsight.stdlib.PyStdlibCanonicalPathProvider"/>
646
647     <!-- User skeletons -->
648     <pyModuleMembersProvider implementation="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsModuleMembersProvider"/>
649     <pyClassMembersProvider implementation="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsClassMembersProvider"/>
650     <typeProvider implementation="com.jetbrains.python.codeInsight.userSkeletons.PyUserSkeletonsTypeProvider"/>
651
652     <!-- typing -->
653     <typeProvider implementation="com.jetbrains.python.codeInsight.PyTypingTypeProvider"/>
654     <typeProvider implementation="com.jetbrains.python.pyi.PyiTypeProvider"/>
655     <pyModuleMembersProvider implementation="com.jetbrains.python.pyi.PyiModuleMembersProvider"/>
656     <pyClassMembersProvider implementation="com.jetbrains.python.pyi.PyiClassMembersProvider"/>
657     <visitorFilter language="PythonStub" implementationClass="com.jetbrains.python.pyi.PyiVisitorFilter"/>
658
659     <typeProvider implementation="com.jetbrains.python.debugger.PyCallSignatureTypeProvider"/>
660     <pyReferenceResolveProvider implementation="com.jetbrains.python.psi.resolve.PythonBuiltinReferenceResolveProvider"/>
661
662     <!-- NumPy -->
663     <pyModuleMembersProvider implementation="com.jetbrains.numpy.codeInsight.NumpyModuleMembersProvider"/>
664     <typeProvider implementation="com.jetbrains.numpy.codeInsight.NumpyDocStringTypeProvider"/>
665     <resolveResultRater implementation="com.jetbrains.numpy.codeInsight.NumpyResolveRater"/>
666     
667     <!-- PyDocstring -->
668     <typeProvider implementation="com.jetbrains.python.documentation.docstrings.PyDocStringTypeProvider"/>
669     <dialectsTokenSetContributor implementation="com.jetbrains.python.documentation.doctest.PyDocstringTokenSetContributor"/>
670     <visitorFilter language="PyDocstring" implementationClass="com.jetbrains.python.documentation.doctest.PyDocstringVisitorFilter"/>
671
672     <!-- Console -->
673     <visitorFilter language="Python" implementationClass="com.jetbrains.python.console.ConsoleVisitorFilter"/>
674
675     <!-- Packaging -->
676     <keywordArgumentProvider implementation="com.jetbrains.python.packaging.setupPy.SetupKeywordArgumentProvider"/>
677
678     <!-- PyQt -->
679     <typeProvider implementation="com.jetbrains.pyqt.PyQtTypeProvider"/>
680   </extensions>
681
682   <project-components>
683     <component>
684       <implementation-class>com.jetbrains.python.PythonPsiManager</implementation-class>
685     </component>
686   </project-components>
687
688   <actions>
689     <group id="PyTypeHierarchyPopupMenu">
690       <reference ref="TypeHierarchyBase.BaseOnThisType"/>
691       <reference ref="TypeHierarchy.Class"/>
692       <reference ref="TypeHierarchy.Subtypes"/>
693       <reference ref="TypeHierarchy.Supertypes"/>
694       <separator/>
695       <reference ref="EditSource"/>
696       <separator/>
697       <reference ref="FindUsages"/>
698       <reference ref="RefactoringMenu"/>
699       <separator/>
700       <reference ref="AddToFavorites"/>
701       <separator/>
702       <reference ref="ReformatCode"/>
703       <reference ref="OptimizeImports"/>
704       <reference ref="$Delete"/>
705       <separator/>
706       <reference ref="VersionControlsGroup"/>
707       <separator/>
708       <reference ref="ExternalToolsGroup"/>
709       <separator/>
710       <reference ref="CompareTwoFiles"/>
711       <reference ref="CompareFileWithEditor"/>
712     </group>
713
714     <group id="PyCallHierarchyPopupMenu">
715       <reference ref="EditSource"/>
716       <separator/>
717       <reference ref="FindUsages"/>
718       <reference ref="RefactoringMenu"/>
719       <separator/>
720       <reference ref="AddToFavorites"/>
721       <separator/>
722
723       <reference ref="ReformatCode"/>
724       <reference ref="OptimizeImports"/>
725       <separator/>
726       <reference ref="VersionControlsGroup"/>
727
728       <separator/>
729       <reference ref="ExternalToolsGroup"/>
730       <separator/>
731       <reference ref="CompareTwoFiles"/>
732       <reference ref="CompareFileWithEditor"/>
733     </group>
734
735     <!-- Console -->
736     <action id="com.jetbrains.python.console.RunPythonConsoleAction"
737             class="com.jetbrains.python.console.RunPythonConsoleAction"
738             text="Python Console..." description="Allows to quickly run Python console">
739       <add-to-group group-id="ToolsMenu" anchor="last"/>
740     </action>
741
742     <action id="com.jetbrains.python.console.PyOpenDebugConsoleAction"
743             class="com.jetbrains.python.console.PyOpenDebugConsoleAction"
744             text="Open Debug Command Line" description="Opens debug command line for running process">
745       <add-to-group group-id="ToolsMenu" anchor="last"/>
746     </action>
747
748     <action id="ExecuteInPyConsoleAction"
749             class="com.jetbrains.python.actions.PyExecuteSelectionAction"
750             text="Execute selection in console"
751             description="Executes selected code fragment in Python/Django console">
752       <add-to-group group-id="EditorPopupMenu" anchor="before" relative-to-action="CompareClipboardWithSelection"/>
753
754       <keyboard-shortcut keymap="$default" first-keystroke="alt shift E"/>
755       <keyboard-shortcut keymap="Mac OS X" first-keystroke="control shift E" />
756       <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="control shift E" />
757       <keyboard-shortcut keymap="Eclipse" first-keystroke="ctrl alt E" replace-all="true"/>
758       <keyboard-shortcut keymap="NetBeans 6.5" first-keystroke="ctrl alt E" replace-all="true"/>
759     </action>
760
761     <action id="NewPythonFile" class="com.jetbrains.python.actions.CreatePythonFileAction">
762       <add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewXml"/>
763     </action>
764
765     <action id="NewPythonPackage" class="com.jetbrains.python.actions.CreatePackageAction" text="Python Package"
766             description="Create a new directory and __init__.py inside it" icon="AllIcons.Nodes.Package">
767       <add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewDir"/>
768     </action>
769
770     <action id="CompuleQrc" class="com.jetbrains.pyqt.CompileQrcAction" text="Compile .qrc file">
771       <add-to-group group-id="ProjectViewPopupMenuRunGroup" anchor="first"/>
772     </action>
773
774     <action id="CleanPyc" class="com.jetbrains.python.actions.CleanPycAction" text="Clean Python Compiled Files"
775             description="Delete compiled bytecode files in selected directory and its subdirectories">
776       <add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="ProjectViewPopupMenuRefactoringGroup"/>
777     </action>
778
779     <action id="PyDebugger.AttachToProcess" class="com.jetbrains.python.debugger.attach.PyAttachToProcessAction"
780             text="Attach to Process..."
781             description="Attach debugger to a Python process">
782
783       <add-to-group group-id="ToolsMenu" anchor="first"/>
784     </action>
785
786     <group id="PyPackagingMenu" text="Packaging">
787       <action id="CreateSetupPy" class="com.jetbrains.python.packaging.setupPy.CreateSetupPyAction"/>
788       <action id="RunSetupPyTask" class="com.jetbrains.python.packaging.setupPy.SetupTaskChooserAction"/>
789       <add-to-group group-id="ToolsMenu" anchor="last"/>
790     </group>
791
792     <action id="PythonGenerateDictionaries" class="com.jetbrains.python.spellchecker.PythonSpellcheckerGenerateDictionariesAction"
793             text="Generate Python Spellchecker Dictionaries" internal="true">
794       <add-to-group group-id="Internal"/>
795     </action>
796
797     <action id="PyDebugger.ViewArray" class="com.jetbrains.python.debugger.array.PyViewArrayAction" text="View as Array">
798       <add-to-group group-id="XDebugger.ValueGroup" anchor="after" relative-to-action="Debugger.Tree.AddToWatches"/>
799     </action>
800
801     <action id="PyConvertModuleToPackage" class="com.jetbrains.python.refactoring.convertModulePackage.PyConvertModuleToPackageAction"
802             text="Convert to Python Package"
803             description="Create package with the same name and move content of the module to its __init__.py">
804       <add-to-group group-id="RefactoringMenu" anchor="last" />
805     </action>
806
807     <action id="PyConvertPackageToModuleAction" class="com.jetbrains.python.refactoring.convertModulePackage.PyConvertPackageToModuleAction"
808             text="Convert to Python Module"
809             description="Create module with the same name and move content of __init__.py to that module">
810       <add-to-group group-id="RefactoringMenu" anchor="last" />
811     </action>
812
813     <action id="StepIntoMyCode" class="com.jetbrains.python.debugger.PyStepIntoMyCodeAction" icon="PythonIcons.Python.Debug.StepIntoMyCode"
814             text="Step Into My Code" description="Step to the next line executed ignoring libraries"
815             use-shortcut-of="ForceStepInto">
816       <add-to-group group-id="DebugMainMenu" relative-to-action="StepInto" anchor="after"/>
817       <add-to-group group-id="XDebugger.ToolWindow.TopToolbar" relative-to-action="StepInto" anchor="after"/>
818     </action>
819
820     <action id="PyConvertLocalFunctionToTopLevelFunctionAction" class="com.jetbrains.python.refactoring.makeFunctionTopLevel.PyMakeFunctionTopLevelRefactoring"
821             text="Make Top-Level Function"
822             description="Convert local function or method to top-level function, transforming names from enclosing scope and instance attributes into parameters">
823       <add-to-group group-id="RefactoringMenu"/>
824     </action>
825
826   </actions>
827
828   <extensions defaultExtensionNs="com.intellij.spellchecker">
829     <support language="Python" implementationClass="com.jetbrains.python.spellchecker.PythonSpellcheckerStrategy"/>
830     <bundledDictionaryProvider implementation="com.jetbrains.python.spellchecker.PythonBundledDictionaryProvider"/>
831   </extensions>
832
833   <application-components>
834     <component>
835       <implementation-class>com.jetbrains.python.testing.VFSTestFrameworkListener</implementation-class>
836     </component>
837   </application-components>
838
839 </idea-plugin>