notepad ++用のpylintやpycheckerのようなものを知っている人はいますか?または、notepad++でpylintを使用する方法。
5 に答える
Python Scriptプラグインをインストールすると、次の行を含む新しいスクリプトを追加して、かなり良い結果を得ることができます。
console.show()
console.clear()
console.run('cmd.exe /c '
+ 'C:\\Python26\\Scripts\\pylint.bat --reports=n -f parseable '
+ '"%s"' % notepad.getCurrentFilename())
出力には、エラー/警告のある行へのハイパーリンクが含まれます(ファイル名にスペースが含まれていない場合...)
オプション「-fparseable」は、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
、Notepad ++のRun...
コマンド(F5)を使用してインストールおよび使用できます。
cmd /c python -m pylint "$(FULL_CURRENT_PATH)" & pause
Notepad ++で出力を取得し、コードにリンクするには、NppExecを使用します。
他の答えはどれも私にはうまくいきませんでしたが、これはうまくいきます:
を使用して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%
次に、赤い線をダブルクリックすると、エディター内の指定された場所にフォーカスが移動します。
NotePad ++内でPylintを使用する場合は、バッチの代わりに実行可能ファイルを使用する必要があります。
Pythonスクリプトから構成に移動し、そこからPylintを実行するための新しい.pyファイルを作成します。(私は自分のファイルをnpphelper.pyと呼びました)
(そのnpphelper.pyをMenu-itemsとToolbar-iconsに追加し、ボタンを押すことで実行できます。)
これにより、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を保存し、プロジェクトファイルでタブを開き、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ファイルを使用してすべてのExtrasとともにPythonScript1.0.8.0をインストールしました。
(Notepad ++でPluginManagerを使用すると、1.0.8.0ではなくバージョン1.0.6.0が提供されます)
私はWindows7をNotepad++6.9.1、Python 3.5.1、Pylint1.5.5で使用しています。
(CMD-> " pip install pylint "を介してpylintをインストールし、更新しました。)
いくつかのより便利なリンク: