diff options
Diffstat (limited to 'doc/user_guide/ide-integration.rst')
-rw-r--r-- | doc/user_guide/ide-integration.rst | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/doc/user_guide/ide-integration.rst b/doc/user_guide/ide-integration.rst deleted file mode 100644 index f7bb0998b..000000000 --- a/doc/user_guide/ide-integration.rst +++ /dev/null @@ -1,232 +0,0 @@ -Using Pylint through Flymake in Emacs -===================================== - -To enable Flymake for Python, insert the following into your .emacs: - -.. sourcecode:: common-lisp - - ;; Configure Flymake for Python - (when (load "flymake" t) - (defun flymake-pylint-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)))) - (list "epylint" (list local-file)))) - (add-to-list 'flymake-allowed-file-name-masks - '("\\.py\\'" flymake-pylint-init))) - - ;; Set as a minor mode for Python - (add-hook 'python-mode-hook '(lambda () (flymake-mode))) - -Above stuff is in ``pylint/elisp/pylint-flymake.el``, which should be automatically -installed on Debian systems, in which cases you don't have to put it in your ``.emacs`` file. - -Other things you may find useful to set: - -.. sourcecode:: common-lisp - - ;; Configure to wait a bit longer after edits before starting - (setq-default flymake-no-changes-timeout '3) - - ;; Keymaps to navigate to the errors - (add-hook 'python-mode-hook '(lambda () (define-key python-mode-map "\C-cn" 'flymake-goto-next-error))) - (add-hook 'python-mode-hook '(lambda () (define-key python-mode-map "\C-cp" 'flymake-goto-prev-error))) - - -Finally, by default Flymake only displays the extra information about the error when you -hover the mouse over the highlighted line. The following will use the minibuffer to display -messages when you the cursor is on the line. - -.. sourcecode:: common-lisp - - ;; To avoid having to mouse hover for the error message, these functions make Flymake error messages - ;; appear in the minibuffer - (defun show-fly-err-at-point () - "If the cursor is sitting on a Flymake error, display the message in the minibuffer" - (require 'cl) - (interactive) - (let ((line-no (line-number-at-pos))) - (dolist (elem flymake-err-info) - (if (eq (car elem) line-no) - (let ((err (car (second elem)))) - (message "%s" (flymake-ler-text err))))))) - - (add-hook 'post-command-hook 'show-fly-err-at-point) - - -Alternative, if you only wish to pollute the minibuffer after an explicit flymake-goto-* then use -the following instead of a post-command-hook - -.. sourcecode:: common-lisp - - (defadvice flymake-goto-next-error (after display-message activate compile) - "Display the error in the mini-buffer rather than having to mouse over it" - (show-fly-err-at-point)) - - (defadvice flymake-goto-prev-error (after display-message activate compile) - "Display the error in the mini-buffer rather than having to mouse over it" - (show-fly-err-at-point)) - -.. _pylint_in_pycharm: - -Integrate Pylint with PyCharm -============================= - -Install Pylint the usual way:: - - pip install pylint - -Remember the path at which it's installed:: - - which pylint - -Using pylint-pycharm plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -#. In PyCharm go to *Preferences* > *Plugins* > *Browse repositories...* -#. Right-click on the plugin named **Pylint**, select **Download and Install** and restart PyCharm when prompted - -If the plugin is not finding the Pylint executable (e.g. is not inside the PATH environmental variable), you can -specify it manually using the plugin settings: - -#. *Preferences* > *Other Settings* > *Pylint* or simply click the gear icon from the side bar of the Pylint tool window -#. Type the path directly or use the Browse button to open a file selection dialog -#. Press the Test button to check if the plugin is able to run the executable - -For more info on how to use the plugin please check the `official plugin documentation <https://github.com/leinardi/pylint-pycharm/blob/master/README.md>`_. - -Using External Tools -~~~~~~~~~~~~~~~~~~~~ - -Within PyCharm: - -#. Navigate to the preferences window -#. Select "External Tools" -#. Click the plus sign at the bottom of the dialog to add a new external task -#. In the dialog, populate the following fields: - - :Name: Pylint - :Description: A Python source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells. - :Synchronize files after execution: unchecked - :Program: ``/path/to/pylint`` - :Parameters: ``$FilePath$`` - -#. Click OK - -The option to check the current file with Pylint should now be available in *Tools* > *External Tools* > *Pylint*. - - -.. _pylint_in_textmate: - -Integrate Pylint with TextMate -============================== - -Install Pylint in the usual way:: - - pip install pylint - -Install the `Python bundle for TextMate <https://github.com/textmate/python.tmbundle>`_: - -#. select *TextMate* > *Preferences* -#. select the *Bundles* tab -#. find and tick the *Python* bundle in the list - -You should now see it in *Bundles* > *Python*. - -In *Preferences*, select the *Variables* tab. If a ``TM_PYCHECKER`` variable is not already listed, add -it, with the value ``pylint``. - -The default keyboard shortcut to run the syntax checker is *Control-Shift-V* - open a ``.py`` file -in Textmate, and try it. - -You should see the output in a new window: - - PyCheckMate 1.2 – Pylint 1.4.4 - - No config file found, using default configuration - -Then all is well, and most likely Pylint will have expressed some opinions about your Python code -(or will exit with ``0`` if your code already conforms to its expectations). - -If you receive a message: - - Please install PyChecker, PyFlakes, Pylint, PEP 8 or flake8 for more extensive code checking. - -That means that Pylint wasn't found, which is likely an issue with command paths - TextMate needs -be looking for Pylint on the right paths. - -Check where Pylint has been installed, using ``which``:: - - $ which pylint - /usr/local/bin/pylint - -The output will tell you where Pylint can be found; in this case, in ``/usr/local/bin``. - -#. select *TextMate* > *Preferences* -#. select the *Variables* tab -#. find and check that a ``PATH`` variable exists, and that it contains the appropriate path (if - the path to Pylint were ``/usr/local/bin/pylint`` as above, then the variable would need to - contain ``/usr/local/bin``). An actual example in this case might be - ``$PATH:/opt/local/bin:/usr/local/bin:/usr/texbin``, which includes other paths. - -... and try running Pylint again. - -Integrate Pylint with Visual Studio Code -======================================== - -Command-line arguments and configuration files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -See `Pylint command line arguments`_ for general switches. Command line -arguments can be used to load Pylint plugins, such as that for Django: - -:: - - "python.linting.pylintArgs": ["--load-plugins", "pylint_django"] - -Options can also be specified in a ``pylintrc`` or ``.pylintrc`` file in -the workspace folder, as described on `Pylint command line arguments`_. - -To control which Pylint messages are shown, add the following contents -to an options file: - -.. code:: ini - - [MESSAGES CONTROL] - - # Enable the message, report, category or checker with the given id(s). You can - # either give multiple identifier separated by comma (,) or put this option - # multiple time. - #enable= - - # Disable the message, report, category or checker with the given id(s). You - # can either give multiple identifier separated by comma (,) or put this option - # multiple time (only on the command line, not in the configuration file where - # it should appear only once). - #disable= - -Message category mapping -~~~~~~~~~~~~~~~~~~~~~~~~ - -The Python extension maps Pylint message categories to VS Code -categories through the following settings. If desired, change the -setting to change the mapping. - -+----------------------+-----------------------------------+------------------+ -| Pylint category | Applicable setting | VS Code category | -| | (python.linting.) | mapping | -+======================+===================================+==================+ -| convention | pylintCategorySeverity.convention | Information | -+----------------------+-----------------------------------+------------------+ -| refactor | pylintCategorySeverity.refactor | Hint | -+----------------------+-----------------------------------+------------------+ -| warning | pylintCategorySeverity.warning | Warning | -+----------------------+-----------------------------------+------------------+ -| error | pylintCategorySeverity.error | Error | -+----------------------+-----------------------------------+------------------+ -| fatal | pylintCategorySeverity.fatal | Error | -+----------------------+-----------------------------------+------------------+ - -.. _Pylint command line arguments: https://pylint.pycqa.org/en/latest/user_guide/run.html#command-line-options |