3

我有一个带有多行导入语句的 Python 文件:

from itertools import (
    accumulate,
    chain,
    combinations,
    combinations_with_replacement,
    compress,
    count,
    islice,
    product
)

我尝试通过首先将多行导入语句更改为单行导入来删除未使用的导入:

isort -sl totest.py
autoflake --remove-all-unused-imports --remove-unused-variables -i totest.py

它在命令行中运行良好,但在 Intellij 中使用 File Watchers 时,第一次保存文件时不会运行 autoflake。基本上,要解决它,我需要:

  1. 进行一些编辑,例如,添加一些空间
  2. 保存存档
  3. 它被格式化为:

    from itertools import accumulate
    from itertools import chain
    from itertools import combinations
    from itertools import combinations_with_replacement
    from itertools import compress
    from itertools import count
    from itertools import islice
    from itertools import product
    
  4. 然后进行另一个编辑

  5. 保存存档
  6. 并且删除了多余的导入

第 4 步和第 5 步是多余的。

我想知道可能是什么原因,我应该在哪里报告?到 IDEA Intellij 团队,到哪里去?

这是我watchers.xml要导入 Intellij 的内容。

<TaskOptions>
  <TaskOptions>
    <option name="arguments" value="--remove-all-unused-imports --remove-unused-variables -i $FilePath$" />
    <option name="checkSyntaxErrors" value="true" />
    <option name="description" />
    <option name="exitCodeBehavior" value="ERROR" />
    <option name="fileExtension" value="py" />
    <option name="immediateSync" value="false" />
    <option name="name" value="Remove unused variables and imports" />
    <option name="output" value="$FilePath$" />
    <option name="outputFilters">
      <array />
    </option>
    <option name="outputFromStdout" value="false" />
    <option name="program" value="autoflake" />
    <option name="runOnExternalChanges" value="true" />
    <option name="scopeName" value="Project Files" />
    <option name="trackOnlyRoot" value="false" />
    <option name="workingDir" value="" />
    <envs />
  </TaskOptions>
  <TaskOptions>
    <option name="arguments" value="-sp $$ProjectFileDir$/.isort.cfg $FilePath$" />
    <option name="checkSyntaxErrors" value="true" />
    <option name="description" />
    <option name="exitCodeBehavior" value="ERROR" />
    <option name="fileExtension" value="py" />
    <option name="immediateSync" value="false" />
    <option name="name" value="Organize imports" />
    <option name="output" value="$FilePath$" />
    <option name="outputFilters">
      <array />
    </option>
    <option name="outputFromStdout" value="false" />
    <option name="program" value="isort" />
    <option name="runOnExternalChanges" value="true" />
    <option name="scopeName" value="Project Files" />
    <option name="trackOnlyRoot" value="false" />
    <option name="workingDir" value="" />
    <envs />
  </TaskOptions>
  <TaskOptions>
    <option name="arguments" value="--config=&quot;$ProjectFileDir$&quot;/pyproject.toml $FilePath$" />
    <option name="checkSyntaxErrors" value="true" />
    <option name="description" />
    <option name="exitCodeBehavior" value="ERROR" />
    <option name="fileExtension" value="py" />
    <option name="immediateSync" value="false" />
    <option name="name" value="Format code (with Black)" />
    <option name="output" value="$FilePath$" />
    <option name="outputFilters">
      <array />
    </option>
    <option name="outputFromStdout" value="false" />
    <option name="program" value="black" />
    <option name="runOnExternalChanges" value="true" />
    <option name="scopeName" value="Project Files" />
    <option name="trackOnlyRoot" value="false" />
    <option name="workingDir" value="" />
    <envs />
  </TaskOptions>
</TaskOptions>
4

0 回答 0