3

我正在尝试将 isort 设置为 PyCharm 中的外部工具。我无法设置过滤器以使文件路径成为链接。

isort 的输出是:

ERROR: C:\dev\path\to\a\project\file.py Imports are incorrectly sorted.

根据文档$FILE_PATH$应该足够了,但它对我不起作用。我尝试了几种正则表达式样式,但都没有成功。

4

1 回答 1

6

tl;博士$FILE_PATH$(?<=\.py)( |$)用作过滤器。

正则(^|[\W])(?<file>(?:\p{Alpha}\:|/)[0-9 a-z_A-Z\-\\./]+)(?<=\.py)表达式也用于. $FILE_PATH来源:https ://github.com/JetBrains/intellij-community/blob/d29c4fa1a73e03b852353186d792540150336b9f/platform/lang-api/src/com/intellij/execution/filters/RegexpFilter.java#L39 看看它是如何允许空间的?

这意味着它将抓取C:\dev\path\to\a\project\file.py Imports are incorrectly sorted.并且由于它不指向真实文件,因此不会转换为链接。

因此,您可以将isort输出格式修改为具有清晰文件路径边界的格式,或者在正则表达式中使用更花哨的东西,例如正面看后面,这将使您的过滤器看起来像这样: $FILE_PATH$(?<=\.py)( |$)

如果提供的过滤器不能满足您的特定需求,您可以使用https://www.freeformatter.com/java-regex-tester.html来测试 java正则表达式。

于 2017-08-23T14:46:39.173 回答