Code Style Checker eric7

Tue, 01 Nov 2022 16:46:35 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 01 Nov 2022 16:46:35 +0100
branch
eric7
changeset 9458
3b41bb7d1623
parent 9457
1e0a9199479e
child 9459
f9c6a8f86195

Code Style Checker
- added a few imports style options and added a sorting function iaw. the 'isort' utility

docs/changelog.md file | annotate | diff | comparison | revisions
src/eric7/APIs/Python3/eric7.api file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportsChecker.py file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_cs.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.qm file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_empty.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_en.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_fr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_it.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_pt.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_tr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog.md	Mon Oct 31 17:54:41 2022 +0100
+++ b/docs/changelog.md	Tue Nov 01 16:46:35 2022 +0100
@@ -5,6 +5,9 @@
 - Code Formatting
     - added an interface to resort the import statements of Python source files with
       the 'isort' utility
+- Code Style Checker
+    - added a few imports style options and added a sorting function iaw. the 'isort'
+      utility
 - Previewers
     - added a button to copy the contents of the HTML previewer to the clipboard
 
--- a/src/eric7/APIs/Python3/eric7.api	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/APIs/Python3/eric7.api	Tue Nov 01 16:46:35 2022 +0100
@@ -3536,6 +3536,7 @@
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.cryptoBitSelectionsEc?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.filenameRole?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.fixableRole?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.getDefaults?4()
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.hasResults?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.ignoredRole?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.lineRole?7
@@ -3643,7 +3644,10 @@
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.ImportNode?1(appNames, astNode, checker)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.Codes?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.getStandardModules?4()
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.keyCallback?4()
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.moduleKey?4(moduleName)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.run?4()
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.sorted?4(toSort, key=None, reverse=False)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker?1(source, filename, tree, select, ignore, expected, repeat, args)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.GroupEnum.APPLICATION?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.GroupEnum.FUTURE?7
Binary file src/eric7/Documentation/Help/source.qch has changed
--- a/src/eric7/Documentation/Help/source.qhp	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Documentation/Help/source.qhp	Tue Nov 01 16:46:35 2022 +0100
@@ -2848,6 +2848,7 @@
       <keyword name="CodeStyleCheckerDialog.__updateStatistics" id="CodeStyleCheckerDialog.__updateStatistics" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__updateStatistics" />
       <keyword name="CodeStyleCheckerDialog.check" id="CodeStyleCheckerDialog.check" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.check" />
       <keyword name="CodeStyleCheckerDialog.checkBatch" id="CodeStyleCheckerDialog.checkBatch" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.checkBatch" />
+      <keyword name="CodeStyleCheckerDialog.getDefaults" id="CodeStyleCheckerDialog.getDefaults" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.getDefaults" />
       <keyword name="CodeStyleCheckerDialog.on_addBuiltinButton_clicked" id="CodeStyleCheckerDialog.on_addBuiltinButton_clicked" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_addBuiltinButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_addWhitelistButton_clicked" id="CodeStyleCheckerDialog.on_addWhitelistButton_clicked" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_addWhitelistButton_clicked" />
       <keyword name="CodeStyleCheckerDialog.on_builtinsAssignmentList_itemSelectionChanged" id="CodeStyleCheckerDialog.on_builtinsAssignmentList_itemSelectionChanged" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.on_builtinsAssignmentList_itemSelectionChanged" />
@@ -9248,6 +9249,7 @@
       <keyword name="ImportsChecker" id="ImportsChecker" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker" />
       <keyword name="ImportsChecker (Constructor)" id="ImportsChecker (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__init__" />
       <keyword name="ImportsChecker (Module)" id="ImportsChecker (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html" />
+      <keyword name="ImportsChecker.__atoi" id="ImportsChecker.__atoi" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__atoi" />
       <keyword name="ImportsChecker.__checkBannedImport" id="ImportsChecker.__checkBannedImport" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkBannedImport" />
       <keyword name="ImportsChecker.__checkBannedRelativeImports" id="ImportsChecker.__checkBannedRelativeImports" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkBannedRelativeImports" />
       <keyword name="ImportsChecker.__checkImportOrder" id="ImportsChecker.__checkImportOrder" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkImportOrder" />
@@ -9259,9 +9261,14 @@
       <keyword name="ImportsChecker.__findNodes" id="ImportsChecker.__findNodes" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__findNodes" />
       <keyword name="ImportsChecker.__ignoreCode" id="ImportsChecker.__ignoreCode" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__ignoreCode" />
       <keyword name="ImportsChecker.__isModuleBanned" id="ImportsChecker.__isModuleBanned" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__isModuleBanned" />
+      <keyword name="ImportsChecker.__naturalKeys" id="ImportsChecker.__naturalKeys" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__naturalKeys" />
+      <keyword name="ImportsChecker.__naturally" id="ImportsChecker.__naturally" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__naturally" />
       <keyword name="ImportsChecker.__tidyImports" id="ImportsChecker.__tidyImports" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__tidyImports" />
       <keyword name="ImportsChecker.getStandardModules" id="ImportsChecker.getStandardModules" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.getStandardModules" />
+      <keyword name="ImportsChecker.keyCallback" id="ImportsChecker.keyCallback" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.keyCallback" />
+      <keyword name="ImportsChecker.moduleKey" id="ImportsChecker.moduleKey" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.moduleKey" />
       <keyword name="ImportsChecker.run" id="ImportsChecker.run" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.run" />
+      <keyword name="ImportsChecker.sorted" id="ImportsChecker.sorted" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.sorted" />
       <keyword name="ImportsDiagramBuilder" id="ImportsDiagramBuilder" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder" />
       <keyword name="ImportsDiagramBuilder (Constructor)" id="ImportsDiagramBuilder (Constructor)" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder.__init__" />
       <keyword name="ImportsDiagramBuilder (Module)" id="ImportsDiagramBuilder (Module)" ref="eric7.Graphics.ImportsDiagramBuilder.html" />
--- a/src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html	Tue Nov 01 16:46:35 2022 +0100
@@ -199,6 +199,10 @@
 <td>Public method to start a style check batch job.</td>
 </tr>
 <tr>
+<td><a href="#CodeStyleCheckerDialog.getDefaults">getDefaults</a></td>
+<td>Public method to get a dictionary containing the default values.</td>
+</tr>
+<tr>
 <td><a href="#CodeStyleCheckerDialog.on_addBuiltinButton_clicked">on_addBuiltinButton_clicked</a></td>
 <td>Private slot to add a built-in assignment to be ignored.</td>
 </tr>
@@ -942,6 +946,25 @@
 <p>
         The results are reported to the __processResult slot.
 </p>
+<a NAME="CodeStyleCheckerDialog.getDefaults" ID="CodeStyleCheckerDialog.getDefaults"></a>
+<h4>CodeStyleCheckerDialog.getDefaults</h4>
+<b>getDefaults</b>(<i></i>)
+
+<p>
+        Public method to get a dictionary containing the default values.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+dictionary containing the default values
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+dict
+</dd>
+</dl>
 <a NAME="CodeStyleCheckerDialog.on_addBuiltinButton_clicked" ID="CodeStyleCheckerDialog.on_addBuiltinButton_clicked"></a>
 <h4>CodeStyleCheckerDialog.on_addBuiltinButton_clicked</h4>
 <b>on_addBuiltinButton_clicked</b>(<i></i>)
--- a/src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html	Tue Nov 01 16:46:35 2022 +0100
@@ -59,6 +59,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#ImportsChecker.__atoi">__atoi</a></td>
+<td>Private method to convert the given text to an integer number.</td>
+</tr>
+<tr>
 <td><a href="#ImportsChecker.__checkBannedImport">__checkBannedImport</a></td>
 <td>Private method to check import of banned modules.</td>
 </tr>
@@ -103,6 +107,14 @@
 <td>Private method to check, if the given module name banned.</td>
 </tr>
 <tr>
+<td><a href="#ImportsChecker.__naturalKeys">__naturalKeys</a></td>
+<td>Private method to generate keys for natural sorting.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__naturally">__naturally</a></td>
+<td>Private method to sort the given list of names naturally.</td>
+</tr>
+<tr>
 <td><a href="#ImportsChecker.__tidyImports">__tidyImports</a></td>
 <td>Private method to check various other import related topics.</td>
 </tr>
@@ -111,9 +123,21 @@
 <td>Public method to get a list of modules of the standard library.</td>
 </tr>
 <tr>
+<td><a href="#ImportsChecker.keyCallback">keyCallback</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.moduleKey">moduleKey</a></td>
+<td>Public method to generate a key for the given module name.</td>
+</tr>
+<tr>
 <td><a href="#ImportsChecker.run">run</a></td>
 <td>Public method to check the given source against miscellaneous conditions.</td>
 </tr>
+<tr>
+<td><a href="#ImportsChecker.sorted">sorted</a></td>
+<td>Public method to sort the given list of names.</td>
+</tr>
 </table>
 <h3>Static Methods</h3>
 
@@ -163,6 +187,32 @@
 dictionary of arguments for the various checks
 </dd>
 </dl>
+<a NAME="ImportsChecker.__atoi" ID="ImportsChecker.__atoi"></a>
+<h4>ImportsChecker.__atoi</h4>
+<b>__atoi</b>(<i>text</i>)
+
+<p>
+        Private method to convert the given text to an integer number.
+</p>
+<dl>
+
+<dt><i>text</i> (str)</dt>
+<dd>
+text to be converted
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+integer number
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+int
+</dd>
+</dl>
 <a NAME="ImportsChecker.__checkBannedImport" ID="ImportsChecker.__checkBannedImport"></a>
 <h4>ImportsChecker.__checkBannedImport</h4>
 <b>__checkBannedImport</b>(<i>node</i>)
@@ -377,6 +427,71 @@
 bool
 </dd>
 </dl>
+<a NAME="ImportsChecker.__naturalKeys" ID="ImportsChecker.__naturalKeys"></a>
+<h4>ImportsChecker.__naturalKeys</h4>
+<b>__naturalKeys</b>(<i>text</i>)
+
+<p>
+        Private method to generate keys for natural sorting.
+</p>
+<dl>
+
+<dt><i>text</i> (str)</dt>
+<dd>
+text to generate a key for
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+key for natural sorting
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of str or int
+</dd>
+</dl>
+<a NAME="ImportsChecker.__naturally" ID="ImportsChecker.__naturally"></a>
+<h4>ImportsChecker.__naturally</h4>
+<b>__naturally</b>(<i>toSort, key=None, reverse=False</i>)
+
+<p>
+        Private method to sort the given list of names naturally.
+</p>
+<p>
+        Note: Natural sorting maintains the sort order of numbers (i.e.
+            [Q1, Q10, Q2] is sorted as [Q1, Q2, Q10] while the Python
+            standard sort would yield [Q1, Q10, Q2].
+</p>
+<dl>
+
+<dt><i>toSort</i> (list of str)</dt>
+<dd>
+list of names to be sorted
+</dd>
+<dt><i>key</i> (function (optional))</dt>
+<dd>
+function to generate keys (defaults to None)
+</dd>
+<dt><i>reverse</i> (bool (optional))</dt>
+<dd>
+flag indicating a reverse sort (defaults to False)
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+sorted list of names
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl>
 <a NAME="ImportsChecker.__tidyImports" ID="ImportsChecker.__tidyImports"></a>
 <h4>ImportsChecker.__tidyImports</h4>
 <b>__tidyImports</b>(<i></i>)
@@ -403,6 +518,36 @@
 set of str
 </dd>
 </dl>
+<a NAME="ImportsChecker.keyCallback" ID="ImportsChecker.keyCallback"></a>
+<h4>ImportsChecker.keyCallback</h4>
+<b>keyCallback</b>(<i></i>)
+
+<a NAME="ImportsChecker.moduleKey" ID="ImportsChecker.moduleKey"></a>
+<h4>ImportsChecker.moduleKey</h4>
+<b>moduleKey</b>(<i>moduleName</i>)
+
+<p>
+        Public method to generate a key for the given module name.
+</p>
+<dl>
+
+<dt><i>moduleName</i> (str)</dt>
+<dd>
+module name
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+generated key
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
 <a NAME="ImportsChecker.run" ID="ImportsChecker.run"></a>
 <h4>ImportsChecker.run</h4>
 <b>run</b>(<i></i>)
@@ -411,6 +556,40 @@
         Public method to check the given source against miscellaneous
         conditions.
 </p>
+<a NAME="ImportsChecker.sorted" ID="ImportsChecker.sorted"></a>
+<h4>ImportsChecker.sorted</h4>
+<b>sorted</b>(<i>toSort, key=None, reverse=False</i>)
+
+<p>
+        Public method to sort the given list of names.
+</p>
+<dl>
+
+<dt><i>toSort</i> (list of str)</dt>
+<dd>
+list of names to be sorted
+</dd>
+<dt><i>key</i> (function (optional))</dt>
+<dd>
+function to generate keys (defaults to None)
+</dd>
+<dt><i>reverse</i> (bool (optional))</dt>
+<dd>
+flag indicating a reverse sort (defaults to False)
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+sorted list of names
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
\ No newline at end of file
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Tue Nov 01 16:46:35 2022 +0100
@@ -39,6 +39,7 @@
 
 from .Miscellaneous.MiscellaneousDefaults import MiscellaneousCheckerDefaultArgs
 from .Annotations.AnnotationsCheckerDefaults import AnnotationsCheckerDefaultArgs
+from .Security.SecurityDefaults import SecurityDefaults
 
 
 class CodeStyleCheckerDialog(QDialog, Ui_CodeStyleCheckerDialog):
@@ -151,6 +152,9 @@
         self.ecHighRiskCombo.addItems(CodeStyleCheckerDialog.cryptoBitSelectionsEc)
         self.ecMediumRiskCombo.addItems(CodeStyleCheckerDialog.cryptoBitSelectionsEc)
 
+        self.sortOrderComboBox.addItem("Natural", "natural")
+        self.sortOrderComboBox.addItem("Native Python", "native")
+
         self.statisticsButton.setEnabled(False)
         self.showButton.setEnabled(False)
         self.cancelButton.setEnabled(True)
@@ -417,142 +421,56 @@
         else:
             self.allowAllButton.setChecked(True)
 
-    def prepare(self, fileList, project):
+    def getDefaults(self):
         """
-        Public method to prepare the dialog with a list of filenames.
-
-        @param fileList list of filenames
-        @type list of str
-        @param project reference to the project object
-        @type Project
-        """
-        self.__fileOrFileList = fileList[:]
-        self.__project = project
-        self.__forProject = True
-
-        self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled(True)
-        self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setDefault(True)
-        self.cancelButton.setEnabled(False)
+        Public method to get a dictionary containing the default values.
 
-        self.__data = self.__project.getData("CHECKERSPARMS", "Pep8Checker")
-        if self.__data is None or len(self.__data) < 6:
-            # initialize the data structure
-            self.__data = {
-                "ExcludeFiles": "",
-                "ExcludeMessages": pycodestyle.DEFAULT_IGNORE,
-                "IncludeMessages": "",
-                "RepeatMessages": False,
-                "FixCodes": "",
-                "FixIssues": False,
-            }
-        if "EnabledCheckerCategories" not in self.__data:
-            self.__data["EnabledCheckerCategories"] = ",".join(
+        @return dictionary containing the default values
+        @rtype dict
+        """
+        defaults = {
+            # General
+            "ExcludeFiles": "",
+            "ExcludeMessages": pycodestyle.DEFAULT_IGNORE,
+            "IncludeMessages": "",
+            "RepeatMessages": False,
+            "FixCodes": "",
+            "FixIssues": False,
+            "EnabledCheckerCategories": ",".join(
                 CodeStyleCheckerDialog.checkCategories.keys()
-            )
-        if "MaxLineLength" not in self.__data:
-            self.__data["MaxLineLength"] = 88
+            ),
+            "MaxLineLength": 88,
             # better code formatting than pycodestyle.MAX_LINE_LENGTH
             # see the Black tool
-        if "MaxDocLineLength" not in self.__data:
-            self.__data["MaxDocLineLength"] = 88
-        if "BlankLines" not in self.__data:
-            self.__data["BlankLines"] = (2, 1)
-            # top level, method
-        if "HangClosing" not in self.__data:
-            self.__data["HangClosing"] = False
-        if "NoFixCodes" not in self.__data:
-            self.__data["NoFixCodes"] = "E501"
-        if "DocstringType" not in self.__data:
-            self.__data["DocstringType"] = "pep257"
-        if "ShowIgnored" not in self.__data:
-            self.__data["ShowIgnored"] = False
-        if "MaxCodeComplexity" not in self.__data:
-            self.__data["MaxCodeComplexity"] = 10
-        if "LineComplexity" not in self.__data:
-            self.__data["LineComplexity"] = 15
-        if "LineComplexityScore" not in self.__data:
-            self.__data["LineComplexityScore"] = 10
-        if "ValidEncodings" not in self.__data:
-            self.__data["ValidEncodings"] = MiscellaneousCheckerDefaultArgs[
-                "CodingChecker"
-            ]
-        if (
-            "CopyrightMinFileSize" not in self.__data
-            or "CopyrightAuthor" not in self.__data
-        ):
-            self.__data["CopyrightMinFileSize"] = MiscellaneousCheckerDefaultArgs[
-                "CopyrightChecker"
-            ]["MinFilesize"]
-            self.__data["CopyrightAuthor"] = MiscellaneousCheckerDefaultArgs[
-                "CopyrightChecker"
-            ]["Author"]
-        if "FutureChecker" not in self.__data:
-            self.__data["FutureChecker"] = ""
-        if "BuiltinsChecker" not in self.__data:
-            self.__data["BuiltinsChecker"] = copy.deepcopy(
+            "MaxDocLineLength": 88,
+            "BlankLines": (2, 1),  # top level, method
+            "HangClosing": False,
+            "NoFixCodes": "E501",
+            "DocstringType": "pep257",
+            "ShowIgnored": False,
+            # Complexity
+            "MaxCodeComplexity": 10,
+            "LineComplexity": 15,
+            "LineComplexityScore": 10,
+            # Miscellaneous
+            "ValidEncodings": MiscellaneousCheckerDefaultArgs["CodingChecker"],
+            "CopyrightMinFileSize": MiscellaneousCheckerDefaultArgs["CopyrightChecker"][
+                "MinFilesize"
+            ],
+            "CopyrightAuthor": MiscellaneousCheckerDefaultArgs["CopyrightChecker"][
+                "Author"
+            ],
+            "FutureChecker": "",
+            "BuiltinsChecker": copy.deepcopy(
                 MiscellaneousCheckerDefaultArgs["BuiltinsChecker"]
-            )
-
-        if "CommentedCodeChecker" not in self.__data:
-            self.__data["CommentedCodeChecker"] = copy.deepcopy(
+            ),
+            "CommentedCodeChecker": copy.deepcopy(
                 MiscellaneousCheckerDefaultArgs["CommentedCodeChecker"]
-            )
-        if "WhiteList" not in self.__data["CommentedCodeChecker"]:
-            self.__data["CommentedCodeChecker"][
-                "WhiteList"
-            ] = MiscellaneousCheckerDefaultArgs["CommentedCodeChecker"]["WhiteList"][:]
-
-        if "AnnotationsChecker" not in self.__data:
-            self.__data["AnnotationsChecker"] = copy.deepcopy(
-                AnnotationsCheckerDefaultArgs
-            )
-        else:
-            # We are upgrading from an older data structure
-            if "MaximumLength" not in self.__data["AnnotationsChecker"]:
-                # MaximumLength is the sentinel for the first extension
-                self.__data["AnnotationsChecker"].update(
-                    {
-                        "MaximumLength": AnnotationsCheckerDefaultArgs["MaximumLength"],
-                        "SuppressNoneReturning": AnnotationsCheckerDefaultArgs[
-                            "SuppressNoneReturning"
-                        ],
-                        "SuppressDummyArgs": AnnotationsCheckerDefaultArgs[
-                            "SuppressDummyArgs"
-                        ],
-                        "AllowUntypedDefs": AnnotationsCheckerDefaultArgs[
-                            "AllowUntypedDefs"
-                        ],
-                        "AllowUntypedNested": AnnotationsCheckerDefaultArgs[
-                            "AllowUntypedNested"
-                        ],
-                        "MypyInitReturn": AnnotationsCheckerDefaultArgs[
-                            "MypyInitReturn"
-                        ],
-                        "DispatchDecorators": AnnotationsCheckerDefaultArgs[
-                            "DispatchDecorators"
-                        ],
-                        "OverloadDecorators": AnnotationsCheckerDefaultArgs[
-                            "OverloadDecorators"
-                        ],
-                    }
-                )
-            if "AllowStarArgAny" not in self.__data["AnnotationsChecker"]:
-                # AllowStarArgAny is the sentinel for the second extension
-                self.__data["AnnotationsChecker"].update(
-                    {
-                        "AllowStarArgAny": AnnotationsCheckerDefaultArgs[
-                            "AllowStarArgAny"
-                        ],
-                        "ForceFutureAnnotations": AnnotationsCheckerDefaultArgs[
-                            "ForceFutureAnnotations"
-                        ],
-                    }
-                )
-
-        if "SecurityChecker" not in self.__data:
-            from .Security.SecurityDefaults import SecurityDefaults
-
-            self.__data["SecurityChecker"] = {
+            ),
+            # Annotations
+            "AnnotationsChecker": copy.deepcopy(AnnotationsCheckerDefaultArgs),
+            # Security
+            "SecurityChecker": {
                 "HardcodedTmpDirectories": SecurityDefaults[
                     "hardcoded_tmp_directories"
                 ],
@@ -571,14 +489,105 @@
                 "WeakKeySizeEcHigh": str(SecurityDefaults["weak_key_size_ec_high"]),
                 "WeakKeySizeEcMedium": str(SecurityDefaults["weak_key_size_ec_medium"]),
                 "CheckTypedException": SecurityDefaults["check_typed_exception"],
-            }
-
-        if "ImportsChecker" not in self.__data:
-            self.__data["ImportsChecker"] = {
+            },
+            # Imports
+            "ImportsChecker": {
                 "ApplicationPackageNames": [],
                 "BannedModules": [],
                 "BanRelativeImports": "",
-            }
+                "SortOrder": "natural",
+                "SortCaseSensitive": False,
+            },
+        }
+
+        return defaults
+
+    def prepare(self, fileList, project):
+        """
+        Public method to prepare the dialog with a list of filenames.
+
+        @param fileList list of filenames
+        @type list of str
+        @param project reference to the project object
+        @type Project
+        """
+        self.__fileOrFileList = fileList[:]
+        self.__project = project
+        self.__forProject = True
+
+        self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled(True)
+        self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setDefault(True)
+        self.cancelButton.setEnabled(False)
+
+        defaultParameters = self.getDefaults()
+        self.__data = self.__project.getData("CHECKERSPARMS", "Pep8Checker")
+        if self.__data is None or len(self.__data) < 6:
+            # initialize the data structure
+            self.__data = defaultParameters
+        else:
+            for key in defaultParameters:
+                if key not in self.__data:
+                    self.__data[key] = defaultParameters[key]
+
+            if "WhiteList" not in self.__data["CommentedCodeChecker"]:
+                self.__data["CommentedCodeChecker"]["WhiteList"] = defaultParameters[
+                    "CommentedCodeChecker"
+                ]["WhiteList"][:]
+
+            # Upgrading AnnotationsChecker from older data structures
+            if "MaximumLength" not in self.__data["AnnotationsChecker"]:
+                # MaximumLength is the sentinel for the first extension
+                self.__data["AnnotationsChecker"].update(
+                    {
+                        "MaximumLength": defaultParameters["AnnotationsChecker"][
+                            "MaximumLength"
+                        ],
+                        "SuppressNoneReturning": defaultParameters[
+                            "AnnotationsChecker"
+                        ]["SuppressNoneReturning"],
+                        "SuppressDummyArgs": defaultParameters["AnnotationsChecker"][
+                            "SuppressDummyArgs"
+                        ],
+                        "AllowUntypedDefs": defaultParameters["AnnotationsChecker"][
+                            "AllowUntypedDefs"
+                        ],
+                        "AllowUntypedNested": defaultParameters["AnnotationsChecker"][
+                            "AllowUntypedNested"
+                        ],
+                        "MypyInitReturn": defaultParameters["AnnotationsChecker"][
+                            "MypyInitReturn"
+                        ],
+                        "DispatchDecorators": defaultParameters["AnnotationsChecker"][
+                            "DispatchDecorators"
+                        ],
+                        "OverloadDecorators": defaultParameters["AnnotationsChecker"][
+                            "OverloadDecorators"
+                        ],
+                    }
+                )
+            if "AllowStarArgAny" not in self.__data["AnnotationsChecker"]:
+                # AllowStarArgAny is the sentinel for the second extension
+                self.__data["AnnotationsChecker"].update(
+                    {
+                        "AllowStarArgAny": defaultParameters["AnnotationsChecker"][
+                            "AllowStarArgAny"
+                        ],
+                        "ForceFutureAnnotations": defaultParameters[
+                            "AnnotationsChecker"
+                        ]["ForceFutureAnnotations"],
+                    }
+                )
+
+            # Upgrading ImportsChecker from older data structures
+            if "SortOrder" not in self.__data["ImportsChecker"]:
+                self.__data["ImportsChecker"].update(
+                    {
+                        "SortOrder": defaultParameters["ImportsChecker"]["SortOrder"],
+                        "SortCaseSensitive": defaultParameters["ImportsChecker"][
+                            "SortCaseSensitive"
+                        ],
+                    }
+                )
 
         self.__initCategoriesList(self.__data["EnabledCheckerCategories"])
         self.excludeFilesEdit.setText(self.__data["ExcludeFiles"])
@@ -682,6 +691,23 @@
             self.__data["SecurityChecker"]["CheckTypedException"]
         )
 
+        # ImportsChecker
+        self.appPackagesEdit.setPlainText(
+            " ".join(sorted(self.__data["ImportsChecker"]["ApplicationPackageNames"]))
+        )
+        self.bannedModulesEdit.setPlainText(
+            " ".join(sorted(self.__data["ImportsChecker"]["BannedModules"]))
+        )
+        self.__setBanRelativeImports(
+            self.__data["ImportsChecker"]["BanRelativeImports"]
+        )
+        self.sortOrderComboBox.setCurrentIndex(
+            self.sortOrderComboBox.findData(self.__data["ImportsChecker"]["SortOrder"])
+        )
+        self.sortCaseSensitiveCheckBox.setChecked(
+            self.__data["ImportsChecker"]["SortCaseSensitive"]
+        )
+
         self.__cleanupData()
 
     def __prepareProgress(self):
@@ -858,6 +884,8 @@
                 ),
                 "BannedModules": sorted(self.bannedModulesEdit.toPlainText().split()),
                 "BanRelativeImports": self.__getBanRelativeImportsValue(),
+                "SortOrder": self.sortOrderComboBox.currentData(),
+                "SortCaseSensitive": self.sortCaseSensitiveCheckBox.isChecked(),
             }
 
             self.__options = [
@@ -1297,6 +1325,8 @@
                         self.bannedModulesEdit.toPlainText().split()
                     ),
                     "BanRelativeImports": self.__getBanRelativeImportsValue(),
+                    "SortOrder": self.sortOrderComboBox.currentData(),
+                    "SortCaseSensitive": self.sortCaseSensitiveCheckBox.isChecked(),
                 },
             }
             if json.dumps(data, sort_keys=True) != json.dumps(
@@ -1473,118 +1503,143 @@
         """
         Private slot to load the default configuration values.
         """
+        defaultParameters = self.getDefaults()
+        settings = Preferences.getSettings()
+
         self.__initCategoriesList(
-            Preferences.getSettings().value(
+            settings.value(
                 "PEP8/EnabledCheckerCategories",
-                ",".join(CodeStyleCheckerDialog.checkCategories.keys()),
+                defaultParameters["EnabledCheckerCategories"],
             )
         )
         self.excludeFilesEdit.setText(
-            Preferences.getSettings().value("PEP8/ExcludeFilePatterns", "")
+            settings.value(
+                "PEP8/ExcludeFilePatterns", defaultParameters["ExcludeFiles"]
+            )
         )
         self.excludeMessagesEdit.setText(
-            Preferences.getSettings().value(
-                "PEP8/ExcludeMessages", pycodestyle.DEFAULT_IGNORE
-            )
+            settings.value("PEP8/ExcludeMessages", defaultParameters["ExcludeMessages"])
         )
         self.includeMessagesEdit.setText(
-            Preferences.getSettings().value("PEP8/IncludeMessages", "")
+            settings.value("PEP8/IncludeMessages", defaultParameters["IncludeMessages"])
         )
         self.repeatCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value("PEP8/RepeatMessages", False)
+                settings.value(
+                    "PEP8/RepeatMessages", defaultParameters["RepeatMessages"]
+                )
             )
         )
-        self.fixIssuesEdit.setText(Preferences.getSettings().value("PEP8/FixCodes", ""))
+        self.fixIssuesEdit.setText(
+            settings.value("PEP8/FixCodes", defaultParameters["FixCodes"])
+        )
         self.noFixIssuesEdit.setText(
-            Preferences.getSettings().value("PEP8/NoFixCodes", "E501")
+            settings.value("PEP8/NoFixCodes", defaultParameters["NoFixCodes"])
         )
         self.fixIssuesCheckBox.setChecked(
-            Preferences.toBool(Preferences.getSettings().value("PEP8/FixIssues", False))
+            Preferences.toBool(
+                settings.value("PEP8/FixIssues", defaultParameters["FixIssues"])
+            )
         )
         self.ignoredCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value("PEP8/ShowIgnored", False)
+                settings.value("PEP8/ShowIgnored", defaultParameters["ShowIgnored"])
             )
         )
         self.lineLengthSpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/MaxLineLength", 88))
+            int(
+                settings.value("PEP8/MaxLineLength", defaultParameters["MaxLineLength"])
+            )
         )
         self.docLineLengthSpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/MaxDocLineLength", 88))
+            int(
+                settings.value(
+                    "PEP8/MaxDocLineLength", defaultParameters["MaxDocLineLength"]
+                )
+            )
         )
         self.blankBeforeTopLevelSpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/BlankLinesBeforeTopLevel", 2))
+            int(
+                settings.value(
+                    "PEP8/BlankLinesBeforeTopLevel", defaultParameters["BlankLines"][0]
+                )
+            )
         )
         self.blankBeforeMethodSpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/BlankLinesBeforeMethod", 1))
+            int(
+                settings.value(
+                    "PEP8/BlankLinesBeforeMethod", defaultParameters["BlankLines"][1]
+                )
+            )
         )
         self.hangClosingCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value("PEP8/HangClosing", False)
+                settings.value("PEP8/HangClosing", defaultParameters["HangClosing"])
             )
         )
         self.docTypeComboBox.setCurrentIndex(
             self.docTypeComboBox.findData(
-                Preferences.getSettings().value("PEP8/DocstringType", "pep257")
+                settings.value("PEP8/DocstringType", defaultParameters["DocstringType"])
             )
         )
         self.complexitySpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/MaxCodeComplexity", 10))
+            int(
+                settings.value(
+                    "PEP8/MaxCodeComplexity", defaultParameters["MaxCodeComplexity"]
+                )
+            )
         )
         self.lineComplexitySpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/LineComplexity", 15))
+            int(
+                settings.value(
+                    "PEP8/LineComplexity", defaultParameters["LineComplexity"]
+                )
+            )
         )
         self.lineComplexityScoreSpinBox.setValue(
-            int(Preferences.getSettings().value("PEP8/LineComplexityScore", 10))
+            int(
+                settings.value(
+                    "PEP8/LineComplexityScore", defaultParameters["LineComplexityScore"]
+                )
+            )
         )
         self.encodingsEdit.setText(
-            Preferences.getSettings().value(
-                "PEP8/ValidEncodings", MiscellaneousCheckerDefaultArgs["CodingChecker"]
-            )
+            settings.value("PEP8/ValidEncodings", defaultParameters["ValidEncodings"])
         )
         self.copyrightFileSizeSpinBox.setValue(
             int(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/CopyrightMinFileSize",
-                    MiscellaneousCheckerDefaultArgs["CopyrightChecker"]["MinFilesize"],
+                    defaultParameters["CopyrightMinFileSize"],
                 )
             )
         )
         self.copyrightAuthorEdit.setText(
-            Preferences.getSettings().value(
-                "PEP8/CopyrightAuthor",
-                MiscellaneousCheckerDefaultArgs["CopyrightChecker"]["Author"],
-            )
+            settings.value("PEP8/CopyrightAuthor", defaultParameters["CopyrightAuthor"])
         )
         self.__initFuturesList(
-            Preferences.getSettings().value("PEP8/FutureChecker", "")
+            settings.value("PEP8/FutureChecker", defaultParameters["FutureChecker"])
         )
         self.__initBuiltinsIgnoreList(
             Preferences.toDict(
-                Preferences.getSettings().value(
-                    "PEP8/BuiltinsChecker",
-                    MiscellaneousCheckerDefaultArgs["BuiltinsChecker"],
+                settings.value(
+                    "PEP8/BuiltinsChecker", defaultParameters["BuiltinsChecker"]
                 )
             )
         )
         self.aggressiveCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/AggressiveSearch",
-                    MiscellaneousCheckerDefaultArgs["CommentedCodeChecker"][
-                        "Aggressive"
-                    ],
+                    defaultParameters["CommentedCodeChecker"]["Aggressive"],
                 )
             )
         )
         self.__initCommentedCodeCheckerWhiteList(
             Preferences.toList(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/CommentedCodeWhitelist",
-                    MiscellaneousCheckerDefaultArgs["CommentedCodeChecker"][
-                        "WhiteList"
-                    ],
+                    defaultParameters["CommentedCodeChecker"]["WhiteList"],
                 )
             )
         )
@@ -1592,90 +1647,90 @@
         # Type Annotations Checker
         self.minAnnotationsCoverageSpinBox.setValue(
             int(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/MinimumAnnotationsCoverage",
-                    AnnotationsCheckerDefaultArgs["MinimumCoverage"],
+                    defaultParameters["AnnotationsChecker"]["MinimumCoverage"],
                 )
             )
         )
         self.maxAnnotationsComplexitySpinBox.setValue(
             int(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/MaximumAnnotationComplexity",
-                    AnnotationsCheckerDefaultArgs["MaximumComplexity"],
+                    defaultParameters["AnnotationsChecker"]["MaximumComplexity"],
                 )
             )
         )
         self.maxAnnotationsLengthSpinBox.setValue(
             int(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/MaximumAnnotationLength",
-                    AnnotationsCheckerDefaultArgs["MaximumLength"],
+                    defaultParameters["AnnotationsChecker"]["MaximumLength"],
                 )
             )
         )
         self.suppressNoneReturningCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/SuppressNoneReturning",
-                    AnnotationsCheckerDefaultArgs["SuppressNoneReturning"],
+                    defaultParameters["AnnotationsChecker"]["SuppressNoneReturning"],
                 )
             )
         )
         self.suppressDummyArgsCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/SuppressDummyArgs",
-                    AnnotationsCheckerDefaultArgs["SuppressDummyArgs"],
+                    defaultParameters["AnnotationsChecker"]["SuppressDummyArgs"],
                 )
             )
         )
         self.allowUntypedDefsCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/AllowUntypedDefs",
-                    AnnotationsCheckerDefaultArgs["AllowUntypedDefs"],
+                    defaultParameters["AnnotationsChecker"]["AllowUntypedDefs"],
                 )
             )
         )
         self.allowUntypedNestedCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/AllowUntypedNested",
-                    AnnotationsCheckerDefaultArgs["AllowUntypedNested"],
+                    defaultParameters["AnnotationsChecker"]["AllowUntypedNested"],
                 )
             )
         )
         self.mypyInitReturnCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/MypyInitReturn",
-                    AnnotationsCheckerDefaultArgs["MypyInitReturn"],
+                    defaultParameters["AnnotationsChecker"]["MypyInitReturn"],
                 )
             )
         )
         self.allowStarArgAnyCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/AllowStarArgAny",
-                    AnnotationsCheckerDefaultArgs["AllowStarArgAny"],
+                    defaultParameters["AnnotationsChecker"]["AllowStarArgAny"],
                 )
             )
         )
         self.forceFutureAnnotationsCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/ForceFutureAnnotations",
-                    AnnotationsCheckerDefaultArgs["ForceFutureAnnotations"],
+                    defaultParameters["AnnotationsChecker"]["ForceFutureAnnotations"],
                 )
             )
         )
         self.dispatchDecoratorEdit.setText(
             ", ".join(
                 Preferences.toList(
-                    Preferences.getSettings().value(
+                    settings.value(
                         "PEP8/DispatchDecorators",
-                        AnnotationsCheckerDefaultArgs["DispatchDecorators"],
+                        defaultParameters["AnnotationsChecker"]["DispatchDecorators"],
                     )
                 )
             )
@@ -1683,23 +1738,21 @@
         self.overloadDecoratorEdit.setText(
             ", ".join(
                 Preferences.toList(
-                    Preferences.getSettings().value(
+                    settings.value(
                         "PEP8/OverloadDecorators",
-                        AnnotationsCheckerDefaultArgs["OverloadDecorators"],
+                        defaultParameters["AnnotationsChecker"]["OverloadDecorators"],
                     )
                 )
             )
         )
 
         # Security Checker
-        from .Security.SecurityDefaults import SecurityDefaults
-
         self.tmpDirectoriesEdit.setPlainText(
             "\n".join(
                 Preferences.toList(
-                    Preferences.getSettings().value(
+                    settings.value(
                         "PEP8/HardcodedTmpDirectories",
-                        SecurityDefaults["hardcoded_tmp_directories"],
+                        defaultParameters["SecurityChecker"]["HardcodedTmpDirectories"],
                     )
                 )
             )
@@ -1707,8 +1760,9 @@
         self.hashesEdit.setText(
             ", ".join(
                 Preferences.toList(
-                    Preferences.getSettings().value(
-                        "PEP8/InsecureHashes", SecurityDefaults["insecure_hashes"]
+                    settings.value(
+                        "PEP8/InsecureHashes",
+                        defaultParameters["SecurityChecker"]["InsecureHashes"],
                     )
                 )
             )
@@ -1716,53 +1770,56 @@
         self.insecureSslProtocolsEdit.setPlainText(
             "\n".join(
                 Preferences.toList(
-                    Preferences.getSettings().value(
+                    settings.value(
                         "PEP8/InsecureSslProtocolVersions",
-                        SecurityDefaults["insecure_ssl_protocol_versions"],
+                        defaultParameters["SecurityChecker"][
+                            "InsecureSslProtocolVersions"
+                        ],
                     )
                 )
             )
         ),
         self.dsaHighRiskCombo.setCurrentText(
-            Preferences.getSettings().value(
+            settings.value(
                 "PEP8/WeakKeySizeDsaHigh",
-                str(SecurityDefaults["weak_key_size_dsa_high"]),
+                defaultParameters["SecurityChecker"]["WeakKeySizeDsaHigh"],
             )
         )
         self.dsaMediumRiskCombo.setCurrentText(
-            Preferences.getSettings().value(
+            settings.value(
                 "PEP8/WeakKeySizeDsaMedium",
-                str(SecurityDefaults["weak_key_size_dsa_medium"]),
+                defaultParameters["SecurityChecker"]["WeakKeySizeDsaMedium"],
             )
         ),
         self.rsaHighRiskCombo.setCurrentText(
-            Preferences.getSettings().value(
+            settings.value(
                 "PEP8/WeakKeySizeRsaHigh",
-                str(SecurityDefaults["weak_key_size_rsa_high"]),
+                defaultParameters["SecurityChecker"]["WeakKeySizeRsaHigh"],
             )
         ),
         self.rsaMediumRiskCombo.setCurrentText(
-            Preferences.getSettings().value(
+            settings.value(
                 "PEP8/WeakKeySizeRsaMedium",
-                str(SecurityDefaults["weak_key_size_rsa_medium"]),
+                defaultParameters["SecurityChecker"]["WeakKeySizeRsaMedium"],
             )
         ),
         self.ecHighRiskCombo.setCurrentText(
-            Preferences.getSettings().value(
-                "PEP8/WeakKeySizeEcHigh", str(SecurityDefaults["weak_key_size_ec_high"])
+            settings.value(
+                "PEP8/WeakKeySizeEcHigh",
+                defaultParameters["SecurityChecker"]["WeakKeySizeEcHigh"],
             )
         ),
         self.ecMediumRiskCombo.setCurrentText(
-            Preferences.getSettings().value(
+            settings.value(
                 "PEP8/WeakKeySizeEcMedium",
-                str(SecurityDefaults["weak_key_size_ec_medium"]),
+                defaultParameters["SecurityChecker"]["WeakKeySizeEcMedium"],
             )
         ),
         self.typedExceptionsCheckBox.setChecked(
             Preferences.toBool(
-                Preferences.getSettings().value(
+                settings.value(
                     "PEP8/CheckTypedException",
-                    SecurityDefaults["check_typed_exception"],
+                    defaultParameters["SecurityChecker"]["CheckTypedException"],
                 )
             )
         ),
@@ -1772,8 +1829,11 @@
             " ".join(
                 sorted(
                     Preferences.toList(
-                        Preferences.getSettings().value(
-                            "PEP8/ApplicationPackageNames", []
+                        settings.value(
+                            "PEP8/ApplicationPackageNames",
+                            defaultParameters["ImportsChecker"][
+                                "ApplicationPackageNames"
+                            ],
                         )
                     )
                 )
@@ -1783,13 +1843,34 @@
             " ".join(
                 sorted(
                     Preferences.toList(
-                        Preferences.getSettings().value("PEP8/BannedModules", [])
+                        settings.value(
+                            "PEP8/BannedModules",
+                            defaultParameters["ImportsChecker"]["BannedModules"],
+                        )
                     )
                 )
             )
         )
         self.__setBanRelativeImports(
-            Preferences.getSettings().value("PEP8/BanRelativeImports", "")
+            settings.value(
+                "PEP8/BanRelativeImports",
+                defaultParameters["ImportsChecker"]["BanRelativeImports"],
+            )
+        )
+        self.sortOrderComboBox.setCurrentIndex(
+            self.sortOrderComboBox.findData(
+                settings.value(
+                    "PEP8/SortOrder", defaultParameters["ImportsChecker"]["SortOrder"]
+                )
+            )
+        )
+        self.sortCaseSensitiveCheckBox.setChecked(
+            Preferences.toBool(
+                settings.value(
+                    "PEP8/SortCaseSensitive",
+                    defaultParameters["ImportsChecker"]["SortCaseSensitive"],
+                )
+            )
         )
 
         self.__cleanupData()
@@ -1800,314 +1881,310 @@
         Private slot to store the current configuration values as
         default values.
         """
-        Preferences.getSettings().setValue(
-            "PEP8/EnabledCheckerCategories", self.__getCategories(True)
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/ExcludeFilePatterns", self.excludeFilesEdit.text()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/ExcludeMessages", self.excludeMessagesEdit.text()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/IncludeMessages", self.includeMessagesEdit.text()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/RepeatMessages", self.repeatCheckBox.isChecked()
-        )
-        Preferences.getSettings().setValue("PEP8/FixCodes", self.fixIssuesEdit.text())
-        Preferences.getSettings().setValue(
-            "PEP8/NoFixCodes", self.noFixIssuesEdit.text()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/FixIssues", self.fixIssuesCheckBox.isChecked()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/ShowIgnored", self.ignoredCheckBox.isChecked()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/MaxLineLength", self.lineLengthSpinBox.value()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/MaxDocLineLength", self.docLineLengthSpinBox.value()
-        )
-        Preferences.getSettings().setValue(
+        settings = Preferences.getSettings()
+
+        settings.setValue("PEP8/EnabledCheckerCategories", self.__getCategories(True))
+        settings.setValue("PEP8/ExcludeFilePatterns", self.excludeFilesEdit.text())
+        settings.setValue("PEP8/ExcludeMessages", self.excludeMessagesEdit.text())
+        settings.setValue("PEP8/IncludeMessages", self.includeMessagesEdit.text())
+        settings.setValue("PEP8/RepeatMessages", self.repeatCheckBox.isChecked())
+        settings.setValue("PEP8/FixCodes", self.fixIssuesEdit.text())
+        settings.setValue("PEP8/NoFixCodes", self.noFixIssuesEdit.text())
+        settings.setValue("PEP8/FixIssues", self.fixIssuesCheckBox.isChecked())
+        settings.setValue("PEP8/ShowIgnored", self.ignoredCheckBox.isChecked())
+        settings.setValue("PEP8/MaxLineLength", self.lineLengthSpinBox.value())
+        settings.setValue("PEP8/MaxDocLineLength", self.docLineLengthSpinBox.value())
+        settings.setValue(
             "PEP8/BlankLinesBeforeTopLevel", self.blankBeforeTopLevelSpinBox.value()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/BlankLinesBeforeMethod", self.blankBeforeMethodSpinBox.value()
         )
-        Preferences.getSettings().setValue(
-            "PEP8/HangClosing", self.hangClosingCheckBox.isChecked()
-        )
-        Preferences.getSettings().setValue(
+        settings.setValue("PEP8/HangClosing", self.hangClosingCheckBox.isChecked())
+        settings.setValue(
             "PEP8/DocstringType",
             self.docTypeComboBox.itemData(self.docTypeComboBox.currentIndex()),
         )
-        Preferences.getSettings().setValue(
-            "PEP8/MaxCodeComplexity", self.complexitySpinBox.value()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/LineComplexity", self.lineComplexitySpinBox.value()
-        )
-        Preferences.getSettings().setValue(
+        settings.setValue("PEP8/MaxCodeComplexity", self.complexitySpinBox.value())
+        settings.setValue("PEP8/LineComplexity", self.lineComplexitySpinBox.value())
+        settings.setValue(
             "PEP8/LineComplexityScore", self.lineComplexityScoreSpinBox.value()
         )
-        Preferences.getSettings().setValue(
-            "PEP8/ValidEncodings", self.encodingsEdit.text()
-        )
-        Preferences.getSettings().setValue(
+        settings.setValue("PEP8/ValidEncodings", self.encodingsEdit.text())
+        settings.setValue(
             "PEP8/CopyrightMinFileSize", self.copyrightFileSizeSpinBox.value()
         )
-        Preferences.getSettings().setValue(
-            "PEP8/CopyrightAuthor", self.copyrightAuthorEdit.text()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/FutureChecker", self.__getSelectedFutureImports()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/BuiltinsChecker", self.__getBuiltinsIgnoreList()
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/AggressiveSearch", self.aggressiveCheckBox.isChecked()
-        )
-        Preferences.getSettings().setValue(
+        settings.setValue("PEP8/CopyrightAuthor", self.copyrightAuthorEdit.text())
+        settings.setValue("PEP8/FutureChecker", self.__getSelectedFutureImports())
+        settings.setValue("PEP8/BuiltinsChecker", self.__getBuiltinsIgnoreList())
+        settings.setValue("PEP8/AggressiveSearch", self.aggressiveCheckBox.isChecked())
+        settings.setValue(
             "PEP8/CommentedCodeWhitelist", self.__getCommentedCodeCheckerWhiteList()
         )
 
         # Type Annotations Checker
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MinimumAnnotationsCoverage",
             self.minAnnotationsCoverageSpinBox.value(),
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MaximumAnnotationComplexity",
             self.maxAnnotationsComplexitySpinBox.value(),
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MaximumAnnotationLength", self.maxAnnotationsLengthSpinBox.value()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/SuppressNoneReturning", self.suppressNoneReturningCheckBox.isChecked()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/SuppressDummyArgs", self.suppressDummyArgsCheckBox.isChecked()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/AllowUntypedDefs", self.allowUntypedDefsCheckBox.isChecked()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/AllowUntypedNested", self.allowUntypedNestedCheckBox.isChecked()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MypyInitReturn", self.mypyInitReturnCheckBox.isChecked()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/AllowStarArgAny", self.allowStarArgAnyCheckBox.isChecked()
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/ForceFutureAnnotations",
             self.forceFutureAnnotationsCheckBox.isChecked(),
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/DispatchDecorators",
             [d.strip() for d in self.dispatchDecoratorEdit.text().split(",")],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/OverloadDecorators",
             [d.strip() for d in self.overloadDecoratorEdit.text().split(",")],
         )
 
         # Security Checker
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/HardcodedTmpDirectories",
             [t.strip() for t in self.tmpDirectoriesEdit.toPlainText().splitlines()],
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/InsecureHashes",
             [h.strip() for h in self.hashesEdit.text().split(",")],
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/InsecureSslProtocolVersions",
             [
                 p.strip()
                 for p in self.insecureSslProtocolsEdit.toPlainText().splitlines()
             ],
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/WeakKeySizeDsaHigh", self.dsaHighRiskCombo.currentText()
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/WeakKeySizeDsaMedium", self.dsaMediumRiskCombo.currentText()
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/WeakKeySizeRsaHigh", self.rsaHighRiskCombo.currentText()
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/WeakKeySizeRsaMedium", self.rsaMediumRiskCombo.currentText()
         ),
-        Preferences.getSettings().setValue(
-            "PEP8/WeakKeySizeEcHigh", self.ecHighRiskCombo.currentText()
-        ),
-        Preferences.getSettings().setValue(
+        settings.setValue("PEP8/WeakKeySizeEcHigh", self.ecHighRiskCombo.currentText()),
+        settings.setValue(
             "PEP8/WeakKeySizeEcMedium", self.ecMediumRiskCombo.currentText()
         ),
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/CheckTypedException", self.typedExceptionsCheckBox.isChecked()
         ),
 
         # Imports Checker
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/ApplicationPackageNames",
             sorted(self.appPackagesEdit.toPlainText().split()),
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/BannedModules", sorted(self.bannedModulesEdit.toPlainText().split())
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/BanRelativeImports", self.__getBanRelativeImportsValue()
         )
+        settings.setValue("PEP8/SortOrder", self.sortOrderComboBox.currentData())
+        settings.setValue(
+            "PEP8/SortCaseSensitive", self.sortCaseSensitiveCheckBox.isChecked()
+        )
 
     @pyqtSlot()
     def on_resetDefaultButton_clicked(self):
         """
         Private slot to reset the configuration values to their default values.
         """
-        Preferences.getSettings().setValue(
+        defaultParameters = self.getDefaults()
+        settings = Preferences.getSettings()
+
+        settings.setValue(
             "PEP8/EnabledCheckerCategories",
-            ",".join(CodeStyleCheckerDialog.checkCategories.keys()),
+            defaultParameters["EnabledCheckerCategories"],
         )
-        Preferences.getSettings().setValue("PEP8/ExcludeFilePatterns", "")
-        Preferences.getSettings().setValue(
-            "PEP8/ExcludeMessages", pycodestyle.DEFAULT_IGNORE
+        settings.setValue("PEP8/ExcludeFilePatterns", defaultParameters["ExcludeFiles"])
+        settings.setValue("PEP8/ExcludeMessages", defaultParameters["ExcludeMessages"])
+        settings.setValue("PEP8/IncludeMessages", defaultParameters["IncludeMessages"])
+        settings.setValue("PEP8/RepeatMessages", defaultParameters["RepeatMessages"])
+        settings.setValue("PEP8/FixCodes", defaultParameters["FixCodes"])
+        settings.setValue("PEP8/NoFixCodes", defaultParameters["NoFixCodes"])
+        settings.setValue("PEP8/FixIssues", defaultParameters["FixIssues"])
+        settings.setValue("PEP8/ShowIgnored", defaultParameters["ShowIgnored"])
+        settings.setValue("PEP8/MaxLineLength", defaultParameters["MaxLineLength"])
+        settings.setValue(
+            "PEP8/MaxDocLineLength", defaultParameters["MaxDocLineLength"]
+        )
+        settings.setValue(
+            "PEP8/BlankLinesBeforeTopLevel", defaultParameters["BlankLines"][0]
         )
-        Preferences.getSettings().setValue("PEP8/IncludeMessages", "")
-        Preferences.getSettings().setValue("PEP8/RepeatMessages", False)
-        Preferences.getSettings().setValue("PEP8/FixCodes", "")
-        Preferences.getSettings().setValue("PEP8/NoFixCodes", "E501")
-        Preferences.getSettings().setValue("PEP8/FixIssues", False)
-        Preferences.getSettings().setValue("PEP8/ShowIgnored", False)
-        Preferences.getSettings().setValue("PEP8/MaxLineLength", 88)
-        Preferences.getSettings().setValue("PEP8/MaxDocLineLength", 88)
-        Preferences.getSettings().setValue("PEP8/BlankLinesBeforeTopLevel", 2)
-        Preferences.getSettings().setValue("PEP8/BlankLinesBeforeMethod", 1)
-        Preferences.getSettings().setValue("PEP8/HangClosing", False)
-        Preferences.getSettings().setValue("PEP8/DocstringType", "pep257")
-        Preferences.getSettings().setValue("PEP8/MaxCodeComplexity", 10)
-        Preferences.getSettings().setValue("PEP8/LineComplexity", 15)
-        Preferences.getSettings().setValue("PEP8/LineComplexityScore", 10)
-        Preferences.getSettings().setValue(
-            "PEP8/ValidEncodings", MiscellaneousCheckerDefaultArgs["CodingChecker"]
+        settings.setValue(
+            "PEP8/BlankLinesBeforeMethod", defaultParameters["BlankLines"][1]
+        )
+        settings.setValue("PEP8/HangClosing", defaultParameters["HangClosing"])
+        settings.setValue("PEP8/DocstringType", defaultParameters["DocstringType"])
+        settings.setValue(
+            "PEP8/MaxCodeComplexity", defaultParameters["MaxCodeComplexity"]
+        )
+        settings.setValue("PEP8/LineComplexity", defaultParameters["LineComplexity"])
+        settings.setValue(
+            "PEP8/LineComplexityScore", defaultParameters["LineComplexityScore"]
         )
-        Preferences.getSettings().setValue(
-            "PEP8/CopyrightMinFileSize",
-            MiscellaneousCheckerDefaultArgs["CopyrightChecker"]["MinFilesize"],
-        )
-        Preferences.getSettings().setValue(
-            "PEP8/CopyrightAuthor",
-            MiscellaneousCheckerDefaultArgs["CopyrightChecker"]["Author"],
+        settings.setValue("PEP8/ValidEncodings", defaultParameters["ValidEncodings"])
+        settings.setValue(
+            "PEP8/CopyrightMinFileSize", defaultParameters["CopyrightMinFileSize"]
         )
-        Preferences.getSettings().setValue("PEP8/FutureChecker", "")
-        Preferences.getSettings().setValue(
-            "PEP8/BuiltinsChecker", MiscellaneousCheckerDefaultArgs["BuiltinsChecker"]
-        )
-        Preferences.getSettings().setValue(
+        settings.setValue("PEP8/CopyrightAuthor", defaultParameters["CopyrightAuthor"])
+        settings.setValue("PEP8/FutureChecker", defaultParameters["FutureChecker"])
+        settings.setValue("PEP8/BuiltinsChecker", defaultParameters["BuiltinsChecker"])
+        settings.setValue(
             "PEP8/AggressiveSearch",
-            MiscellaneousCheckerDefaultArgs["CommentedCodeChecker"]["Aggressive"],
+            defaultParameters["CommentedCodeChecker"]["Aggressive"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/CommentedCodeWhitelist",
-            MiscellaneousCheckerDefaultArgs["CommentedCodeChecker"]["WhiteList"],
+            defaultParameters["CommentedCodeChecker"]["WhiteList"],
         )
 
         # Type Annotations Checker
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MinimumAnnotationsCoverage",
-            AnnotationsCheckerDefaultArgs["MinimumCoverage"],
+            defaultParameters["AnnotationsChecker"]["MinimumCoverage"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MaximumAnnotationComplexity",
-            AnnotationsCheckerDefaultArgs["MaximumComplexity"],
+            defaultParameters["AnnotationsChecker"]["MaximumComplexity"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/MaximumAnnotationLength",
-            AnnotationsCheckerDefaultArgs["MaximumLength"],
+            defaultParameters["AnnotationsChecker"]["MaximumLength"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/SuppressNoneReturning",
-            AnnotationsCheckerDefaultArgs["SuppressNoneReturning"],
+            defaultParameters["AnnotationsChecker"]["SuppressNoneReturning"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/SuppressDummyArgs", AnnotationsCheckerDefaultArgs["SuppressDummyArgs"]
+        settings.setValue(
+            "PEP8/SuppressDummyArgs",
+            defaultParameters["AnnotationsChecker"]["SuppressDummyArgs"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/AllowUntypedDefs", AnnotationsCheckerDefaultArgs["AllowUntypedDefs"]
+        settings.setValue(
+            "PEP8/AllowUntypedDefs",
+            defaultParameters["AnnotationsChecker"]["AllowUntypedDefs"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/AllowUntypedNested",
-            AnnotationsCheckerDefaultArgs["AllowUntypedNested"],
+            defaultParameters["AnnotationsChecker"]["AllowUntypedNested"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/MypyInitReturn", AnnotationsCheckerDefaultArgs["MypyInitReturn"]
+        settings.setValue(
+            "PEP8/MypyInitReturn",
+            defaultParameters["AnnotationsChecker"]["MypyInitReturn"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/AllowStarArgAny", AnnotationsCheckerDefaultArgs["AllowStarArgAny"]
+        settings.setValue(
+            "PEP8/AllowStarArgAny",
+            defaultParameters["AnnotationsChecker"]["AllowStarArgAny"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/ForceFutureAnnotations",
-            AnnotationsCheckerDefaultArgs["ForceFutureAnnotations"],
+            defaultParameters["AnnotationsChecker"]["ForceFutureAnnotations"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/DispatchDecorators",
-            AnnotationsCheckerDefaultArgs["DispatchDecorators"],
+            defaultParameters["AnnotationsChecker"]["DispatchDecorators"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/OverloadDecorators",
-            AnnotationsCheckerDefaultArgs["OverloadDecorators"],
+            defaultParameters["AnnotationsChecker"]["OverloadDecorators"],
         )
 
         # Security Checker
-        from .Security.SecurityDefaults import SecurityDefaults
-
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/HardcodedTmpDirectories",
-            SecurityDefaults["hardcoded_tmp_directories"],
+            defaultParameters["SecurityChecker"]["HardcodedTmpDirectories"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/InsecureHashes", SecurityDefaults["insecure_hashes"]
+        settings.setValue(
+            "PEP8/InsecureHashes",
+            defaultParameters["SecurityChecker"]["InsecureHashes"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/InsecureSslProtocolVersions",
-            SecurityDefaults["insecure_ssl_protocol_versions"],
+            defaultParameters["SecurityChecker"]["InsecureSslProtocolVersions"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/WeakKeySizeDsaHigh", str(SecurityDefaults["weak_key_size_dsa_high"])
+        settings.setValue(
+            "PEP8/WeakKeySizeDsaHigh",
+            defaultParameters["SecurityChecker"]["WeakKeySizeDsaHigh"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/WeakKeySizeDsaMedium",
-            str(SecurityDefaults["weak_key_size_dsa_medium"]),
+            defaultParameters["SecurityChecker"]["WeakKeySizeDsaMedium"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/WeakKeySizeRsaHigh", str(SecurityDefaults["weak_key_size_rsa_high"])
+        settings.setValue(
+            "PEP8/WeakKeySizeRsaHigh",
+            defaultParameters["SecurityChecker"]["WeakKeySizeRsaHigh"],
         )
-        Preferences.getSettings().setValue(
+        settings.setValue(
             "PEP8/WeakKeySizeRsaMedium",
-            str(SecurityDefaults["weak_key_size_rsa_medium"]),
+            defaultParameters["SecurityChecker"]["WeakKeySizeRsaMedium"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/WeakKeySizeEcHigh", str(SecurityDefaults["weak_key_size_ec_high"])
+        settings.setValue(
+            "PEP8/WeakKeySizeEcHigh",
+            defaultParameters["SecurityChecker"]["WeakKeySizeEcHigh"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/WeakKeySizeEcMedium", str(SecurityDefaults["weak_key_size_ec_medium"])
+        settings.setValue(
+            "PEP8/WeakKeySizeEcMedium",
+            defaultParameters["SecurityChecker"]["WeakKeySizeEcMedium"],
         )
-        Preferences.getSettings().setValue(
-            "PEP8/CheckTypedException", SecurityDefaults["check_typed_exception"]
+        settings.setValue(
+            "PEP8/CheckTypedException",
+            defaultParameters["SecurityChecker"]["CheckTypedException"],
         )
 
         # Imports Checker
-        Preferences.getSettings().setValue("PEP8/ApplicationPackageNames", [])
-        Preferences.getSettings().setValue("PEP8/BannedModules", [])
-        Preferences.getSettings().setValue("PEP8/BanRelativeImports", "")
+        settings.setValue(
+            "PEP8/ApplicationPackageNames",
+            defaultParameters["ImportsChecker"]["ApplicationPackageNames"],
+        )
+        settings.setValue(
+            "PEP8/BannedModules",
+            defaultParameters["ImportsChecker"]["BannedModules"],
+        )
+        settings.setValue(
+            "PEP8/BanRelativeImports",
+            defaultParameters["ImportsChecker"]["BanRelativeImports"],
+        )
+        settings.setValue(
+            "PEP8/SortOrder",
+            defaultParameters["ImportsChecker"]["SortOrder"],
+        )
+        settings.setValue(
+            "PEP8/SortCaseSensitive",
+            defaultParameters["ImportsChecker"]["SortCaseSensitive"],
+        )
 
         # Update UI with default values
         self.on_loadDefaultButton_clicked()
@@ -2387,7 +2464,7 @@
         Private method to clean the loaded/entered data of redundant entries.
         """
         # Migrate single letter exclude messages to disabled checker categories
-        # and delete them from exlude messages
+        # and delete them from exclude messages
         excludedMessages = [
             m.strip() for m in self.excludeMessagesEdit.text().split(",") if bool(m)
         ]
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui	Tue Nov 01 16:46:35 2022 +0100
@@ -11,12 +11,7 @@
    </rect>
   </property>
   <property name="windowTitle">
-   <string>Code Style Check Result</string>
-  </property>
-  <property name="whatsThis">
-   <string>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</string>
+   <string>Code Style Check</string>
   </property>
   <property name="sizeGripEnabled">
    <bool>true</bool>
@@ -267,7 +262,7 @@
                <rect>
                 <x>0</x>
                 <y>0</y>
-                <width>389</width>
+                <width>611</width>
                 <height>923</height>
                </rect>
               </property>
@@ -1406,6 +1401,52 @@
             </widget>
            </item>
            <item>
+            <widget class="QGroupBox" name="groupBox_18">
+             <property name="title">
+              <string>Imports Sorting</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_10">
+              <item row="0" column="0">
+               <widget class="QLabel" name="label_37">
+                <property name="text">
+                 <string>Sort Order:</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1">
+               <widget class="QComboBox" name="sortOrderComboBox">
+                <property name="toolTip">
+                 <string>Select the sort order</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="2">
+               <spacer name="horizontalSpacer_4">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>439</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item row="1" column="0" colspan="3">
+               <widget class="QCheckBox" name="sortCaseSensitiveCheckBox">
+                <property name="toolTip">
+                 <string>Select to sort imports observing the case</string>
+                </property>
+                <property name="text">
+                 <string>Sort Case Sensitively</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
             <spacer name="verticalSpacer_7">
              <property name="orientation">
               <enum>Qt::Vertical</enum>
@@ -1819,6 +1860,8 @@
   <tabstop>allowAllButton</tabstop>
   <tabstop>banParentsButton</tabstop>
   <tabstop>banAllButton</tabstop>
+  <tabstop>sortOrderComboBox</tabstop>
+  <tabstop>sortCaseSensitiveCheckBox</tabstop>
   <tabstop>startButton</tabstop>
   <tabstop>loadDefaultButton</tabstop>
   <tabstop>storeDefaultButton</tabstop>
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py	Tue Nov 01 16:46:35 2022 +0100
@@ -8,7 +8,7 @@
 """
 
 #
-# adapted from flake8-alphabetize v0.0.17
+# adapted from flake8-alphabetize v0.0.18
 #
 
 import ast
@@ -65,14 +65,14 @@
             self.nodeType = NodeTypeEnum.IMPORT_FROM
 
             names = [n.name for n in astNode.names]
-            expectedNames = sorted(names)
+            expectedNames = checker.sorted(names, key=checker.moduleKey)
             if names != expectedNames:
                 self.error = (self.node, "I202", ", ".join(expectedNames))
             level = astNode.level
 
         if self.moduleName == "__future__":
             group = GroupEnum.FUTURE
-        elif self.moduleName in checker.getStandardModules():
+        elif self.moduleName.split(".")[0] in checker.getStandardModules():
             group = GroupEnum.STDLIB
         elif level > 0:
             group = GroupEnum.APPLICATION
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportsChecker.py	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportsChecker.py	Tue Nov 01 16:46:35 2022 +0100
@@ -65,6 +65,14 @@
         self.__tree = copy.deepcopy(tree)
         self.__args = args
 
+        # parameters for import sorting
+        if args["SortOrder"] == "native":
+            self.__sortingFunction = sorted
+        else:
+            # naturally is the default sort order
+            self.__sortingFunction = self.__naturally
+        self.__sortCaseSensitive = args["SortCaseSensitive"]
+
         # statistics counters
         self.counters = {}
 
@@ -393,11 +401,9 @@
     #######################################################################
     ## Import order
     ##
-    ## adapted from: flake8-alphabetize v0.0.17
+    ## adapted from: flake8-alphabetize v0.0.18
     #######################################################################
 
-    # TODO: upgrade to v0.0.18
-    # TODO: introduce sort type iaw. isort
     def __checkImportOrder(self):
         """
         Private method to check the order of import statements.
@@ -499,12 +505,96 @@
                     # Can't handle anything that isn't a string literal
                     return None
 
-            expectedList = sorted(actualList)
+            expectedList = self.sorted(actualList, key=self.moduleKey)
             if expectedList != actualList:
                 return (node, "I204", ", ".join(expectedList))
 
         return None
 
+    def sorted(self, toSort, key=None, reverse=False):
+        """
+        Public method to sort the given list of names.
+
+        @param toSort list of names to be sorted
+        @type list of str
+        @param key function to generate keys (defaults to None)
+        @type function (optional)
+        @param reverse flag indicating a reverse sort (defaults to False)
+        @type bool (optional)
+        @return sorted list of names
+        @rtype list of str
+        """
+        return self.__sortingFunction(toSort, key=key, reverse=reverse)
+
+    def __naturally(self, toSort, key=None, reverse=False):
+        """
+        Private method to sort the given list of names naturally.
+
+        Note: Natural sorting maintains the sort order of numbers (i.e.
+            [Q1, Q10, Q2] is sorted as [Q1, Q2, Q10] while the Python
+            standard sort would yield [Q1, Q10, Q2].
+
+        @param toSort list of names to be sorted
+        @type list of str
+        @param key function to generate keys (defaults to None)
+        @type function (optional)
+        @param reverse flag indicating a reverse sort (defaults to False)
+        @type bool (optional)
+        @return sorted list of names
+        @rtype list of str
+        """
+        if key is None:
+            keyCallback = self.__naturalKeys
+        else:
+            def keyCallback(text):
+                return self.__naturalKeys(key(text))
+
+        return sorted(toSort, key=keyCallback, reverse=reverse)
+
+    def __atoi(self, text):
+        """
+        Private method to convert the given text to an integer number.
+
+        @param text text to be converted
+        @type str
+        @return integer number
+        @rtype int
+        """
+        return int(text) if text.isdigit() else text
+
+    def __naturalKeys(self, text):
+        """
+        Private method to generate keys for natural sorting.
+
+        @param text text to generate a key for
+        @type str
+        @return key for natural sorting
+        @rtype list of str or int
+        """
+        return [self.__atoi(c) for c in re.split(r"(\d+)", text)]
+
+    def moduleKey(self, moduleName):
+        """
+        Public method to generate a key for the given module name.
+
+        @param moduleName module name
+        @type str
+        @return generated key
+        @rtype str
+        """
+        prefix = ""
+
+        if moduleName.isupper() and len(moduleName) > 1:
+            prefix = "A"
+        elif moduleName[0:1].isupper():
+            prefix = "B"
+        else:
+            prefix = "C"
+        if not self.__sortCaseSensitive:
+            moduleName = moduleName.lower()
+
+        return f"{prefix}{moduleName}"
+
     #######################################################################
     ## Tidy imports
     ##
--- a/src/eric7/i18n/eric7_cs.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_cs.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3686,57 +3686,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation type="unfinished">Dokumentace</translation>
+      <source>Code Complexity</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation type="unfinished">Chyby</translation>
+      <source>Documentation</source>
+      <translation type="unfinished">Dokumentace</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation type="unfinished" />
+      <source>Errors</source>
+      <translation type="unfinished">Chyby</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
+      <source>Imports</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation type="unfinished">Bezpečnost</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation type="unfinished" />
+      <source>Security</source>
+      <translation type="unfinished">Bezpečnost</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4245,65 +4245,58 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation type="unfinished">Chyby</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation type="unfinished">Žádné problémy nenalezeny.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <source>Code Style Check</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -4942,6 +4935,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation type="unfinished" />
     </message>
Binary file src/eric7/i18n/eric7_de.qm has changed
--- a/src/eric7/i18n/eric7_de.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_de.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3694,57 +3694,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation>Annotationen</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation>Code-Komplexität</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation>Dokumentation</translation>
+      <source>Code Complexity</source>
+      <translation>Code-Komplexität</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation>Fehler</translation>
+      <source>Documentation</source>
+      <translation>Dokumentation</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation>Importe</translation>
+      <source>Errors</source>
+      <translation>Fehler</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
-      <translation>Verschiedenes</translation>
+      <source>Imports</source>
+      <translation>Importe</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
-      <translation>Benennung</translation>
+      <source>Miscellaneous</source>
+      <translation>Verschiedenes</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
-      <translation>'pathlib' Verwendung</translation>
+      <source>Naming</source>
+      <translation>Benennung</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation>Sicherheit</translation>
+      <source>'pathlib' Usage</source>
+      <translation>'pathlib' Verwendung</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation>Warnungen</translation>
+      <source>Security</source>
+      <translation>Sicherheit</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation>Warnungen</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation>Code-Vereinfachungen</translation>
     </message>
@@ -4258,69 +4258,59 @@
       <translation>Lösung: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation>PEP-257</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation>Eric</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation>Eric</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation>Eric (Black Tool)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation>Fehler</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>Fehler: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation>{0} (ignoriert)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>Keine Probleme gefunden.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation>Keine Dateien gefunden (überprüfe die Ignorierliste).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation>'Commented Code' Whitelist Muster</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation>Ein 'Commented Code' Whitelist Muster eingeben</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>Prüfungsergebnisse Quelltextstil</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Prüfergebnisse Quelltextstil&lt;/b&gt;
-&lt;p&gt;Dieser Dialog zeigt die Resultate der Prüfung des Quelltextstils. Ein Doppelklick auf
-einen Eintrag öffnet ein Editorfenster und positioniert den Cursor auf die entsprechende
-Zeile und Position.&lt;/p&gt;</translation>
+      <source>Code Style Check</source>
+      <translation>Quelltextstilprüfung</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
@@ -4958,6 +4948,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation>Imports Sortierung</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation>Sortierreihenfolge:</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation>Wähle die Sortierreihenfolge</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation>Auswählen um Imports mit Berücksichtigung der Schreibweise zu sortieren</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation>Schreibweisenabhängig sortieren</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>Drücken, um die Quelltextstil-Prüfung zu starten</translation>
     </message>
@@ -5130,7 +5145,7 @@
       <location filename="../Plugins/PluginCodeStyleChecker.py" line="267" />
       <location filename="../Plugins/PluginCodeStyleChecker.py" line="247" />
       <source>Check Code Style</source>
-      <translation>Quelltextstil püfen</translation>
+      <translation>Quelltextstil prüfen</translation>
     </message>
     <message>
       <location filename="../Plugins/PluginCodeStyleChecker.py" line="349" />
@@ -5142,7 +5157,7 @@
     <message>
       <location filename="../Plugins/PluginCodeStyleChecker.py" line="254" />
       <source>Check code style.</source>
-      <translation>Quelltextstil püfen.</translation>
+      <translation>Quelltextstil prüfen.</translation>
     </message>
     <message>
       <location filename="../Plugins/PluginCodeStyleChecker.py" line="356" />
--- a/src/eric7/i18n/eric7_empty.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_empty.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3661,57 +3661,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
+      <source>Code Complexity</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
+      <source>Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
+      <source>Errors</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
+      <source>Imports</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
+      <source>'pathlib' Usage</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
+      <source>Security</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4218,65 +4218,58 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <source>Code Style Check</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -4915,6 +4908,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_en.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_en.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3661,57 +3661,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
+      <source>Code Complexity</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
+      <source>Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
+      <source>Errors</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
+      <source>Imports</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
+      <source>'pathlib' Usage</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
+      <source>Security</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4218,65 +4218,58 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <source>Code Style Check</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -4915,6 +4908,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_es.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_es.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3702,57 +3702,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation>Anotaciones</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation>Complejidad del Código</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation>Documentación</translation>
+      <source>Code Complexity</source>
+      <translation>Complejidad del Código</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation>Errores</translation>
+      <source>Documentation</source>
+      <translation>Documentación</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation>Imports</translation>
+      <source>Errors</source>
+      <translation>Errores</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
-      <translation>Miscelanea</translation>
+      <source>Imports</source>
+      <translation>Imports</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
-      <translation>Nomenclatura</translation>
+      <source>Miscellaneous</source>
+      <translation>Miscelanea</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
-      <translation>Uso de 'pathlib'</translation>
+      <source>Naming</source>
+      <translation>Nomenclatura</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation>Seguridad</translation>
+      <source>'pathlib' Usage</source>
+      <translation>Uso de 'pathlib'</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation>Advertencias</translation>
+      <source>Security</source>
+      <translation>Seguridad</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation>Advertencias</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation>Simplificar Código</translation>
     </message>
@@ -4266,68 +4266,59 @@
       <translation>Arreglar: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation>Muestra el progreso de la comprobación del estilo de código</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation>Eric</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation>Eric</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation>Eric (Oscurecido)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation>Errores</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>Error: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation>{0} (ignorado)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>No se han encontrado problemas.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation>No se han encontrado archivos (comprobar lista de ignorados).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation>Patrón de lista blanca para comentarios en código</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation>Introducir un patrón de lista blanca para comentarios en código</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>Resultados Comprobación Estilo del Código</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Resultados Comprobación de Estilo del Código&lt;/b&gt;
-&lt;p&gt;Este diálogo muestra los resultados de la comprobación de estilo del código. Haciendo doble click
-sobre una entrada, la abrirá en una ventana de edición posicionando el cursor en la línea y posición correspondiente.&lt;/p&gt;</translation>
+      <source>Code Style Check</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
@@ -4965,6 +4956,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>Pulsar para iniciar la comprobación de estilo de código</translation>
     </message>
@@ -5123,6 +5139,18 @@
       <source>Filter</source>
       <translation>Filtrar</translation>
     </message>
+    <message>
+      <source>Code Style Check Result</source>
+      <translation type="vanished">Resultados Comprobación Estilo del Código</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
+&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
+entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;Resultados Comprobación de Estilo del Código&lt;/b&gt;
+&lt;p&gt;Este diálogo muestra los resultados de la comprobación de estilo del código. Haciendo doble click
+sobre una entrada, la abrirá en una ventana de edición posicionando el cursor en la línea y posición correspondiente.&lt;/p&gt;</translation>
+    </message>
   </context>
   <context>
     <name>CodeStyleCheckerPlugin</name>
--- a/src/eric7/i18n/eric7_fr.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_fr.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3710,57 +3710,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation>Annotations</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation>Complexité du code</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation>Documentation</translation>
+      <source>Code Complexity</source>
+      <translation>Complexité du code</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation>Erreurs</translation>
+      <source>Documentation</source>
+      <translation>Documentation</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation type="unfinished">Imports</translation>
+      <source>Errors</source>
+      <translation>Erreurs</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
-      <translation>Divers</translation>
+      <source>Imports</source>
+      <translation type="unfinished">Imports</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
-      <translation>Nommage</translation>
+      <source>Miscellaneous</source>
+      <translation>Divers</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
-      <translation type="unfinished" />
+      <source>Naming</source>
+      <translation>Nommage</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation>Sécurité</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation>Warnings</translation>
+      <source>Security</source>
+      <translation>Sécurité</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation>Warnings</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4271,65 +4271,58 @@
       <translation>Correction : {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation>PEP-257</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation>Eric</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation>Eric</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation>Erreurs</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>Erreur : {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation>{0} (ignoré)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>Pas d'erreur trouvée.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation>Pas de fichier trouvé (vérifier votre liste d'ignorés).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>Résultat de la vérification du style du code</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <source>Code Style Check</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -4968,6 +4961,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>Appuyer pour lancer la vérification du style du code</translation>
     </message>
@@ -5125,6 +5143,10 @@
       <translation type="unfinished">Filtrer</translation>
     </message>
     <message>
+      <source>Code Style Check Result</source>
+      <translation type="vanished">Résultat de la vérification du style du code</translation>
+    </message>
+    <message>
       <source>Preparing files...</source>
       <translation type="vanished">Préparation des fichiers...</translation>
     </message>
--- a/src/eric7/i18n/eric7_it.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_it.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3693,57 +3693,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished">Annotazioni</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation type="unfinished">Documentazione</translation>
+      <source>Code Complexity</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation type="unfinished">Errori</translation>
+      <source>Documentation</source>
+      <translation type="unfinished">Documentazione</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation type="unfinished" />
+      <source>Errors</source>
+      <translation type="unfinished">Errori</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
+      <source>Imports</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation type="unfinished">Sicurezza</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation type="unfinished">Warnings</translation>
+      <source>Security</source>
+      <translation type="unfinished">Sicurezza</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished">Warnings</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4254,68 +4254,59 @@
       <translation>Corregge:{0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation>PEP-257</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation>Eric</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation>Eric</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation type="unfinished">Errori</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>Errore: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>Nessun problema trovato.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>Risultati controllo stile di codifica</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Risultati  controllo sullo stile di codifica&lt;/b&gt;
-&lt;p&gt;Questo dialogo mostra i risultati del controllo sullo stile di codifica. Il doppio click sulla voce
-aprirà una finestra per editare e posizionerà il cursore alla rispettiva riga e colonna.&lt;/p&gt;</translation>
+      <source>Code Style Check</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
@@ -4953,6 +4944,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>Premi per iniziare l'esecuzione del controllo dello stile di codifica</translation>
     </message>
@@ -5111,6 +5127,18 @@
       <source>Filter</source>
       <translation type="unfinished">Filtro</translation>
     </message>
+    <message>
+      <source>Code Style Check Result</source>
+      <translation type="vanished">Risultati controllo stile di codifica</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
+&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
+entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;Risultati  controllo sullo stile di codifica&lt;/b&gt;
+&lt;p&gt;Questo dialogo mostra i risultati del controllo sullo stile di codifica. Il doppio click sulla voce
+aprirà una finestra per editare e posizionerà il cursore alla rispettiva riga e colonna.&lt;/p&gt;</translation>
+    </message>
   </context>
   <context>
     <name>CodeStyleCheckerPlugin</name>
--- a/src/eric7/i18n/eric7_pt.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_pt.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3700,57 +3700,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished">Anotações</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation type="unfinished">Documentação</translation>
+      <source>Code Complexity</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation type="unfinished">Erros</translation>
+      <source>Documentation</source>
+      <translation type="unfinished">Documentação</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation type="unfinished">Importações</translation>
+      <source>Errors</source>
+      <translation type="unfinished">Erros</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
-      <translation type="unfinished" />
+      <source>Imports</source>
+      <translation type="unfinished">Importações</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation type="unfinished">Segurança</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation type="unfinished">Avisos</translation>
+      <source>Security</source>
+      <translation type="unfinished">Segurança</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished">Avisos</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4260,68 +4260,59 @@
       <translation>Corrigir: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation>Erros</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>Erro: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation>{0} (ignorado)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>Não se encontraram problemas.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>Resultado da Verificação de Estilo do Código</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Resultado da Verificação de Estilo de Código&lt;/b&gt;
-&lt;p&gt;Caixa de diálogo que mostra o resultado da verificação de estilo do código. Duplo clique
-numa entrada a abrirá a janela do editor e posiciona o cursor na respectiva linha e posição.&lt;/p&gt;</translation>
+      <source>Code Style Check</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
@@ -4959,6 +4950,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>Pressionar para começar a verficação de estilo do código</translation>
     </message>
@@ -5119,6 +5135,18 @@
       <translation type="unfinished">Filtro</translation>
     </message>
     <message>
+      <source>Code Style Check Result</source>
+      <translation type="vanished">Resultado da Verificação de Estilo do Código</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
+&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
+entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;Resultado da Verificação de Estilo de Código&lt;/b&gt;
+&lt;p&gt;Caixa de diálogo que mostra o resultado da verificação de estilo do código. Duplo clique
+numa entrada a abrirá a janela do editor e posiciona o cursor na respectiva linha e posição.&lt;/p&gt;</translation>
+    </message>
+    <message>
       <source>Preparing files...</source>
       <translation type="vanished">A preparar ficheiros...</translation>
     </message>
--- a/src/eric7/i18n/eric7_ru.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_ru.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3705,57 +3705,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation>Аннотации</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation>Сложность кода</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation>Документация</translation>
+      <source>Code Complexity</source>
+      <translation>Сложность кода</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation>Ошибки</translation>
+      <source>Documentation</source>
+      <translation>Документация</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation>Импорт</translation>
+      <source>Errors</source>
+      <translation>Ошибки</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
-      <translation>Разное</translation>
+      <source>Imports</source>
+      <translation>Импорт</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
-      <translation>Именованные</translation>
+      <source>Miscellaneous</source>
+      <translation>Разное</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
-      <translation>Использование 'pathlib'</translation>
+      <source>Naming</source>
+      <translation>Именованные</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation>Безопасность</translation>
+      <source>'pathlib' Usage</source>
+      <translation>Использование 'pathlib'</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation>Предупреждения</translation>
+      <source>Security</source>
+      <translation>Безопасность</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation>Предупреждения</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation>Упрощенный код</translation>
     </message>
@@ -4269,68 +4269,59 @@
       <translation>Исправлено: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation>PEP-257</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation>Eric</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation>Eric</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation>Eric (Blacked)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation>Ошибки</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>Ошибка: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation>{0} (проигнорировано)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>Проблем со стилем не найдено.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation>Файлы не найдены (проверьте ваш игнор-лист).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation>Шаблон закомментированного кода</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation>Задайте шаблон закомментированного кода</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>Результаты проверки стиля кодирования</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Результаты проверки стиля&lt;/b&gt;
-&lt;p&gt;Отображение результатов проверки стиля. Двойной щелчок по
-записи откроет окно редактора и поместит курсор на соответствующую строку.&lt;/p&gt;</translation>
+      <source>Code Style Check</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
@@ -4968,6 +4959,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>Запустить проверку стиля</translation>
     </message>
@@ -5126,6 +5142,18 @@
       <source>Filter</source>
       <translation>Отфильтровать</translation>
     </message>
+    <message>
+      <source>Code Style Check Result</source>
+      <translation type="vanished">Результаты проверки стиля кодирования</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
+&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
+entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;Результаты проверки стиля&lt;/b&gt;
+&lt;p&gt;Отображение результатов проверки стиля. Двойной щелчок по
+записи откроет окно редактора и поместит курсор на соответствующую строку.&lt;/p&gt;</translation>
+    </message>
   </context>
   <context>
     <name>CodeStyleCheckerPlugin</name>
--- a/src/eric7/i18n/eric7_tr.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_tr.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3686,57 +3686,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation type="unfinished">Belgeleme</translation>
+      <source>Code Complexity</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation type="unfinished">Hatalar</translation>
+      <source>Documentation</source>
+      <translation type="unfinished">Belgeleme</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation type="unfinished" />
+      <source>Errors</source>
+      <translation type="unfinished">Hatalar</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
+      <source>Imports</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation type="unfinished">Güvenlik</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation type="unfinished" />
+      <source>Security</source>
+      <translation type="unfinished">Güvenlik</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4245,65 +4245,58 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation type="unfinished">Hatalar</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation type="unfinished">Hata: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation type="unfinished">Sorun bulunamadı.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <source>Code Style Check</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -4942,6 +4935,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_zh_CN.ts	Mon Oct 31 17:54:41 2022 +0100
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Tue Nov 01 16:46:35 2022 +0100
@@ -3707,57 +3707,57 @@
   <context>
     <name>CheckerCategories</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
       <source>Annotations</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" />
-      <source>Code Complexity</source>
-      <translation type="unfinished">代码复杂度</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" />
-      <source>Documentation</source>
-      <translation type="unfinished">文档</translation>
+      <source>Code Complexity</source>
+      <translation type="unfinished">代码复杂度</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" />
-      <source>Errors</source>
-      <translation type="unfinished">错误</translation>
+      <source>Documentation</source>
+      <translation type="unfinished">文档</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" />
-      <source>Imports</source>
-      <translation type="unfinished">导入</translation>
+      <source>Errors</source>
+      <translation type="unfinished">错误</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>Miscellaneous</source>
-      <translation type="unfinished" />
+      <source>Imports</source>
+      <translation type="unfinished">导入</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Naming</source>
+      <source>Miscellaneous</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>'pathlib' Usage</source>
+      <source>Naming</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
-      <source>Security</source>
-      <translation type="unfinished">安全</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
-      <source>Warnings</source>
-      <translation type="unfinished" />
+      <source>Security</source>
+      <translation type="unfinished">安全</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
+      <source>Warnings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4268,68 +4268,59 @@
       <translation>修复: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
       <source>PEP-257</source>
       <translation>PEP-257</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
-      <source>Eric</source>
-      <translation>Eric</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
+      <source>Eric</source>
+      <translation>Eric</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="229" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="233" />
       <source>Errors</source>
       <translation>错误</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="258" />
       <source>Error: {0}</source>
       <translation>错误:{0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1089" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1117" />
       <source>{0} (ignored)</source>
       <translation>{0}(已忽略)</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1164" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1192" />
       <source>No issues found.</source>
       <translation>未发现问题。</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1168" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1196" />
       <source>No files found (check your ignore list).</source>
       <translation>找不到文件(检查您忽略的列表)。</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2455" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2532" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2456" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2533" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Code Style Check Result</source>
-      <translation>代码格式检查结果</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
-&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
-entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;代码格式检查结果&lt;/b&gt;
-&lt;p&gt;此对话框显示了代码格式的检查结果。双击
-一个入口将会开打编辑器窗口,并将会把光标定位到相应的行和位置。&lt;/p&gt;</translation>
+      <source>Code Style Check</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
@@ -4967,6 +4958,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Order:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select the sort order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Select to sort imports observing the case</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Sort Case Sensitively</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation>按下以开始代码格式检查</translation>
     </message>
@@ -5127,6 +5143,18 @@
       <translation type="unfinished">过滤器</translation>
     </message>
     <message>
+      <source>Code Style Check Result</source>
+      <translation type="vanished">代码格式检查结果</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Code Style Check Results&lt;/b&gt;
+&lt;p&gt;This dialog shows the results of the code style check. Double clicking an
+entry will open an editor window and position the cursor at the respective line and position.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;代码格式检查结果&lt;/b&gt;
+&lt;p&gt;此对话框显示了代码格式的检查结果。双击
+一个入口将会开打编辑器窗口,并将会把光标定位到相应的行和位置。&lt;/p&gt;</translation>
+    </message>
+    <message>
       <source>Preparing files...</source>
       <translation type="vanished">正在准备文件…</translation>
     </message>

eric ide

mercurial