Анализ корректности Python (т.е. lint) для Notepad ++

Кто-нибудь знает что-нибудь вроде pylint или pychecker для блокнота ++? Или, возможно, как использовать pylint в блокноте ++.


person Belmin Fernandez    schedule 14.02.2011    source источник


Ответы (5)


Если вы установите плагин Python Script, вы можете добавить новый скрипт со следующими строками, чтобы хорошие результаты:

console.show()
console.clear()
console.run('cmd.exe /c '
            + 'C:\\Python26\\Scripts\\pylint.bat --reports=n -f parseable '
            + '"%s"' % notepad.getCurrentFilename())

Вывод будет включать гиперссылки на строки с ошибками / предупреждениями (если в именах файлов нет пробелов ...)

person Tom    schedule 08.06.2011
comment
Поскольку перейти по указанной выше ссылке к фактической загрузке несколько сложно, вот прямая ссылка: sourceforge.net / projects / npppythonscript / files - person thisismyrobot; 19.02.2013
comment
Однако сначала вам нужно установить Pylint. - person Concerned_Citizen; 23.03.2013
comment
разве это не в диспетчере плагинов? затем просто установите его из блокнота ++: меню ›плагины› менеджер плагинов - person n611x007; 23.08.2013

Параметр "-f parseable" не рекомендуется в текущей версии Pylint.

Текущая эквивалентная альтернатива:

console.run('cmd.exe /c '
        + 'C:\\Python26\\Scripts\\pylint.bat --reports=n '
        + '--msg-template="%s" %s' 
        % ( '{path}:{line}: {msg_id}({symbol}), {obj} {msg}', notepad.getCurrentFilename()))

Примечание: путь к python может быть другим, например C:\\Python27.

Примечание 2: двойные кавычки в --msg-template="..." важны

person Hector Llorens    schedule 18.06.2014

Вы можете установить PyLint с помощью python -m pip install pylint и использовать его с помощью команды Run... в Notepad ++ (F5):

cmd /c python -m pylint "$(FULL_CURRENT_PATH)" & pause

Чтобы получить результат в Notepad ++ и создать ссылку на код, используйте NppExec.

person philnext    schedule 18.03.2011
comment
можешь более подробно объяснить? - person jiamo; 24.04.2014
comment
Для самого последнего программного обеспечения (Windows 10, N ++ и т. Д.) Вам нужно: cmd /c pylint "$(FULL_CURRENT_PATH)" & pause. - person Pugsley; 20.01.2020

Ни один из других ответов не помог мне, но это работает:

  1. Установите PyLint, используя python -m pip install pylint

  2. Установите NppExec с помощью диспетчера подключаемых модулей, нажмите F6 и сохраните скрипт как PyLint:

     NPP_SAVE
     cd "$(FULL_CURRENT_PATH)"
     env_set PYTHONIOENCODING=utf-8
     python -u -m pylint "$(FULL_CURRENT_PATH)"
    

Пример вывода:

NPP_SAVE: C:\Users\Cees\Documents\http_ear.py
CD: C:\Users\Cees\Documents\http_ear.py
Current directory: C:\Users\Cees\Documents
ENV_SET: PYTHONIOENCODING=utf-8
$(SYS.PYTHONIOENCODING) = utf-8
python -u -m pylint "C:\Users\Cees\Documents\http_ear.py"
Process started (PID=25136) >>>
************* Module http_ear
http_ear.py:16:0: C0301: Line too long (1780/100) (line-too-long)
http_ear.py:17:0: C0301: Line too long (226/100) (line-too-long)
http_ear.py:26:0: C0304: Final newline missing (missing-final-newline)

------------------------------------------------------------------
Your code has been rated at 8.00/10 (previous run: 8.00/10, +0.00)

<<< Process finished (PID=25136). (Exit code 16)
================ READY ================

Вы можете связать местоположения ошибок, используя фильтры вывода консоли NppExec. Нажмите Shift + F6 и включите этот фильтр, установив для красного значение FF:

%FILE%:%LINE%:%CHAR%

Затем двойной щелчок по красной линии фокусирует указанное место в редакторе.

person Cees Timmerman    schedule 25.04.2016

Вы должны использовать Executable вместо Batch, если хотите использовать Pylint в NotePad ++.

Перейдите в Configuration from Python Script и создайте новый файл .py для запуска Pylint из него. (Я назвал свой файл npphelper.py)
(Добавьте этот файл npphelper.py к пунктам меню и значкам панели инструментов, затем вы можете запустить его, нажав кнопку. )

Это запустит Pylint в Notepad ++, я разделил команду на 2 части:

pyLint = 'C:\\PROGRA~1\\Python35\\Scripts\\pylint.exe --reports=n'
console.show()
console.clear()
console.run('%s "%s"' % (pyLint, notepad.getCurrentFilename()))
  1. Путь к pylint.exe (я использовал короткое имя вместо двойных кавычек)
  2. Файл, который вы хотите проверить с помощью Pylint (фактически возвращает путь из активной вкладки)

(Вы должны изменить пути, чтобы они соответствовали вашей установке ...)

Все, что вам нужно сделать сейчас, это сохранить этот npphelper.py, открыть вкладку с вашим файлом проекта и запустить npphelper.py, который вы создали для pylint. (например, с помощью кнопки)


Если вы не хотите использовать конфигурацию по умолчанию, создайте шаблон pylintrc (сохраните их там, где хотите). Я сделал это через CMD с помощью следующей команды:

pylint.exe --generate-rcfile>>myfilename.pylintrc

Затем вам нужно изменить несколько строк в npphelper.py:

rcfile = 'C:\\PROGRA~1\\Python35\\Scripts\\myrcfile.pylintrc'
pyLint = 'C:\\PROGRA~1\\Python35\\Scripts\\pylint.exe --reports=n --rcfile="%s"' % rcfile
console.show()
console.clear()
console.run('%s "%s"' % (pyLint, notepad.getCurrentFilename()))

Я установил Python Script 1.0.8.0 со всеми дополнительными функциями, используя файл .msi здесь.
(Использование PluginManager в Notepad ++ дает вам версию 1.0.6.0 вместо 1.0.8.0)

Я использую Windows 7 с Notepad ++ 6.9.1, Python 3.5.1 и Pylint 1.5.5.
(я установил pylint через CMD -> "pip install pylint" и обновил его.)


Еще несколько полезных ссылок:

person Regda    schedule 22.05.2016