14

有谁知道记事本++的pylintpychecker之类的东西?或者也许如何在记事本++中使用 pylint。

4

5 回答 5

15

如果你安装了Python Script 插件,那么你可以添加一个带有以下行的新脚本以获得非常好的结果:

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

输出将包含指向带有错误/警告的行的超链接(如果文件名中没有空格...)

于 2011-06-08T01:03:57.310 回答
3

当前版本的 Pylint不推荐使用“-f parseable”选项。

当前等效的替代方案是:

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="..."很重要

于 2014-06-18T11:43:16.147 回答
1

您可以安装 PyLintpython -m pip install pylint并通过 Notepad++ 的Run...命令 ( F5) 使用它:

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

要在 Notepad++ 中获取输出并链接到代码,请使用 NppExec

于 2011-03-18T09:39:49.293 回答
1

其他答案都不适合我,但这确实:

  1. 使用安装 PyLintpython -m pip install pylint

  2. 通过Plugin Manager安装 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%

然后双击一条红线将指定位置聚焦在编辑器中。

于 2016-04-25T17:04:58.397 回答
0

如果你想在 NotePad++ 中使用 Pylint,你应该使用 Executable 而不是 Batch。

从 Python 脚本转到配置并创建一个新的 .py 文件以从中运行 Pylint。(我调用了我的文件 npphelper.py
将该 npphelper.py 添加到菜单项和工具栏图标,然后您可以通过按下按钮来执行它。

这会将 Pylint 运行到 Notepad++ 中,我将命令分为两部分:

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,用你的项目文件打开选项卡并运行你为 pylint 创建的 npphelper.py。(例如通过按钮


如果您不想使用默认配置,请生成一个 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()))

我在这里使用 .msi 文件安装了 Python Script 1.0.8.0 和所有 Extras 。
在 Notepad++ 中使用 PluginManager 为您提供版本 1.0.6.0 而不是 1.0.8.0

我使用带有 Notepad++ 6.9.1、Python 3.5.1 和 Pylint 1.5.5 的 Windows 7。
我通过 CMD 安装了 pylint ->“ pip install pylint ”并更新了它。


一些更有用的链接:

于 2016-05-22T17:55:09.707 回答