Vscode-rust: O formato não funciona

Criado em 18 mar. 2019  ·  14Comentários  ·  Fonte: rust-lang/vscode-rust

Oi!

Não consigo fazer o vscode formatar o código, o erro é:

[Trace - 9:32:34 PM] Received response 'textDocument/formatting - (15)' in 0ms. Request failed: Reformat failed to complete successfully (-32603).
[Error - 9:32:34 PM] Request textDocument/formatting failed.
  Message: Reformat failed to complete successfully
  Code: -32603 

rustftm via cmd formata o mesmo arquivo ok.

o que verificar ou configurar?

obrigada!

rustc 1.33.0 (2aa4c46cf 28/02/2019)
rustfmt 1.0.1-estável (be13559 10/12/2018)
cargo 1.33.0 (f099fe94b 12/02/2019)
rustup 1.17.0 (069c88ed6 05/03/2019)

P-High bug rls

Comentários muito úteis

Alguma atualização sobre este problema?

Todos 14 comentários

Acabei de começar a aprender Rust com VSCode e o plugin rls-vscode e recebi o mesmo erro. Para verificar qual é a mensagem de erro, clique em Exibir> Abrir Visualização e escreva Saída (painel) e pressione Enter.
Executando Ubuntu Budgie 18.04.2 LTS
rustc 1.33.0 (2aa4c46cf 28/02/2019)
rustfmt 1.0.1-estável (be13559 10/12/2018)
cargo 1.33.0 (f099fe94b 12/02/2019)
rustup 1.17.0 (069c88ed6 05/03/2019)

Infelizmente, esse é um problema do próprio RLS. Isso está no topo da lista, então espero que isso seja resolvido em breve

Alguma atualização sobre este problema?

Eu não recebo um erro, mas eu formato e não faz nada do meu lado também

Eu tenho o mesmo erro.

Olá

Emita um "fmt de carga" de dentro do diretório do projeto. Isso fornecerá mais informações sobre o motivo pelo qual a formatação não pode ser usada.
No meu caso, meu conjunto de ferramentas não encontrou o cargo-fmt.exe. depois disso, funcionou a partir da linha de comando e de dentro do vscode

Eu tenho o mesmo problema e "cargo fmt" funciona bem, nenhum erro quando executo a partir da linha de comando. Ele costumava funcionar até muito recentemente no VSCode também, agora recebo o erro relatado acima todas as vezes.

O mesmo aqui, cargo fmt funciona, mas executar Format Document me dá este erro:

[Error - 4:45:32 PM] Request textDocument/formatting failed.
  Message: Reformat failed to complete successfully
  Code: -32603

estou usando

rustc 1.37.0 (eae3437df 2019-08-13)
rustfmt 1.3.0-stable (d3345024 2019-06-09)
cargo 1.37.0 (9edd08916 2019-08-02)

Também notei que o botão giratório RLS [building] na barra de status do vscode nunca muda e não há saída, exceto o erro acima quando eu salvo.

Eu tenho uma máquina executando o VS Code 1.37 que funciona corretamente e outra executando 1.38.1 que não funciona, então parece que foi uma regressão do problema anterior.

Um aviso simples para os outros novatos que estão apenas começando a aprender o Rust como eu. Parece que você precisa de um arquivo Cargo.toml em seu projeto para que rls-vscode formate seu código.

Parece que você precisa de um arquivo Cargo.toml em seu projeto

Não funciona para mim mesmo com um arquivo Cargo.toml :( Estou usando o VS Code 1.40.2 no macOS 10.15 - não estou obtendo nenhuma saída exibida ou registrada quando executo o formato, embora nada esteja acontecendo, e usando rustfmt da linha de comando funciona bem.

Editar: afinal funcionando - o mais bonito estava sendo usado incorretamente por ter sido definido como o formatador padrão nas configurações do código do VS

Recebo o mesmo erro quando o rustfmt falha. No meu caso, isso parece estar relacionado a esse problema do rustfmt. Em particular, este código faz com que rustfmt falhe:

match var.name{
    name if 
        //BAD COMMENT causes fmt error
        name.contains("smth")
        // other comment
        | name.contains("smth else") => {true}
    _ => false,
}

O erro rls causado é bastante silencioso. Inicialmente, verifiquei as configurações e atualizei a ferrugem com rustup (o que não ajudou em nada).
A formatação manual com rustfmt leva a este erro (daí o link para o problema rustfmt):

rustfmt /path/to/file.rs
error[internal]: left behind trailing whitespace
   --> /path/to/file.rs:157:157:19
    |
157 |             name if 
    |                    ^
    |

warning: rustfmt has failed to format. See previous 1 errors.

por que esse erro ainda não foi corrigido?

Esta página foi útil?
0 / 5 - 0 avaliações