Vscode-rust: рдкреНрд░рд╛рд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдорд╛рд░реНрдЪ 2019  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: rust-lang/vscode-rust

рдирдорд╕реНрддреЗ!

рдореБрдЭреЗ рдХреЛрдб рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдо рдХреЛрдб рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рд╣реИ:

[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 

cmd рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ rustftm рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдареАрдХ рд╣реИред

рдХреНрдпрд╛ рдЬрд╛рдВрдЪреЗрдВ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ?

рдЬреА рд╢реБрдХреНрд░рд┐рдпрд╛!

рд░рд╕реНрдЯрд╕реА 1.33.0 (2aa4c46cf 2019-02-28)
rustfmt 1.0.1-рд╕реНрдерд┐рд░ (be13559 2018-12-10)
рдХрд╛рд░реНрдЧреЛ 1.33.0 (f099fe94b 2019-02-12)
рд░рд╕реНрдЯрдЕрдк 1.17.0 (069c88ed6 2019-03-05)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЕрднреА VSCode рдФрд░ rls-vscode рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд░рд╕реНрдЯ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреНрдпрд╛ рд╣реИ, рджреГрд╢реНрдп > рджреГрд╢реНрдп рдЦреЛрд▓реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ (рдкреИрдирд▓) рд▓рд┐рдЦреЗрдВ рдФрд░ рдлрд┐рд░ Enter рджрдмрд╛рдПрдБред
рдЙрдмрдВрдЯреВ рдмреБрдЧреНрдЧреА 18.04.2 рдПрд▓рдЯреАрдПрд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рд░рд╕реНрдЯрд╕реА 1.33.0 (2aa4c46cf 2019-02-28)
rustfmt 1.0.1-рд╕реНрдерд┐рд░ (be13559 2018-12-10)
рдХрд╛рд░реНрдЧреЛ 1.33.0 (f099fe94b 2019-02-12)
рд░рд╕реНрдЯрдЕрдк 1.17.0 (069c88ed6 2019-03-05)

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЖрд░рдПрд▓рдПрд╕ рдХреЗ рд╕рд╛рде рд╣реА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рдпрд╣ рд╕реВрдЪреА рдореЗрдВ рдЙрдЪреНрдЪ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

рдХреНрдпрд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рдорд╕реНрдпрд╛ https://github.com/rust-lang/rls/issues/1397 рд╣реИ?

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдореБрдЭреЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рд╛рд░реВрдк рдореЗрд░реА рдУрд░ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдореБрдЭреЗ рднреА рдпрд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред

рдирдорд╕реНрддреЗ

рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреАрдЖрдИрдЖрд░ рдХреЗ рднреАрддрд░ рд╕реЗ "рдХрд╛рд░реНрдЧреЛ рдПрдлрдПрдордЯреА" рдЬрд╛рд░реА рдХрд░реЗрдВред рдпрд╣ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЧрд╛ рдХрд┐ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдЯреВрд▓рдЪреЗрди рдХрд╛рд░реНрдЧреЛ-fmt.exe рд╕реЗ рдЪреВрдХ рдЧрдпрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж рдЗрд╕рдиреЗ рдХрдорд╛рдВрдбрд▓рд╛рдЗрди рд╕реЗ рдФрд░ vscode рдХреЗ рднреАрддрд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ "рдХрд╛рд░реНрдЧреЛ рдПрдлрдПрдордЯреА" рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдореИрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╣рд╛рд▓ рд╣реА рдореЗрдВ VSCode рдХреЗ рднреАрддрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рдЕрдм рдореБрдЭреЗ рд╣рд░ рдмрд╛рд░ рдКрдкрд░ рдмрддрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

рдпрд╣рд╛рдВ рд╡рд╣реА, cargo fmt рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди Format Document рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

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

рдореИ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

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)

рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ vscode рдХреЗ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдореЗрдВ RLS [building] рд╕реНрдкрд┐рдирд░ рдХрднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдореИрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реВрдВ рддреЛ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рд╡реАрдПрд╕ рдХреЛрдб 1.37 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдорд╢реАрди рд╣реИ рдЬреЛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реА 1.38.1 рдЪрд▓ рд░рд╣реА рд╣реИ рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдерд╛ред

рдореЗрд░реЗ рдЬреИрд╕реЗ рдирдП рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛ рдЕрднреА-рдЕрднреА рд░рд╕реНрдЯ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ rls-vscode рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░ рд╕рдХреЗред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Cargo.toml рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП Cargo.toml рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ :( рдореИрдВ macOS 10.15 рдкрд░ VS рдХреЛрдб 1.40.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдЬрдм рдореИрдВ рдкреНрд░рд╛рд░реВрдк рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдХреЛрдИ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдпрд╛ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ rustfmt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдЦрд┐рд░рдХрд╛рд░ рдХрд╛рдо рдХрд░рдирд╛ - рдореЗрд░реА рд╡реАрдПрд╕ рдХреЛрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлреЙрд░реНрдореЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдкреНрд░реАрдЯреАрдпрд░ рдХрд╛ рдЧрд▓рдд рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛

rustfmt рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ rustfmt рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдХреЛрдб rustfmt рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ:

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

рдХрд╛рд░рдг рдЖрд░рдПрд▓рдПрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛рдлреА рдЪреБрдк рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рд░рд╕реНрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдЬрдВрдЧ (рдЬреЛ рдХрд┐ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдереА)ред
rustfmt рдХреЗ рд╕рд╛рде рдореИрдиреБрдЕрд▓ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП 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.

рдпрд╣ рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдареАрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

sfackler picture sfackler  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexreg picture alexreg  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

byteshiva picture byteshiva  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

views63 picture views63  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

olehmisar picture olehmisar  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ