[英]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.