Docstring Commentaire comme PyCharm dans Emacs Je voulais une fonction de génération automatique, alors j'ai préparé une fonction.
Demo
Collez simplement le code suivant dans init.el et chargez-le. Il est généré lorsque le curseur est placé sur la ligne de la définition du nom de la fonction et que C-cd est exécuté.
;; docstring comment
(defun python-docstring-comment()
(interactive)
(let* ((begin-point (point-at-bol))
(end-point (point-at-eol))
(function-line (buffer-substring begin-point end-point))
(space (format " %s" (replace-regexp-in-string "def.*" "" function-line))))
(goto-char end-point)
(insert "\n")
(insert (format "%s\"\"\"\n" space))
(when (string-match ".*(\\(.+\\)):" function-line)
(dolist (arg (split-string (match-string 1 function-line) ","))
(if (not (equal arg "self"))
(insert (format "%s:param TYPE %s:\n" space (replace-regexp-in-string "^\\s-+\\|\\s-+$" "" arg))))))
(insert (format "%s:rtype: TYPE\n" space))
(insert (format "%s\"\"\"" space))))
(define-key python-mode-map (kbd "C-c d") 'python-docstring-comment)
Recommended Posts