Articles

Hva er den beste IDE for utvikling I Rust?

Tremaine eto
Tremaine Eto

Følg

13. Mai, 2019 · 12 min lese

div>

hvilke rust ideer bør du velge?

Rust er ifølge Stack Overflow Insights det mest «Elskede» språket i 2018 med en utrolig 78,9% vurdering — Rustaceans der ute er tydelig glade i gjennomsnitt. Rust ble imidlertid ikke vist i den samme undersøkelsens» Mest Populære Teknologier » – seksjon, noe som indikerer at mengden av generelle brukere fortsatt er ganske liten.Det burde ikke komme som noen overraskelse etter undersøkelsen da mange mennesker rushing for å prøve det, og når den tiden kommer, oppstår spørsmålet uunngåelig: hvilken IDE skal du bruke til å utvikle I Rust?

per i dag er Det ikke noe klart monopol på Rust IDEs og dermed ingen klar vinner. Så mye som det føles som det kan gjøre det forvirrende, kan dette faktisk være en god ting, da det er en rekke valg som til slutt vil koke ned til brukerens preferanse.

Denne artikkelen vil ta mange internett-meninger og forsøke å belyse både fordeler og ulemper.

IntelliJ IDE med Intellij Rust plugin

rust med IntelliJ IDEA (Kreditt Matklad på giphy)

du finner installasjonslinken her på intellij rust nettsiden.

  • Open-source
  • Skrevet av Noen JetBrains ansatte og frivillige
  • Ingen debugging

EDIT (5/28/19): Ifølge leseren Chris Vest:

det kan gjøre feilsøking når det er installert i CLion.

  • gratis for community edition, lisens for premium versjon
  • Refactoring evner
  • Støtter å legge til nye moduler
  • Støtter stubbing ut egenskap implementeringer

funksjonssettet er fantastisk, Men jeg finner det sakte… Gjør noen andre har dette problemet? Det tar noen ganger minutter for syntaks – og feilutheving å oppdatere etter at jeg har skrevet noen ny kode.

—/u /NeuroXc på/r/rust

jeg har brukt begge vim med rusten.vim plugin Og Intellij med Det Er Rust plugin. Intellij har den mest komplette ide-opplevelsen jeg har prøvd og de beste ferdigstillelsene, men jeg foretrekker fortsatt vim.

—/u /Zethra på/r/rust

Jeg bruker Intellij med Rust-plugin. Jeg bruker Allerede Jetbrains IDEs mye for uni-arbeid, så det var fornuftig å holde fast ved det.

—/u /FlourineWizard på/r/rust

jeg hadde unngått intellij på grunn av mangel på debugger (fungerer bare i clion).

ved å prøve ut intellij virket ferdigstillelsen veldig bra umiddelbart (etter den første indeksen). Men da begynte jeg å løpe inn i rare ting. Jeg har ikke nattlig noe oppsett, men det fullfører ting i nattlig. Det ser ut til at DET er i SAMSVAR MED IDE, til en bygning kjøres, så gjør den det ikke. Det har ting jeg savnet i vs-kode som jeg har funksjonsforespørsler i for.

det har imidlertid andre problemer som det vil tilfeldig si at ting ikke kompilerer det. Det vil si manglende metode. Men hvis du sletter linjen, kommer den til å fullføre den, og igjen si manglende metode.

så bare en side notat, intellij er langt den mest tunge VEKTEN IDE. Det kjører knapt på min laptop (som er veldig gammel i all rettferdighet, og jeg burde nok få en annen), hvor de andre «jobber» fint (uansett hva du vil definere det for eclipse, og vs code var flott til jeg gjorde hva som helst for å bryte ferdigstillelse).

jeg tror det virkelige svaret er at vi ikke ER IDE ennå.

—/u /r3vj4m3z på/r / rust

IntelliJ rust plugin er veldig bra. Jeg brukte vim+racer+ycm for en stund, og jeg elsker Vim, Men Spesielt for store produksjonsprosjekter med mange moduler og dype hierarkier, Er IntelliJ bare mye mer produktiv (ting som rename struct field fungerer over hele kodebasen)

— /u/neuronsguy on /r/rust

intellij-rust var absolutt ekstremt lett å komme I gang med, men Oppblåsingen av ij selv kjørte meg bort.

—/u /Cldfire på/r/rust

det fungerer veldig bra og har aktiv utvikling.
jeg absolutt anbefale det hvis du kan spare RAM og CPU-bruk.

— chimmihc på rust-lang.org

EDIT 6/24/19: Reader Joseph Noose hadde følgende å legge til:

For meg var Det store pluss Av IntelliJ over VSS let-fullføringene, at noen ganger når det handler med 3. part blir det raskere og lettere å se hvilket objekt som returneres. Jeg fant med noen av diesel ting det var spesielt nyttig siden objektene er ganske lang

CLion Med IntelliJ Rust plugin

Et annet alternativ Med JetBrains, CLion Er EN C / C++ IDE som også kan støtte IntelliJ Rust plugin.Tillater Bruk Av Last bygge system

  • Støtte for debugging Rust applikasjoner-i motsetning IntelliJ IDEA
  • Krever kommersiell lisens (eller gratis med .edu e-postadresse)
  • Clion Med Rust-plugin for intelliJ er sannsynligvis så nær En Rust – SPESIFIKK IDE som eksisterer; Eclipse-prosjektet kan imidlertid lage en, det diskuteres for tiden.

    — p > – / u / steveklabnik1 på / r / rust

    Feilsøkingsstøtte I CLion er utmerket! Får ikke på langt nær nok ros. Inlined runtime verdier i kode på stoppunkter er fint (1), så er debugging inspektør( 2), og sette betingede stoppunkter … veldig behagelig å gjøre.
    Se: 1 2 3

    — /u/Monadic_Malic_Acid on /r/rust

    VSCode with Rust plugin

    VSCode with Rust (credit rust-lang.Org)
    • Åpen kildekode (gratis)
    • Innebygd Last støtte
    • kodefullføring
    • Hopp til definisjon, titt definisjon, finn alle referanser, symbol søk
    • Typer Og dokumentasjon på hover
    • Kodeformatering
    • Refactoring (endre navn, deglob)
    • feil squiggles og bruk forslag fra feil
    • utdrag
    • bygg oppgaver
    • drevet av rust language server (rls)
    • format på lagre, hvis ønskelig

    vscode har god språk serverstøtte, Som betyr at nye RLS-funksjoner fungerer veldig bra i den. Det er mer en tradisjonell IDE-opplevelse, men jeg foretrekker å bruke en tmux-økt som MIN IDE med Vim som kodeditoren min.

    —/u /IDidntChooseUsername på/r/rust

    +1 For Vscode + Forlengelse. Hvorfor? Noen mennesker vil bare se verden brenne. Men seriøst. VSCode er en veldig, veldig god redaktør.jeg bruker Den Til C, C++, C#, Javascript, Erlang, Prolog, Lisp, F# og Nå Rust.

    ingen emacs pinky.

    bare fungerer rett ut av boksen.

    Kommandoen pallete er ogsa ganske baller.

    de erstattet grep-systemet med rust-versjonen nylig og fikk massiv ytelsesøkning. Jeg er bokstavelig talt her på Grunn Av vscode utgivelsesnotater fra omtrent en uke eller 2 siden.

    Solid git integrasjon.

    Kryss plattform.

    nevnte jeg allerede at jeg liker å se verden brenne?

    — på /r/rust

    jeg bruker VS-kode med rustutvidelsen for all min rustkoding. Det har tjent meg veldig bra så langt, alt jeg ikke kan gjøre med tastekombinasjonene som tilbys av utvidelsen, kan gjøres med den integrerte konsollen, så jeg har ingen klager.

    —/u /YourGamerMom på/r/rust

    Jeg vil anbefale Vscode, Rust plugin gir autofullfør, syntax highlighting, og noen andre fine funksjoner. Men fremfor alt er det et fint LLDB-plugin som tillater Visuell Feilsøking, noe som er en fordel i forhold til andre Ideer jeg har prøvd.

    og det er kryssplattform.

    — mczarnek på rust-lang.org

    etter å ha brukt 3+ uker hver med intellij-rust, vscode-rust og ulike plugins for rust støtte I Sublime Text 3, kan jeg trygt si at den beste opplevelsen jeg har hatt opp til dette punktet var med vscode plugin(s) … Vscode slår det perfekte området for meg; det var øyeblikkelig å komme i gang med (siden jeg allerede hadde de nødvendige verktøyene last install ‘ d og rust src-komponenten lagt til via rustup, alt fungerte ut av boksen) og opprettholder fortsatt redaktørens opplevelse. Det eneste jeg ikke har vært i stand til å få jobbe ER LLDB frontend, men det er på grunn av min bruk AV WSL, ikke feil av plugin selv.

    TL: DR, jeg anbefaler vscode.

    —/u / Cldfire på/r / rust

    (Neo)vim Med rust plugins (som rust.vim, vim.racer)

    eksempel på rust med vim (credit jovansonlee cesar på github)

    virkelig brukt til vim og kan ikke fjerne seg fra sine ulike tekstmanipuleringskommandoer? Frykt ikke-mange bruker Vim når de utvikler Seg I Rust.

    Du kan gå med en vanlig vanilje Vim installasjon, eller du kan bruke andre smaker Som Neovim.Open-source

  • Community-drevet
  • Tilgang til å utføre jobber / oppgaver asynkront i vim (h/t Dhruva Sagar På StackOverflow)
  • Uansett smak Av Vim du bruker, kan du utnytte Rust-spesifikke plug-ins.

    rust.Vim

    • Rust fil deteksjon
    • Syntax highlighting
    • Formatering
    • Syntastisk integrasjon
    • Krever Vim 8 eller høyere for full funksjonalitet

    vim.racer

    • Tillater Vim å bruke Racer For Rustkodefullføring og navigasjon

    Vim, og det er ganske smertefullt tbh. Jeg er åpen for forslag. Tekstmanipuleringssiden Av Vim er utrolig. Det er bare tankene blåser. Men resten av Vim er ganske sh * t, og med de typer komplekse feilene du får I Rust, er det ganske smertefullt å bytte over til terminalen.jeg vil bytte Til VSCode eller lignende, men mangelen På Vim-redigeringskommandoer er virkelig sterk.

    —/u /jl2352 på/r/rust

    med nok plugins (ting som språkservere, etc) kan du gjøre resten av (neo)vim virkelig brukbar, imo.

    —/u /ashfordneil på/r/rust

    jeg har brukt både vim med rust.vim plugin Og Intellij med Det Er Rust plugin. Intellij har den mest komplette ide-opplevelsen jeg har prøvd og de beste ferdigstillelsene, men jeg foretrekker fortsatt vim. Jeg vil anbefale å prøve oppsettene nevnt på https://areweideyet.com/ og se hva som fungerer best for deg.

    —/u / Zethra på / r / rust

    Interessant, noen purister bruker Ikke Rust plugins i det hele tatt!

    Vim med innebygd automatisk komplett (+autocomplpop). Flyktning. Det er i utgangspunktet det … Ikke mer fancy plugins! Og ja, jeg jobber med store kodebaser med dette oppsettet!

    — /u/musicmatze på /r/rust

    Emacs

    emacs-racer av racer-rust (Kreditt recordnotfound)

    jeg føler at hvis du kommer til å inkludere vi(m), du bør nok i det minste gi emacs en omtale.

    Legg Til at det er et prosjekt å port emacs til rust. Jeg bruker den som en drop-in erstatning for emacs på mine linux-maskiner.

    Merk: Jeg bruker faktisk ikke emacs for noen tung rustutvikling. Jeg går gjennom min rust læringsreise ved Hjelp Av IntelliJ IDEA.

    — Chris Woods i dette innlegget kommentarer

    • med Racer, tilbyr kode-ferdigstillelse
    • Har Cargo (package manager) støtte med tastekombinasjoner
    • har rust-lang konfigurasjon For Rust-spesifikk programmering I Emacs
    • Støtter rustfmt med rust-lang
    • Gratis

    du bør bruke melpa oguse-package for å installere pakker i emacs.

    Å Konfigurere Rust til Å bruke RLS på emacs er litt vanskelig for en nybegynner. Her er min rls— konfigurasjon hvis du er interessert: https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-lsp.el og https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-rust.el

    – /u/CSRaghunandan på /r/rust

    JEG SIER dette som noen som fortsatt lærer rust, og ikke som en anbefaling for folk som gjør reelle bidrag til produksjonskoden.

    Jeg bruker Emacs I Rustmodus uten andre frills.Hvis koden min er komplisert nok til at JEG trenger EN IDE for å følge den, er det komplisert nok at noen andre ikke vil kunne følge den med den hjelpen. Og hvis jeg trenger autofullføring for å vite hvilken funksjon jeg vil ringe og dens type signatur, har jeg sannsynligvis ikke noe å kalle det uten å gi dokumentene minst en gang, uansett, så det er ingen ekstra problemer å bare se det opp.

    —/u /bxtk på/r/rust

    Sublime Med Rust Forbedret

    Sublime Med rust forbedret (kreditt rust-lang via packagecontrol.io)
    • Åpen kildekode (gratis)
    • goto noe
    • Goto definisjon
    • Split redigering
    • Lav profil

    Det fungerer ganske bra, men det kan være litt mer brukervennlig. Dette er imidlertid mer Av En Sublime problem enn en plugin problem.

    —/u /booooomba på/r/rust

    jeg prøvde det, men jeg savnet refactoring verktøy, en god integrert terminal, og skriv på hover i forhold Til VSCode + Rust plugin.

    — p > – / u / Foo-Jin på / r / rust

    Bare irritasjon er at den ikke vurderer tester, og derfor ikke fanger kompileringsfeil i dem, og spytter mange advarsler om ubrukte funksjoner. (Skrive tester først for min lib)

    — /u/Rawler82 på /r/rust

    Det har ikke de beste funksjonene, men det er raskt OG lite (lite RAM og Diskplass).

    —/u /razrfalcon på/r/rust

    Sublime Text 3 plugin situasjonen er, i hvert fall for meg, heller wonky; mens jeg var i stand til å få ting meste arbeider på macOS, jeg var aldri i stand til å få jobbe autofullfør På Windows 10 (i tillegg til ganske lang og smertefull oppsett tid).

    —/u /Cldfire på/r/rust

    Noen mennesker ikke bruker noen ekstra plug-ins Med Rust Forbedret.

    jeg bruker Sublime Tekst for alt. Så langt som bygningen går, holder jeg bare et terminalvindu åpent nederst på skjermen medcargo watch kjører.

    jeg har Ingen Rust spesifikke plugins, men gitt alle anbefalingene her, jeg tror jeg skal prøve Ut Rust Enhanced plugin senere.

    — /u/Uncaffeinated on /r/rust

    Atom with Rust packages

    Atom with IDE-Rust (credit atom.io)

    IDE-Rust

    • uto-completion
    • Diagnostics (errors and warnings from rustc and clippy, see clippy_preference setting)
    • Document outline
    • Go to definition (ctrl or cmd click)
    • Type information and Documentation on hover (hold ctrl or cmd for more information)
    • Find references (ctrl-alt-shift-f or cmd-opt-shift-f also in context med rustfmt (ctrl-shift-c eller cmd-shift-c også i kontekstmenyen)
    • Format på lagre (deaktivert som standard, se atom-ide-ui innstillinger)

    språk-rustp linter-rust

  • linting dine rust-filer i atom, ved hjelp av rustc og cargo
  • filer vil bli sjekket når du åpner eller lagrer Dem
  • токамак (tokamak)

    • syntax highlighting
    • opprette cargo prosjekt
    • støtte for cargo prosjektspesifikk konfigurasjon
    • Kodeformatering
    • Gå til definisjon
    • Hover for dokumentasjon
    • Finn referanser
    • Oversikt over filen og prosjektet
    • Autofullfør ut-av-boksen
    • kode utheving

    racer

    • gir intelligent Kodefullføring og «finn definisjon»

    jeg bruker språk-rust, linter-rust, racer (autofullfør) og atom-beautify på en rustup-installasjon. Sette opp stiene tok en stund, men det fungerer ganske bra. Jeg prøvde også å bytte Til Tokamak for en stund siden, men det fungerte ikke for meg.jeg kjører rustkoden min i et eget zsh-vindu som er flislagt siden av Noen Gnome addon og alltid synlig (jeg føler meg ikke klar til å gå i3). Med et filtre, en kodevisning, et minimap og et terminalvindu er det fire kolonner totalt, og det føles litt trangt til tider. Når jeg ikke har en stor skjerm festet til min laptop, kjører jeg atom i fullskjerm.

    — roSievers på rust-lang.org

    jeg brukte Atom For Rust i ca 9 måneder, etter å ha brukt Atom for all Min Python-utvikling. Jeg gjorde mye det samme som @roSievers ovenfor, men jeg fant gjentatte problemer på macOS (spesielt med miljøvariabler som ikke ble passert uten oppstyr). Jeg var aldri i stand til å få Tokamak kjører riktig.

    — pwrdwnsys på rust-lang.org

    ærlig talt tror jeg ikke sublime sammenligner med funksjonaliteten det er i atom for rust.

    oppstartshastighet er treg, men alt annet er helt akseptabelt.

    og jeg foretrekkerlinter oglinter-rust pakker, som de vil vise deg kompilere feil og advarsler inline ½ sec etter at du trykker ctrl + s!

    — /u/flygende sauer på /r/rust

    Eclipse Korrosjon (Eclipse IDE For Rust Utviklere)

    eclipse Ide For Rust UTVIKLERE (kreditt Korrosjon på github)

    • nyttig hvis du allerede er vant til å formørkelse
    • integrasjon med rust språk server og last
    • fullføringsassistent
    • dokumentasjon holder
    • diagnostikk
    • formatering
    • GDB Konsoll
    • Breakpoints
    • Utføring Av Uttrykk
    • Ny Prosjektveiviser
    • Toolchain Management
    • TOML fil redigering støtte
    • Eksport Kasse Veiviser
    • Rust Språk Server Preferanser
    • Prosjekt Outline
    • Mørkt Tema
    • Problemer Vis
    • git integrasjon (kun tilgjengelig open-SOURCE (gratis)

    Det Har også eksport som kasse, gjennomføring OG debug STØTTE (over gdb) integrasjon; de leveres ikke AV RLS, men ved direkte integrasjon med last og rust-gdb

    – /u / mickael_istria på / r / rust