Eu tenho uma função assim:
def get_foo(a: object, b: tuple, c: int,) -> dict:
.....
Quando eu faço isso $ ruff format myfile.py
, minha função é alterada para
def get_foo(
a: object,
b: tuple,
c: int,
) -> dict:
....
Como posso parar com esse comportamento?
Atualização: @STerliakov Implementei sua solução , mas recebi este aviso.
$ ruff format test.py
warning: The isort option `isort.split-on-trailing-comma` is incompatible with the formatter `format.skip-magic-trailing-comma=true` option. To avoid unexpected behavior, we recommend either setting `isort.split-on-trailing-comma=false` or `format.skip-magic-trailing-comma=false`.
1 file reformatted
Não consigo encontrar isort.split-on-trailing-comma
a opção para definir como falso para evitar o conflito. Como corrijo esse problema?
Você pode usar uma
# fmt: skip
diretiva como esta:Mas livre-se da vírgula...
Como apontado na resposta de STerliakov, no seu caso específico, isso se deve à vírgula final. Provavelmente, isso é mais apropriado aqui.
Se por algum motivo você não quiser alterar a configuração global, você ainda pode usar
# fmt: skip
.Isso acontece devido à vírgula final na sua lista de argumentos. Esse comportamento é intencional. Você pode desativá-lo globalmente usando
skip-magic-trailing-comma
.Por exemplo,
pyproject.toml
isso seriaHabilitar esta configuração é incompatível com a configuração padrão do classificador de importações. Para ignorar vírgulas finais também nas suas importações, defina
isort.split-on-trailing-comma
como falso: