Кто-нибудь знает что-нибудь вроде pylint или pychecker для блокнота ++? Или, возможно, как использовать pylint в блокноте ++.
Анализ корректности Python (т.е. lint) для Notepad ++
Ответы (5)
Если вы установите плагин Python Script, вы можете добавить новый скрипт со следующими строками, чтобы хорошие результаты:
console.show()
console.clear()
console.run('cmd.exe /c '
+ 'C:\\Python26\\Scripts\\pylint.bat --reports=n -f parseable '
+ '"%s"' % notepad.getCurrentFilename())
Вывод будет включать гиперссылки на строки с ошибками / предупреждениями (если в именах файлов нет пробелов ...)
Параметр "-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="..."
важны
Вы можете установить PyLint с помощью python -m pip install pylint
и использовать его с помощью команды Run...
в Notepad ++ (F5):
cmd /c python -m pylint "$(FULL_CURRENT_PATH)" & pause
Чтобы получить результат в Notepad ++ и создать ссылку на код, используйте NppExec.
cmd /c pylint "$(FULL_CURRENT_PATH)" & pause
.
- person Pugsley; 20.01.2020
Ни один из других ответов не помог мне, но это работает:
Установите PyLint, используя
python -m pip install pylint
Установите 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%
Затем двойной щелчок по красной линии фокусирует указанное место в редакторе.
Вы должны использовать Executable вместо Batch, если хотите использовать Pylint в NotePad ++.
Перейдите в Configuration from Python Script и создайте новый файл .py для запуска Pylint из него. (Я назвал свой файл npphelper.py)
(Добавьте этот файл npphelper.py к пунктам меню и значкам панели инструментов, затем вы можете запустить его, нажав кнопку. em >)
Это запустит Pylint в Notepad ++, я разделил команду на 2 части:
pyLint = 'C:\\PROGRA~1\\Python35\\Scripts\\pylint.exe --reports=n'
console.show()
console.clear()
console.run('%s "%s"' % (pyLint, notepad.getCurrentFilename()))
- Путь к pylint.exe (я использовал короткое имя вместо двойных кавычек)
- Файл, который вы хотите проверить с помощью 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" и обновил его.)
Еще несколько полезных ссылок:
- Как создать файл pylintrc
- Ошибка PyLint «Невозможно импортировать» - как установить PYTHONPATH? < / а>