care este cel mai bun IDE pentru dezvoltarea în Rust?
13 Mai, 2019 · 12 min citire
într-adevăr folosit pentru a vim și nu se poate abate de la diferitele sale comenzi de manipulare a textului? Nu vă temeți — o mulțime de oameni folosesc Vim atunci când se dezvoltă în Rust.
puteți merge cu o instalare vim de vanilie simplă sau puteți utiliza alte arome, cum ar fi Neovim.
Neovim
- Open-source
- comunitate-driven
- acces la executarea de locuri de muncă/sarcini asincron în vim (H/T Dhruva Sagar pe StackOverflow)
indiferent de aroma de Vim utilizați, puteți pârghie plug-in-uri specifice ruginii.
rugina.vim
- detectarea fișierelor Rust
- evidențierea sintaxei
- formatare
- integrare Sintastică
- necesită Vim 8 sau mai mare pentru funcționalitate completă
vim.racer
- permite Vim să utilizeze Racer pentru completarea Codului Rust și navigare
Vim, și este cam dureros tbh. Sunt deschis la sugestii. Partea de manipulare a textului Vim este incredibil. Este doar minte suflare. Dar restul Vim este destul de sh*t, și cu tipurile de erori complexe pe care le obțineți în Rust este destul de dureros să treceți la terminal.
vreau să trec la VSCode sau similar, dar lipsa comenzilor de editare Vim este cu adevărat puternică.
—/u /jl2352 on/R/rust
cu suficiente pluginuri (lucruri precum serverele de limbă etc.) puteți face restul (neo)vim într-adevăr utilizabil, imo.
—/u /ashfordneil on/R/rust
am folosit ambele vim cu rugina.vim plugin și Intellij cu pluginul Rust. Intellij are cea mai completă experiență ide pe care am încercat-o și cele mai bune completări, dar încă prefer vim. Aș recomanda să încercați setările menționate pehttps://areweideyet.com/ și să vedeți ce funcționează cel mai bine pentru dvs.
—/u /Zethra on/R/rust
interesant este că unii puriști nu folosesc deloc pluginuri Rust!
Vim cu auto complet încorporat (+ autocomplpop). Fugar. Asta e practic … nu mai multe plugin-uri de lux! Și da, lucrez la codebases mari cu această configurare!
— /u/musicmatze on /R/rust
Emacs
Emacs-racer de racer-rust (Recordnotfound credit)
mă simt ca și cum ai de gând să includă vi(m), ar trebui, probabil, cel puțin să dea Emacs o mențiune.
…
adăugați la faptul că există un proiect de portare a emacs la rugină. Îl folosesc ca înlocuitor drop-in pentru emacs pe mașinile mele linux.
notă: Eu nu folosesc de fapt emacs pentru orice dezvoltare rugina grele. Trec prin călătoria mea de învățare rust folosind IntelliJ IDEA.
— Chris Woods în comentariile acestei postări
- Cu Racer, oferă completarea Codului
- are suport Cargo (manager de pachete) cu combinații de taste
- are configurație rust-Lang pentru programare specifică Rust în Emacs
- acceptă rustfmt cu rust-lang
- gratuit
ar trebui să utilizați Melpa și
use-package
pentru a instala pachete în Emacs.Configurarea Rust pentru a utiliza RLS pe emacs este un pic dificilă pentru un începător. Iată configurația mea RLS dacă sunteți interesat: https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-lsp.el și https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-rust.el
— /u/CSRaghunandan on /R/rust
eu spun acest lucru ca cineva încă de învățare rust, și nu ca o recomandare pentru persoanele care aduc contribuții reale la codul de producție.
eu folosesc Emacs în modul Rust fără alte bibelouri.
dacă codul meu este suficient de complicat încât am nevoie de un IDE pentru a-l urma, este suficient de complicat încât altcineva nu va putea să-l urmeze cu acel ajutor. Și dacă am nevoie de completare automată pentru a ști ce funcție vreau să sun și semnătura de tip, atunci probabil că nu am nicio afacere care să o numească fără a da docs cel puțin o dată oricum, deci nu este nici o problemă suplimentară să o căutați.
—/u /bxtk on/R/rust
sublim cu rugina îmbunătățită
- Open-source (gratuit)
- du-te la orice
- du-te la definiție
- editare Split
- profil scăzut
funcționează destul de bine, dar ar putea fi un pic mai mult ușor de utilizat. Cu toate acestea, aceasta este mai mult o problemă sublimă decât o problemă de plugin.
— /u/boooooomba on /R/rust
am încercat, dar am ratat instrumente de refactorizare, un terminal integrat bun, și de tip pe hover în comparație cu vscode + Rust plugin.
— /u/Foo-Jin on /R/rust
numai supărare este că nu ia în considerare teste, și, prin urmare, nu prinde erori de compilare în ele, și scuipă o mulțime de avertismente cu privire la funcțiile neutilizate. (Teste de scriere mai întâi pentru lib meu)
—/u /Rawler82 on/R/rust
nu are cele mai bune caracteristici stabilite, dar este rapid și mic (scăzut pe RAM și spațiu pe disc).
— /u/razrfalcon on /R/rust
situația pluginului Sublime Text 3 este, cel puțin pentru mine, destul de vagă; în timp ce am reușit să fac lucrurile să funcționeze mai ales pe macOS, nu am reușit niciodată să obțin completarea automată de lucru pe Windows 10 (în plus față timp).
— /u/Cldfire on /R/rust
unii oameni nu folosesc plug-in-uri suplimentare cu Rust Enhanced.
folosesc text sublim pentru orice. În ceea ce privește clădirea, păstrez o fereastră de terminal deschisă în partea de jos a ecranului meu cu
cargo watch
rulând.nu am pluginuri specifice Rust, dar având în vedere toate recomandările de aici, cred că voi încerca pluginul îmbunătățit Rust mai târziu.
— /u/Uncaffeinated on /r/rust
Atom with Rust packages
IDE-Rust
- uto-completion
- Diagnostics (errors and warnings from
rustc
andclippy
, seeclippy_preference
setting) - Document outline
- Go to definition (
ctrl
orcmd
click) - Type information and Documentation on hover (hold
ctrl
orcmd
for more information) - Find references (
ctrl-alt-shift-f
orcmd-opt-shift-f
also in context - Format fișier cu rustfmt (
ctrl-shift-c
saucmd-shift-c
de asemenea, în meniul contextual) - format pe Salvare (dezactivat în mod implicit, a se vedea
atom-ide-ui
Setări)
limba-rust
- adaugă evidențierea sintaxei și fragmente de Rust fișiere în atom
Linter-rust
- linting dvs. Rust-fișiere în atom, folosind rustc și cargo
- fișierele vor fi verificate atunci când deschideți sau salvați-le
(tokamak)
- sintaxa evidențierea
- crearea proiectului cargo
- suport pentru cargo proiecte
- finalizarea codului cu Racer
- gestionarea lanțurilor de instrumente Rust
- Linting Cod
- configurare specifică proiectului
- formatarea Codului
- mergeți la definiție
- Hover pentru documentație
- găsiți referințe
- schiță pentru fișier și proiect
- Completare automată out-of-the-box
- evidențierea Codului
racer
- furnizarea de completare cod inteligent și „găsi definiție”
sunt folosind limba-Rust, Linter-Rust, Racer (AutoComplete) și Atom-înfrumuseța pe o instalație rustup. Configurarea căilor a durat ceva timp, dar funcționează destul de bine. De asemenea, am încercat să trec la Tokamak cu ceva timp în urmă, dar asta nu a funcționat pentru mine.
rulez codul meu rust într-o fereastră separată zsh, care este acoperită cu o parte de un addon Gnome și întotdeauna vizibilă (nu mă simt gata să merg i3). Cu un arbore de Fișiere, o vizualizare de cod, o minimap și o fereastră de terminal, există patru coloane în total și se simte un pic înghesuit uneori. Când nu am un monitor mare atașat la laptopul meu, rulez atom pe tot ecranul.
— roSievers pe rust-lang.org
am folosit Atom pentru rugină timp de aproximativ 9 luni, după ce am folosit anterior Atom pentru toată dezvoltarea mea Python. Am făcut la fel ca @roSievers de mai sus, dar am găsit probleme recurente pe macOS (în special cu variabilele de mediu care nu sunt trecute fără agitație). Nu am reușit niciodată să fac Tokamak să funcționeze corect.
— pwrdwnsys pe rust-lang.org
sincer nu cred că sublime se compară cu funcționalitatea din atom pentru rugină.
viteza de pornire este lentă, dar orice altceva este total acceptabil.
și eu prefer
linter
șilinter-rust
pachete, așa cum vă va arăta compilați erori și avertismente inline sec după ce apăsați ctrl+S!
— /u/oi zburătoare pe /R/rugină
coroziune eclipsă (Eclipse IDE pentru dezvoltatorii de rugină)
Eclipse IDE pentru dezvoltatorii Rust (coroziune de credit pe Github)
- util dacă sunteți deja folosit pentru a eclipsa
- integrarea cu serverul limba Rust și de marfă
- asistență la finalizare
- documentație hover
- diagnosticare
- formatare
- variabile vezi
- consola GDB
- Breakpoints
- executarea Expresie
- nou proiect Wizard
- Toolchain Management
- toml fișier de editare suport
- Export Crate Wizard
- Rust limba Server Preferințe
- proiect schiță
- Tema Întuneric
- probleme Vezi
- integrare git (disponibil numai în pachetul de coroziune)
- open-source (gratuit)
De asemenea, are export ca ladă, execuție și depanare suport (peste GDB) integrare; acestea nu sunt furnizate de RLS, ci prin integrarea directă cu cargo și rust-gdb
— /u/mickael_istria on /R/rust