[英]How to set up filter for isort as external tool in PyCharm
我正在嘗試將isort設置為PyCharm中的外部工具。 我無法設置過濾器,因此文件路徑是鏈接。
isort的輸出是:
ERROR: C:\dev\path\to\a\project\file.py Imports are incorrectly sorted.
根據文檔 , $FILE_PATH$
應該足夠了,但對我來說不起作用。 我嘗試了幾種正則表達式樣式,但均未成功。
tl; dr使用$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正則表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.