Überprüfen Sie immer PEP8, während Sie den Python-Quellcode in Emacs bearbeiten

Gestern schrieb über die Python-Codierungskonvention PEP8 ..

Beim Schreiben von Python-Quellcode in Emacs wäre es noch nützlicher, wenn die PEP8-Konformität ständig überprüft und visualisiert würde.

Mit dem hier vorgestellten Emacs Lisp sind PEP8-Konformitätsverletzungen bei Emacs immer sichtbar, wie unten gezeigt.

1.png

Außerdem können Sie nur während der Bearbeitung von Python die PEP8-Prüfergebnisse im Minibuffer mit bestimmten Tastenkombinationen anzeigen.

Voraussetzung Emacs Lisp

Bereiten Sie zunächst Emacs Lisp vor, eine Voraussetzung für die Entwicklung von Python mit Emacs.

python-mode.el

Es gibt mehrere Hauptmodi in Python, aber meine Empfehlung ist python-mode.el.

python-mode.el http://www.emacswiki.org/emacs/PythonProgrammingInEmacs

Dies ist die funktionsreichste.

flymake-cursor.el

Arbeitet mit flymake zusammen, was in Emacs 23 und höher die Standardeinstellung ist, um flymake-Fehler in der aktuellen Zeile des Minibuffers anzuzeigen.

flymake-cursor.el https://github.com/illusori/emacs-flymake-cursor

Stellen Sie den Python-Modus ein

In dem Artikel gestern (when (lade "python-pep8") (definiere die globale Karte "\ Cc \ p" 'python-pep8)) Dies führt jedoch dazu, dass pep8 von Cc p überprüft wird, während eine Datei bearbeitet wird. Es ist daher eine gute Idee, den Python-Modus-Hook zu verwenden und ihn nur während der Bearbeitung von Python zu aktivieren.

Schreiben Sie vor diesem Hintergrund die Einstellungen für den Python-Modus in Emacs Lisp wie folgt:

;; python-Lademodus
(when (autoload 'python-mode "python-mode" "Python editing mode." t)
  ;; python-Python nur im Modus-Aktivieren Sie die Tastenkombinationen für pep8
  (setq python-mode-hook
  (function (lambda ()
    (local-set-key "\C-c\ p" 'python-pep8))))
  (setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
  (setq interpreter-mode-alist (cons '("python" . python-mode)
                                     interpreter-mode-alist)))

;; flymake for python
(add-hook 'python-mode-hook 'flymake-find-file-hook)
(when (load "flymake" t)
  (defun flymake-pyflakes-init ()
    (let* ((temp-file (flymake-init-create-temp-buffer-copy
                       'flymake-create-temp-inplace))
           (local-file (file-relative-name
                        temp-file
                        (file-name-directory buffer-file-name))))
      ;;Geben Sie Ihr eigenes Shell-Skript an, das gestern eingeführt wurde
      ;;Bitte bearbeiten Sie entsprechend jeder Umgebung
      (list "/usr/local/sbin/pyck"  (list local-file))))
  (add-to-list 'flymake-allowed-file-name-masks
               '("\\.py\\'" flymake-pyflakes-init)))
(load-library "flymake-cursor")

Dies ist der zu Beginn eingeführte Zustand. Der Fehler, den Sie ignorieren möchten, kann im von oben aufgerufenen Shell-Skript und in python-pep8 angegeben werden.

Um den Fehler in python-pep8.el zu ignorieren, bearbeiten Sie Emacs Lisp und übergeben Sie ihn wie folgt als Option für pep8:

(defcustom python-pep8-options '("--ignore=E302")
  "Options to pass to pep8.py"
  :type '(repeat string)
  :group 'python-pep8)

Zusammenfassung

Die Einstellungen von Emacs sind für jede Person unterschiedlich. Wenn Sie jedoch eine Umgebung erstellen, die für jede Person auf der Grundlage dieses Inhalts leicht zu entwickeln ist, sind Sie glücklicher.

Recommended Posts

Überprüfen Sie immer PEP8, während Sie den Python-Quellcode in Emacs bearbeiten
Überprüfen Sie den Python-Codestil mit pep8
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Ruby, Python-Codefragment Ausführung der Auswahl in Emacs
Entfernen Sie einzeilige Kommentare einschließlich Japanisch aus dem Quellcode in Python
Skript zur Überprüfung des Quellcode-Zeichencodes
Generieren Sie QR-Code in Python
In Python gelernter Zeichencode
So registrieren Sie einen Interrupt wie im Quellcode angegeben
Zeigen Sie den Implementierungsquellcode in iPython an
Fluss vom Quellcode zum Erstellen des Ausführungsformats
Syntax hebt den Quellcode in PowerPoint / Keynote hervor
Dateiverarbeitung in Python
Multithread-Verarbeitung in Python
Textverarbeitung mit Python
Verarbeitung in Python beenden
Entfernen Sie einzeilige Kommentare einschließlich Japanisch aus dem Quellcode in Python
Überprüfen Sie immer PEP8, während Sie den Python-Quellcode in Emacs bearbeiten
[PEP8] Übernehmen Sie den Python-Quellcode und schreiben Sie ihn ordentlich
Überprüfen Sie Python auf Speicherlecks
Suchen Sie mit Python nach externen Befehlen
[Python] Generiert QR-Code im Speicher
Formatieren Sie Python-Code automatisch mit Vim
Überprüfen und verschieben Sie das Verzeichnis in Python
[Python] Lesen Sie den Flask-Quellcode
Code-Tests rund um die Uhr in Python
So überprüfen Sie automatisch, ob der in Google Colaboratory geschriebene Code dem Python-Codierungsstandard "pep8" entspricht.
Was Emacs-Benutzer wissen sollten, wenn sie Python-Code in Sublime Text schreiben
In Python geschriebener Fourier-Serien-Verifizierungscode
Zeigen Sie den Implementierungsquellcode in iPython an
Überprüfen Sie das Verhalten des Zerstörers in Python
Überprüfen und empfangen Sie die serielle Schnittstelle in Python (Portprüfung)
Holen Sie sich Python-Quellcode-Metriken mit Radon
Überprüfen Sie, ob die URL in Python vorhanden ist
Python Docstring-Kommentar automatisch mit Emacs generieren
So überprüfen Sie die Version von opencv mit Python
Python> Codierungsanleitung> PEP 0008 - Stilanleitung für Python-Code
Suchen und überprüfen Sie die inverse Matrix in Python
Ruft die EDINET-Codeliste in Python ab
Syntax hebt den Quellcode in PowerPoint / Keynote hervor
Unterschiede beim Schreiben von externem Quellcode zwischen Ruby und Python