Plugin de formatação

O plugin de formatação permite formatar código facilmente. O objetivo do plugin é preservar o histórico de desfazer do documento e a posição do cursor do usuário ao formatar o código, para que a formatação não interrompa o trabalho do usuário. Isso é especialmente importante para a formatação automática ao salvar.

Uso

Ele permite ao usuário formatar o código de duas maneiras:

  • Utilizando manualmente a ação "Formatar Documento".

  • Automaticamente ao salvar

Dica

Você pode pesquisar essa ação na barra de comandos e associar um atalho a ela para facilitar o acesso

Linguagens suportadas e formatadores

A lista atual de idiomas e formatadores suportados é a seguinte:

  • C/C++/ObjectiveC/ObjectiveC++/Protobuf/GLSL/Java - clang-format

  • Javascript/Typescript/JSX/TSX - prettier

  • JSON

    • prettier

    • clang-format

    • jq

  • Dart - dartfmt

  • Rust - rustfmt

  • Go - gofmt

  • XML - xmllint

  • Zig - zigfmt

  • CMake - cmake-format

  • D - dfmt

  • Fish Shell - fish_indent

  • Bash - shfmt

  • Nix - nixfmt

  • QML - qmlformat

  • HTML - prettier

  • Swift - swiftformat

  • Erlang - erlfmt

  • Godot Script - gdformat

  • Python

    • autopep8

    • ruff

  • YAML

    • yamlfmt

    • prettier

Configurando

O plugin pode ser configurado de duas maneiras:

  • Globalmente, a partir da janela de configuração

  • Para cada projeto, usando o arquivo .kateproject

Ao ler a configuração, o plugin primeiro tentará ler a configuração do arquivo .kateproject e, em seguida, lerá a configuração global. Exemplo:

{
    "formatOnSave": true,
    "formatterForJson": "jq",
    "cmake-format": {
        "formatOnSave": false
    },
    "autopep8": {
        "formatOnSave": false
    }
}

A configuração acima:

  • ativa a opção "formatar ao salvar" globalmente

  • especifica "jq" como o formatador para JSON

  • desativa a opção "formatar ao salvar" para cmake-format e autopep8

Para configurar a formatação de um projeto, primeiro crie um arquivo .kateproject e, em seguida, adicione um objeto "formatting" a ele. No objeto "formatting", você pode especificar suas configurações, como mostrado no exemplo anterior. Exemplo:

Nota

Você precisa habilitar o plugin de projeto para que isso funcione

{
    "name": "Meu Projeto Legal",
    "files": [
        {
            "git": 1
        }
    ],
    "formatting": {
        "formatterForJson": "clang-format",
        "autopep8": {
            "formatOnSave": false
        }
    }
}

Desativa temporariamente a formatação ao salvar

Durante o trabalho, você frequentemente precisará desativar a formatação por um curto período de tempo por algum motivo. Você pode fazer isso na barra de menus, em FerramentasFormatar ao salvar. Você também pode acionar essa ação na Barra de comandos.