--- a/eric6/QScintilla/Editor.py Fri Jan 22 16:55:43 2021 +0100 +++ b/eric6/QScintilla/Editor.py Sat Jan 23 12:02:52 2021 +0100 @@ -825,6 +825,10 @@ self.tr('Box Comment'), self.boxCommentLineOrSelection) self.menu.addSeparator() + self.menuActs["Docstring"] = self.menu.addAction( + self.tr("Generate Docstring"), + self.__insertDocstring) + self.menu.addSeparator() self.menu.addAction( self.tr('Select to brace'), self.selectToMatchingBrace) self.menu.addAction(self.tr('Select all'), self.__selectAll) @@ -846,10 +850,6 @@ self.menuActs["SpellCheckLanguages"] = self.menu.addMenu( self.spellLanguagesMenu) self.menu.addSeparator() - self.menuActs["Docstring"] = self.menu.addAction( - self.tr("Insert Docstring"), - self.__insertDocstring) - self.menu.addSeparator() self.menu.addAction( self.tr('Shorten empty lines'), self.shortenEmptyLines) self.menu.addSeparator() @@ -8664,6 +8664,17 @@ return self.__docstringGenerator + def insertDocstring(self): + """ + Public method to generate and insert a docstring for the function under + the cursor. + + Note: This method is called via a keyboard shortcut or through the + global 'Edit' menu. + """ + generator = self.getDocstringGenerator() + generator.insertDocstringFromShortcut(self.getCursorPosition()) + @pyqtSlot() def __insertDocstring(self): """