![](/img/trans.png)
[英]how to enable linter pylint enable in vs code when Python: Select linter>>pylint
[英]How to change pylint message template in VS Code linter?
我的目標是在VS Code中更改linter消息的pylint消息模板。 我正在使用Don Jayamanne的VS Code的標准“Python”擴展,現在由Microsoft直接維護。 默認情況下,消息格式如下所示(以簡單的空格消息為例):
[pylint] C0303:尾隨空格
我希望該消息改為使用pylint消息符號而不是代碼 (例如“C0303”)。 我更喜歡代碼上的人類可讀符號。 在我看來,當禁用某些消息等時更容易使用。所以,這樣的事情將是首選:
[pylint]尾隨空格(尾隨空格)
以下是到目前為止還沒有工作,我已經嘗試了幾件事情。
msg-template=
行 我在.pylintrc文件中設置了這一行:
msg-template='{msg} ({symbol})'
通過VS代碼的一個單獨的終端之外的VS代碼運行時pylint的,但不是我的變化反映出來。 我也嘗試重新加載VS Code窗口,這沒有任何效果。
python.linting.pylintArgs
: 我嘗試的下一件事是在VS Code用戶設置中設置pylint選項,也沒有效果:
"python.linting.pylintArgs": [
"--msg-template='{msg} ({symbol})'"
]
最后,我仔細檢查以確保我在VS Code尋找pylint的路徑上沒有任何奇怪的事情。 我沒有看到任何亂序,因為我的設置沒有從默認設置更改:
"python.linting.pylintPath": "pylint",
任何想法,將不勝感激。 VS Code對我來說是一個較新的編輯器,我不確定我的下一步可能是對此進行故障排除。 謝謝!
在第30行查看vscode-python的源代碼為0.7.0
。 顯式覆蓋消息模板參數。
這樣做的目的是為每個特定linter實現的結果保持一致的API。 請參閱抽象BaseLinter類 。
public runLinter(document: TextDocument, cancellation: CancellationToken): Promise<baseLinter.ILintMessage[]> {
...
this.run(pylintPath, pylintArgs.concat(['--msg-template=\'{line},{column},{category},{msg_id}:{msg}\'', '--reports=n', '--output-format=text', document.uri.fsPath]), document, this.workspaceRootPath, cancellation).then(messages => {
messages.forEach(msg => {
msg.severity = this.parseMessagesSeverity(msg.type, this.pythonSettings.linting.pylintCategorySeverity);
});
resolve(messages);
}, reject);
});
}
下一步:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.