mikä on paras IDE ruosteessa kehittymiselle?
Rust on Stack Overflow Insightsin mukaan vuoden 2018 ”rakastetuin” kieli uskomattomalla 78,9 prosentin arvostelulla — Rustacealaiset ovat siellä keskimäärin selvästi onnellisia. Rust ei kuitenkaan ilmestynyt saman tutkimuksen ”Suosituimmat teknologiat” – osioon, mikä viittaa siihen, että kokonaiskäyttäjien määrä on vielä melko pieni.
kyselyn jälkeen ei pitäisi tulla yllätyksenä, että moni kiirehtii kokeilemaan, ja kun se aika koittaa, herää väistämättä kysymys: mitä IDE: tä kannattaa käyttää ruosteen kehittämiseen?
nykyisellään ruoste-Ideillä ei ole selkeää monopolia, eikä näin ollen selvää voittajaa. Niin paljon kuin se tuntuu, että voi tehdä hämmentävää, tämä voi itse asiassa olla hyvä asia, koska on olemassa erilaisia valintoja, jotka lopulta pohjimmiltaan alas käyttäjän mieltymys.
Tämä artikkeli kerää paljon mielipiteitä Internetissä ja yrittää valaista sekä hyviä että huonoja puolia.
IntelliJ IDEA IntelliJ Rust plugin
installaatiolinkin löydät täältä IntelliJ Rust-verkkosivuilta.
- Open-source
- kirjoittanut jotkut Jetbrainsin työntekijät ja vapaaehtoiset
- ei virheenkorjausta
EDIT (5/28/19): lukijan mukaan Chris Vest:
se voi tehdä virheenkorjauksen, kun se on asennettu Clioniin.
- Free for community edition, license for premium version
- Refactoring capabilities
- tukee uusien moduulien lisäämistä
- tukee stubbing out trait implementations
ominaisuuskokonaisuus on hämmästyttävä, mutta minusta se on hidas… onko kenelläkään muulla tätä ongelmaa? Se joskus kestää minuuttia syntaksin ja virheiden korostus päivittää jälkeen kirjoitan joitakin uusia koodia.
—/u /NeuroXc on/R/rust
olen käyttänyt molempia vimejä ruosteen kanssa.vim plugin ja Intellij sen Rust plugin. Intellij on täydellisin ide kokemus olen yrittänyt ja paras completions mutta silti mieluummin vim.
—/u /Zethra on/R/rust
käytän Intellijiä Rust-liitännäisen kanssa. Käytän jo Jetbrains IDEs paljon uni työtä, joten oli järkevää pitää kiinni siitä.
—/u /FlourineWizard on/r/rust
olin vältellyt intellijiä debuggerin puuttumisen vuoksi (toimii vain clionissa).
intellijiä kokeiltaessa valmistuminen toimi tavallaan loistavasti heti (alkuhakemiston jälkeen). Mutta sitten aloin törmätä outoihin asioihin. Minulla ei ole iltaisin mitään setup, mutta se täydentää asioita öisin. Se näyttää noudattavan IDE, kunnes rakentaa ajetaan, sitten se ei. en voi selvittää, miten se saa ne tai miten poistaa sen.
Intellij ei ole tonnia refactors muut eivät. se on asioita olen jäänyt vs koodi, että minulla on ominaisuus pyyntöjä varten.
siinä on kuitenkin muita asioita, kuten se satunnaisesti sanoo, että asiat eivät koostu, että tekevät. Siinä lukee puuttuva menetelmä. Kuitenkin, Jos poistat rivin, se tulee täydellinen se, sitten taas sanoa puuttuu menetelmä.
sitten vain Sivuhuomautuksena, intellij on ylivoimaisesti raskain IDE. Se tuskin toimii minun laptop (joka on todella vanha kaikki oikeudenmukaisuus, ja minun pitäisi luultavasti saada toinen), jossa muut ”toimivat” hieno (mitä haluat määritellä, että eclipse, ja vs koodi oli suuri, kunnes tein mitä rikkoa loppuun).
mielestäni todellinen vastaus on, että emme ole IDE vielä.
—/u /r3vj4m3z on/R/rust
IntelliJ rust plugin on todella hyvä. Käytin vim+raceria+ycm: ää jonkin aikaa, ja rakastan Vimiä, mutta erityisesti isoissa, paljon moduuleja sisältävissä tuotantoprojekteissa ja syvissä hierarkioissa IntelliJ on vain paljon tuottavampi (stuff like rename struct field works across the whole code base)
— /u/neuronsguy on /R/rust
IntelliJ-Rust oli varmasti äärimmäisen helppo lähteä matkaan, mutta IJ: n paisuminen ajoi minut pois.
—/u /Cldfire on/r/rust
se toimii erittäin hyvin ja on aktiivista kehitystä.
suosittelen sitä ehdottomasti, jos voit säästää RAM-muistia ja suorittimen käyttöä.
– chimmihc on rust-lang.org
EDIT 6/24/19: lukija Joseph Noose oli seuraava lisätä:
minulle iso plussa IntelliJ yli VSS oli let completions, että joskus kun käsitellään wit 3rd parties se tulee nopeammin ja helpompi nähdä, mitä objekti on palautetaan. Huomasin, että joidenkin dieseljuttujen kanssa se oli erityisen hyödyllinen, koska esineet ovat melko pitkiä
CLion IntelliJ Rust plugin kanssa
toinen vaihtoehto Jetbrainsin kanssa, CLion on C/C++ IDE, joka voi tukea myös IntelliJ Rust-liitännäistä.
- sallii Cargo build — järjestelmän käytön
- tuki ruostesovellusten virheenkorjaukseen-toisin kuin IntelliJ-IDEA
- vaatii kaupallisen lisenssin (tai ilmaisen kanssa .edu e-mail address)
Clion With The Rust plugin for intelliJ on luultavasti yhtä lähellä olemassa olevaa Rust-spesifistä IDE: tä; Eclipse-projekti saattaa kuitenkin tehdä sellaisen, siitä keskustellaan parhaillaan.
—/u /steveklabnik1 on/r/rust
Virheenkorjaustuki Clionissa on erinomainen! Ei saa läheskään tarpeeksi kiitosta. Inlined runtime arvot koodi keskeytyspisteissä on mukava (1), Niin on virheenkorjaus tarkastaja (2), ja asettamalla ehdollinen keskeytyspisteet… erittäin mukava tehdä.
Katso: 1 2 3
— /u/Monadic_Malic_Acid on /r/rust
VSCode with Rust plugin
- avoimen lähdekoodin (vapaa)
- sisäänrakennettu Rahtituki
- Koodin täydennys
- hyppää määritelmään, peek-määrittelyyn, löydä kaikki viitteet, symbolihaku
- tyypit ja dokumentaatio leijumisesta
- Koodimuotoilu
- Refactoring (rename, deglob)
- Error squiggles and apply suggestions from errors
- snippets
- rakenna tehtäviä
- powered by Rust language Server (RLS)
- format on Save, haluttaessa
vscode on hyvä kielipalvelintuki, mikä tarkoittaa uudet RLS-ominaisuudet toimivat siinä erittäin hyvin. Se on enemmänkin perinteinen IDE-kokemus, mutta käytän mieluummin tmux-istuntoa IDE: nä Vimin ollessa koodieditorini.
—/u /IDidntChooseUsername on/r/rust
+1 vscode + – laajennukselle. Miksi? Jotkut haluavat vain nähdä maailman palavan. Mutta oikeasti. VSCode on todella, todella hyvä editori.
käytän sitä C, C++, C#, Javascript, Erlang, Prolog, Lisp, F#, Ja nyt Rust.
Ei Emacsin pikkurilliä.
toimii heti kättelyssä.
Command pallete on myös melko ballerinamainen.
he vaihtoivat grep-järjestelmänsä hiljattain rust-versioon ja saivat massiivisen suorituskyvyn nousun. Olen kirjaimellisesti täällä, koska VSCode julkaisutiedot noin viikko tai 2 sitten.
kiinteä Git-integraatio.
Cross platform.
mainitsinko jo, että tykkään katsella maailman palamista?
— on/R/rust
käytän VS-koodia rust-laajennuksen kanssa kaikissa ruostekoodauksissani. Se on palvellut minua erittäin hyvin tähän mennessä, mitä en voi tehdä laajennuksen tarjoamilla näppäinyhdistelmillä, voidaan tehdä integroidulla konsolilla, joten minulla ei todellakaan ole valituksia.
—/u /Yougamermom on/r/rust
suosittelisin Vscodea, Rust-liitännäinen tarjoaa automaattitäydennyksen, syntaksikorostuksen ja joitakin muita mukavia ominaisuuksia. Mutta ennen kaikkea, on mukava LLDB plugin, jonka avulla visuaalinen virheenkorjaus joka on etuja muihin IDE olen yrittänyt.
ja se on cross platform.
– mczarnek on rust-lang.org
vietettyään 3+ viikkoa kunkin käyttäen intellij-rust, vscode-rust ja eri eri plugins rust tukea Sublime Text 3, voin luottavaisesti sanoa, että paras kokemus olen ollut tähän mennessä oli kanssa vscode plugin(s) … Vscode iskee täydellinen alue minulle; se oli instant saada ylös ja käynnissä (koska minulla oli jo tarvittavat työkalut cargo install ’ D ja rust src komponentti Lisätty kautta rustup, kaikki toimi laatikosta) ja edelleen ylläpitää editor kokemus. Ainoa asia, en ole voinut saada työtä on LLDB frontend, mutta se johtuu minun käyttö WSL, ei vika plugin itse.
TL:DR, suosittelen vscodea.
—/u /Cldfire on/r/rust
(Neo)vim Rust-liitännäisillä (kuten rust.vim, vim.racer)
really used to vim and can ’ t stay from its various text manipulation commands? Älä pelkää-monet käyttävät Vimiä kehittyessään ruosteessa.
voit mennä pelkällä vanilla Vim-installaatiolla, tai voit käyttää muita makuja, kuten Neovimia.
Neovim
- avoimen lähdekoodin
- pääsy suorittamaan tehtäviä/tehtäviä asynkronisesti vim: ssä (h/t Dhruva Sagar on StackOverflow)
yhteisölähtöinen
mitä tahansa Vim: n makua käytät, voit hyödyntää Ruostekohtaisia laajennuksia.
ruoste.vim
- Ruostetiedoston tunnistus
- Syntaksikorostus
- muotoilu
- Syntastinen integraatio
- vaatii vim 8: n tai uudemman täyden toiminnallisuuden
vim.racer
- sallii Vimin käyttää Raceria Ruostekoodin täydennykseen ja navigointiin
vim, ja se on tavallaan tuskallista tbh: lle. Olen avoin ehdotuksille. Vimin tekstimanipulointipuoli on uskomaton. Se on vain tajunnanräjäyttävää. Mutta loput Vim on melko sh * t, ja tyypit monimutkaisia virheitä saat ruoste on melko tuskallista vaihtaa poikki terminaaliin.
Haluan vaihtaa Vscodeen tai vastaavaan, mutta vim-muokkauskomentojen puute on todella karu.
—/u /jl2352 on/R/rust
tarpeeksi lisäosia (asioita, kuten kielipalvelimia jne.) käyttämällä saa lopun (neo)vimistä todella käyttökelpoiseksi, imo.
—/u /ashfordneil on/R/rust
olen käyttänyt molempia vimejä ruosteen kanssa.vim plugin ja Intellij sen Rust plugin. Intellij on täydellisin ide kokemus olen yrittänyt ja paras completions mutta silti mieluummin vim. Suosittelen kokeilemaan https://areweideyet.com/ mainittuja asetelmia ja katsomaan, mikä toimii parhaiten.
—/u /Zethra on/r/rust
mielenkiintoista on, että jotkut puristit eivät käytä Rust-liitännäisiä lainkaan!
vim builtin auto complete (+ autocomppop). Haihtuvien. Se on pohjimmiltaan se … ei enää fancy plugins! Ja kyllä, teen isoja koodibaaseja tällä asetelmalla!
— /u/musicmatze on /r/rust
Emacs
i feel like if you ’ re going to include vi(m), kannattaa ainakin mainita emacs.
…
lisää siihen, että Emacsin porttaaminen ruostumaan on käynnissä. Käytän sitä pudotuskorvikkeena emacsille linux-koneissani.
Huomautus: En käytä Emacsia ruosteen kehittämiseen. Käyn läpi ruosteenoppimismatkaani IntelliJ-idean avulla.
— Chris Woods tämän postauksen kommenteissa
- Racerin kanssa tarjoaa koodin täydennystä
- on Cargo (package manager)-tuki näppäinyhdistelmillä
- on rust-lang-kokoonpano Ruostekohtaiseen ohjelmointiin Emacsissa
- tukee rustfmt: tä rust-Langin kanssa
kannattaa käyttää melpa-ja
use-package
pakettien asentamiseen emacsiin.Rustin määrittäminen käyttämään RLS: ää emacsissa on aloittelijalle hieman hankalaa. Tässä RLS— kokoonpanoni, jos kiinnostaa: https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-lsp.el ja https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-rust.el
– /u/CSRaghunandan on /R/rust
sanon tämän, koska joku vielä opettelee ruostetta, enkä suosituksena ihmisille, jotka tekevät todellista panosta tuotantokoodiin.
käytän Emacsia Ruostetilassa ilman muita röyhelöitä.
Jos koodini on tarpeeksi monimutkainen, että tarvitsen IDE: n seuratakseni sitä, se on tarpeeksi monimutkainen, että joku muu ei pysty seuraamaan sitä sillä apuvälineellä. Ja jos tarvitsen automaattitäydennys tietää, mitä toimintoa haluan soittaa ja sen tyyppi allekirjoitus niin minulla ei luultavasti ole mitään liiketoimintaa soittaa sitä antamatta docs ainakin kerran joka tapauksessa, joten se ei ole ylimääräistä vaivaa vain etsiä sitä.
— /u/bxtk on /R/rust
Sublime with Rust Enhanced
- Open-source (free)
- Goto anything
- Goto definition
- Split editing
- Low profile
se toimii melko hyvin, mutta voisi olla vähän enemmänkin käyttäjäystävällinen. Tämä on kuitenkin enemmän ylevä ongelma kuin plugin ongelma.
—/u /booooomba on/r/rust
kokeilin sitä, mutta kaipasin refactoring-työkaluja, hyvää integroitua päätettä ja Hover-tyyppiä verrattuna VSCode + Rust-liitännäiseen.
—/u /Foo-jin on/r/rust
ainoa harmitus on, että se ei ota huomioon testejä, eikä siksi nappaa niistä kokoamisvirheitä, ja antaa paljon varoituksia käyttämättömistä funktioista. (Kirjoitustestit ensin my lib: lle)
— /u/Rawler82 on /R/rust
siinä ei ole parhaita ominaisuuksia, mutta se on nopea ja pieni (vähän RAM-muistia ja levytilaa).
— /u/razrfalcon on /r/rust
aika).
—/u /Cldfire on/r/rust
jotkut eivät käytä ylimääräisiä lisäosia, joissa ruoste on tehostettu.
käytän ylevää tekstiä kaikkeen. Mitä rakentamiseen tulee, pidän vain pääteikkunan auki ruutuni alareunassa
cargo watch
käynnissä.minulla ei ole mitään ruoste erityisiä plugins, mutta ottaen huomioon kaikki suositukset täällä, Luulen kokeilla Rust Enhanced plugin myöhemmin.
— /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 menu) - Format file with rustfmt (
ctrl-shift-c
taicmd-shift-c
myös kontekstivalikko) - Format on save (disabled by default, see
atom-ide-ui
settings)
language-rust
- lisää syntaksikorostuksen ja pätkiä ruostetiedostoihin atomissa
Linter-Rust
токамак (tokamak)
- syntaksikorostus
- tuki rahdille projektit
- Code complete with Racer
- Code Linting
- projektikohtainen kokoonpano
- Code formating
- Siirry määritelmään
- Hover for documentation
- Etsi viitteet
- tiedoston ja projektin ääriviivat
- Code highlighting
luo Cargo Project
Racer
- tarjoaa älykkään koodin täydennyksen ja ”etsi määritelmä”
käytän rustup-installaatiossa kieliruotsia, linteriruostetta, raceria (autocomplete) ja Atom-beautifyta. Polkujen pystyttäminen vei aikaa, mutta se toimii aika hyvin. Yritin myös vaihtaa Tokamakiin jokin aika sitten, mutta se ei onnistunut.
suoritan ruostekoodiani erillisessä zsh-ikkunassa, jonka kylkeen on laatoitettu jokin Gnome-lisäosa ja joka on aina näkyvissä (en tunne olevani valmis menemään i3). Tiedostopuun, koodinäkymän, minimapin ja pääteikkunan kanssa sarakkeita on yhteensä neljä ja se tuntuu ajoittain hieman ahtaalta. Kun läppäriin ei ole kiinnitetty isoa näyttöä, pyöritän atomia kokoruudussa.
— rosievers on rust-lang.org
käytin atomia ruosteen vuoksi noin 9 kuukautta, kun olin aiemmin käyttänyt atomia kaikessa Python-kehitystyössäni. Tein paljon samaa kuin @roSievers edellä, mutta löysin toistuvia ongelmia macOS (erityisesti ympäristömuuttujien ei läpi ilman hälyä). En saanut Tokamakia toimimaan kunnolla.
– pwrdwnsys on rust-lang.org
rehellisesti sanottuna en usko ylevän vertaavan sitä toiminnallisuutta, mitä atomissa on ruosteelle.
starttinopeus on hidas, mutta kaikki muu on täysin hyväksyttävää.
ja minä suosin
linter
jalinter-rust
paketteja, koska ne näyttävät, että kokoat virheet ja varoitukset riviin ½ sekunnin kuluttua, kun painat ctrl+S!
— /u/flying-sheep on /r/rust
Eclipse Corrosion (Eclipse IDE for Rust Developers)
- hyödyllistä, jos olet jo tottunut pimennykseen
- integraatio ruosteen kielen palvelimeen ja Cargoon
- täydennysavustaja
- dokumentaatiohieronta
- diagnostiikka
- alustus
- muuttujien näkymä
- GDB-konsoli
- ilmaisun suoritus
- New Project Wizard
- Toolchain Management
- Toml-tiedostonmuokkaustuki
- Export Crate Wizard
- Rust Language Server Preferences
- Dark Theme
- Ongelmanäkymä
- Git-integraatio (saatavilla vain korroosiopaketissa)
- open-source (free)
siinä on myös vienti Crate -, execution-ja debug support (over GDB) – integraatio; niitä ei tarjoa RLS vaan suora integraatio cargo-ja rust-GDB: hen
– / u / mickael_istria on / r / rust