Articles

¿Cuál es el mejor IDE para desarrollar óxido?

Tremaine Eto
Tremaine Eto

Seguir

el 13 de Mayo de 2019 · 12 min de lectura

Que el Óxido de IDEAS debe usted elegir?

Rust es, según Stack Overflow Insights, el lenguaje más «Querido» de 2018 con una increíble calificación del 78,9%: los rustáceos están claramente contentos en promedio. Sin embargo, Rust no apareció en la sección de «Tecnologías más populares» de la misma encuesta, lo que indica que la cantidad de usuarios en general sigue siendo bastante pequeña.

No debería ser una sorpresa después de la encuesta, entonces, que muchas personas se apresuran a probarlo, y cuando llega ese momento, surge inevitablemente la pregunta: ¿qué IDE debe usar para desarrollar en Rust?

A día de hoy, no hay un monopolio claro sobre los IDE de óxido y, por lo tanto, no hay un ganador claro. Por mucho que parezca que puede hacerlo confuso, esto en realidad puede ser algo bueno, ya que hay una variedad de opciones que en última instancia se reducirán a la preferencia del usuario.

Este artículo tomará muchas opiniones de Internet e intentará iluminar tanto los pros como los contras.

IntelliJ IDEA con IntelliJ Óxido plugin

el Óxido con IntelliJ IDEA (de crédito matklad en GIPHY)

Usted puede encontrar el enlace de instalación aquí en el IntelliJ Óxido sitio web.

  • Código abierto
  • Escrito por algunos empleados y voluntarios de JetBrains
  • Sin depuración

EDICIÓN (28/5/19): Según el lector Chris Vest:

Puede realizar la depuración cuando se instala en CLion.

  • Gratuito para edición comunitaria, licencia para versión premium
  • Capacidades de refactorización
  • Admite la adición de nuevos módulos
  • Admite implementaciones de rasgos de refuerzo

El conjunto de funciones es increíble, pero lo encuentro lento… ¿otra cosa tiene este problema? A veces se necesitan minutos para que la sintaxis y el resaltado de errores se actualicen después de escribir un código nuevo.

—/u /NeuroXc on/r/rust

He utilizado ambos vim con el óxido.complemento vim e Intellij con su complemento Rust. Intellij tiene la experiencia ide más completa que he probado y las mejores terminaciones, pero sigo prefiriendo vim.

— /u/Zethra on /r/rust

Uso Intellij con el complemento Rust. Ya estoy usando Jetbrains IDE mucho para el trabajo de uni, así que tenía sentido apegarme a eso.

— – /u /FlourineWizard on/r/rust

Había estado evitando intellij debido a la falta de depurador (solo funciona en clion).

Al probar intellij, la finalización funcionó bastante bien inmediatamente (después del índice inicial). Sin embargo, entonces empecé a encontrarme con cosas extrañas. No tengo ninguna configuración nocturna, sin embargo, completa las cosas en la noche. Parece que cumple en IDE, hasta que se ejecuta una compilación, entonces no lo hace.

Intellij tiene toneladas de refactores que otros no. Tiene cosas que me perdí en vs code para las que tengo solicitudes de funciones.

Sin embargo, tiene otros problemas como que dirá al azar cosas que no compilan que sí. Dirá método perdido. Sin embargo, si borra la línea, vendrá a completarla, luego nuevamente diga método faltante.

Luego, solo una nota al margen, intellij es, con mucho, el IDE de mayor peso. Apenas funciona en mi computadora portátil (que es realmente vieja para ser justos, y probablemente debería comprar otra), donde las otras» funcionan » bien (lo que quieras definir para eclipse, y vs code fue genial hasta que hice lo que fuera para romper la finalización).

Creo que la verdadera respuesta es que aún no somos IDE.

—/u /r3vj4m3z on/r/rust

El complemento IntelliJ rust es realmente bueno. Utilicé vim+racer+ycm durante un tiempo, y me encanta Vim, pero especialmente para proyectos de producción grandes con muchos módulos y jerarquías profundas, IntelliJ es mucho más productivo (cosas como cambiar el nombre del campo de estructura funciona en toda la base de código)

— /u/neuronsguy on /r/rust

Intellij-rust fue ciertamente extremadamente fácil de usar, pero la hinchazón de IJ en sí misma me alejó.

— /u/Cldfire en /r/óxido

funciona muy bien y tiene un desarrollo activo.
Definitivamente lo recomiendo si puedes ahorrar el uso de RAM y CPU.

— – chimmihc encendido rust-lang.org

EDIT 6/24/19: El lector Joseph Noose añadió lo siguiente:

Para mí, la gran ventaja de IntelliJ sobre VSS eran las terminaciones let, que a veces, cuando se trata de terceras partes, se vuelve más rápido y más fácil ver qué objeto se devuelve. Encontré que con algunas de las cosas de diesel era especialmente útil ya que los objetos son bastante largos

CLion con el complemento IntelliJ Rust

Otra opción con JetBrains, CLion es un IDE C/C++ que también puede soportar el complemento IntelliJ Rust.

  • Permite el uso del sistema de construcción de carga
  • Soporte para depurar aplicaciones de óxido, a diferencia de IntelliJ IDEA
  • Requiere licencia comercial (o gratuita con .dirección de correo electrónico edu)

Clion con el complemento Rust para IntelliJ es probablemente lo más cercano a un IDE específico de Rust que existe; sin embargo, el proyecto Eclipse puede crear uno, actualmente se está discutiendo.

— / u / steveklabnik1 on / r / rust

¡El soporte de depuración en CLion es excelente! No recibe suficientes elogios. Los valores de tiempo de ejecución en línea en el código en los puntos de interrupción son agradables (1), al igual que el inspector de depuración (2), y, establecer puntos de interrupción condicionales, es muy cómodo de hacer.
Ver: 1 2 3

— /u/Monadic_Malic_Acid on /r/rust

VSCode with Rust plugin

VSCode with Rust (credit rust-lang.org)
  • De código abierto (gratuito)
  • Soporte de carga incorporado
  • Finalización de código
  • Saltar a la definición, mirar la definición, buscar todas las referencias, buscar símbolos
  • Tipos y documentación al pasar li>
  • Garabatos de error y aplicar sugerencias de errores
  • Fragmentos
  • Crear tareas
  • Con el formato RLS (Rust Language Server)
  • al guardar, si lo desea

VSCode tiene un buen soporte de servidor de idiomas, lo que significa que las nuevas funciones de RLS funcionan muy bien en él. Es más una experiencia IDE tradicional, pero prefiero usar una sesión tmux como mi IDE con Vim como editor de código.

— /u/IDidntChooseUsername on /r/rust

+1 para la extensión VSCode+. ¿Por qué? Algunas personas solo quieren ver el mundo arder. Pero en serio. VSCode es un editor muy, muy bueno.

Lo uso para C, C++, C#, Javascript, Erlang, Prolog, Lisp, F# y ahora Rust.

Sin emacs pinky.

Funciona de inmediato.

Command pallete también es bastante baller.

Reemplazaron su sistema grep con la versión rust recientemente y obtuvieron un aumento masivo del rendimiento. Estoy literalmente aquí debido a las notas de la versión de VSCode de hace aproximadamente una semana o 2.

Integración sólida de Git.

multiplataforma.

¿ya mencioné que me gusta ver el mundo arder?

— – on / r / rust

Uso código VS con la extensión rust para toda mi codificación rust. Me ha servido muy bien hasta ahora, cualquier cosa que no pueda hacer con las combinaciones de teclas proporcionadas por la extensión se puede hacer con la consola integrada, por lo que realmente no tengo quejas.

— – /u /Yoursgamermom on/r/rust

Recomendaría VSCode, el complemento de Rust proporciona autocompletar, resaltado de sintaxis y algunas otras características agradables. Pero, sobre todo, hay un buen complemento LLDB que permite la depuración Visual, lo que es una ventaja sobre otros IDE que he probado.

Y es multiplataforma.

— – mczarnek on rust-lang.org

Después de haber pasado más de 3 semanas usando intellij-rust, vscode-rust y varios complementos diferentes para compatibilidad con rust en Sublime Text 3, puedo decir con confianza que la mejor experiencia que he tenido hasta este momento fue con el(los) complemento (s) de vscode V rustup, todo salió de la caja) y aún mantiene la experiencia del editor. Lo único que no he podido hacer funcionar es el frontend LLDB, pero eso se debe a mi uso del WSL, no a la culpa del plugin en sí.

TL: DR, recomiendo vscode.

—/u / Cldfire on / r / rust

(Neo)vim con complementos de Rust (como rust.vim, vim.racer)

Ejemplo de Herrumbre con Vim (crédito Jovansonlee Cesar en GitHub)

Muy utilizado para Vim y no puede perderse de sus diversas manipulación de texto comandos? No tengas miedo: muchas personas usan Vim cuando se desarrollan en óxido.

Puede ir con una instalación Vim de vainilla simple, o puede usar otros sabores como Neovim.

Neovim

  • De código abierto
  • Impulsado por la comunidad
  • Acceso para ejecutar trabajos/tareas de forma asincrónica en vim (h/t Dhruva Sagar en StackOverflow)

Cualquiera que sea el tipo de Vim que utilice, puede aprovechar los complementos específicos de óxido.

óxido.vim

  • Detección de archivos de óxido
  • Resaltado de sintaxis
  • Formateo
  • Integración sintástica
  • Requiere Vim 8 o superior para una funcionalidad completa

vim.racer

  • Permite a vim usar Racer para completar y navegar el código de óxido

Vim, y es un poco doloroso tbh. Estoy abierto a sugerencias. El lado de manipulación de texto de Vim es increíble. Es alucinante. Pero el resto de Vim es bastante sh*t, y con los tipos de errores complejos que obtienes en el óxido, es bastante doloroso cambiar a la terminal.

Quiero cambiar a VSCode o similar, pero la falta de comandos de edición de Vim es realmente severa.

— / u / jl2352 on / r / rust

Con suficientes complementos (cosas como servidores de idiomas, etc.) puede hacer que el resto de (neo)vim sea realmente utilizable, imo.

— /u/ashfordneil on/r/rust

He utilizado ambos vim con el óxido.complemento vim e Intellij con su complemento Rust. Intellij tiene la experiencia ide más completa que he probado y las mejores terminaciones, pero sigo prefiriendo vim. Recomiendo probar las configuraciones mencionadas en https://areweideyet.com/ y ver qué funciona mejor para usted.

— / u / Zethra on / r / rust

Curiosamente, ¡algunos puristas no usan complementos de Rust en absoluto!

Vim con autocompletar incorporado (+autocompletar). Fugitivo. Eso es básicamente it ¡No más complementos de lujo! Y sí, ¡trabajo en grandes bases de código con esta configuración!

— /u/musicmatze en /r/óxido

Emacs

emacs-corredor por corredor-rust (crédito RecordNotFound)

me siento como si vas a incluir vi(m), probablemente debería al menos dar emacs una mención.

Add

Añadir a eso que hay un proyecto para portar emacs a rust. Lo uso como reemplazo directo de emacs en mis máquinas linux.

Nota: En realidad no uso emacs para ningún desarrollo de óxido pesado. Estoy pasando por mi viaje de aprendizaje de óxido usando IntelliJ IDEA.

— Chris Woods en los comentarios de este post

  • Con Racer, ofrece finalización de código
  • Tiene soporte Cargo (gestor de paquetes) con combinaciones de teclas
  • Tiene configuración rust-lang para programación específica para Rust en Emacs
  • Soporta rustfmt con rust-lang
  • Gratis

Debe usar MELPA y use-package para instalar paquetes en emacs.

Configurar Rust para usar RLS en emacs es un poco complicado para un principiante. Aquí está mi configuración de RLS si está interesado: https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-lsp.el y https://github.com/CSRaghunandan/.emacs.d/blob/master/setup-files/setup-rust.el

— /u/CSRaghunandan on /r/rust

Digo esto como alguien que todavía está aprendiendo Rust, y no como una recomendación para personas que hacen contribuciones reales al código de producción.

Uso Emacs en modo óxido sin otros lujos.

Si mi código es lo suficientemente complicado como para que necesite un IDE para seguirlo, es lo suficientemente complicado como para que alguien más no pueda seguirlo con esa ayuda. Y si necesito autocompletar para saber a qué función quiero llamar y su firma de tipo, probablemente no tenga ningún negocio llamándola sin darle a los documentos al menos una vez, por lo que no es un problema adicional buscarla.

— /u/bxtk en /r/óxido

Sublime con Óxido Mejorada

Sublime con Óxido Mejorado (crédito de óxido-lang a través de packagecontrol.io)
  • Open-source (gratis)
  • Goto nada
  • Goto definición
  • Dividir la edición
  • Bajo perfil

funciona bastante bien, sin embargo, podría ser un poco más amigable para el usuario. Sin embargo, esto es más un problema Sublime que un problema de plugin.

— /u/boooomba on /r/rust

Lo intenté, pero me perdí las herramientas de refactorización, un buen terminal integrado y el tipo al pasar el ratón en comparación con el complemento VSCode + Rust.

— /u/Foo-jin on /r/rust

La única molestia es que no considera pruebas, y por lo tanto no detecta errores de compilación en ellas, y arroja muchas advertencias sobre funciones no utilizadas. (Escribir pruebas primero para mi lib)

— /u/Rawler82 on /r/rust

No tiene las mejores características, pero es rápido y pequeño (con poca RAM y espacio en disco).

— /u/razrfalcon on /r/rust

La situación del complemento de Sublime Text 3 es, al menos para mí, bastante torpe; aunque pude hacer que las cosas funcionaran principalmente en macOS, nunca pude completar automáticamente el trabajo en Windows 10 (además de la configuración bastante larga y dolorosa tiempo).

—/u /Cldfire on/r/rust

Algunas personas no usan ningún complemento adicional con Rust Enhanced.

Uso Sublime Text para todo. En cuanto a la construcción, solo mantengo una ventana de terminal abierta en la parte inferior de mi pantalla con cargo watch en ejecución.

No tengo ningún complemento específico de Rust, pero dadas todas las recomendaciones aquí, creo que probaré el complemento mejorado de Rust más adelante.

— /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 formato de archivo con rustfmt (ctrl-shift-cocmd-shift-c también en el menú contextual)
  • Formato al guardar (deshabilitado de forma predeterminada, consulte configuraciónatom-ide-ui)

language-rust

  • Agrega resaltado de sintaxis y fragmentos de código a los archivos de Rust en Atom

linter-rust

  • Linting sus archivos de Rust en Atom, utilizando rustc y cargo
  • Los archivos se verificarán cuando los abra o guarde

токамак (tokamak)

  • Resaltado de sintaxis
  • Creando un proyecto de Cargo
  • Soporte para carga proyectos
  • Finalización de código con Racer
  • Gestión de cadenas de herramientas de óxido
  • Linting de código
  • Configuración específica del proyecto
  • Formato de código
  • Vaya a definición
  • Desplácese para documentación
  • Encuentre referencias
  • Esquema para el archivo y el proyecto
  • Autocomplete listo para usar
  • Resaltado de código

racer

  • Proporcionar la finalización de código inteligente y la «definición de búsqueda»

Estoy utilizando language-rust, linter-rust, racer (autocompletar) y atom-beautify en una instalación rustup. La configuración de los caminos tomó un tiempo, pero funciona bastante bien. También traté de cambiar a Tokamak hace un tiempo, pero eso no funcionó para mí.

Estoy ejecutando mi código rust en una ventana zsh separada que está en mosaico al lado de algún complemento de Gnome y siempre visible (no me siento listo para funcionar i3). Con un árbol de archivos, una vista de código, un minimapa y una ventana de terminal, hay cuatro columnas en total y a veces se siente un poco estrecho. Cuando no tengo un monitor grande conectado a mi computadora portátil, corro atom en pantalla completa.

— roSievers en rust-lang.org

Estuve usando Atom para Rust durante unos 9 meses, habiendo usado anteriormente Atom para todo mi desarrollo de Python. Hice lo mismo que @roSievers, pero encontré problemas recurrentes en macOS (especialmente con variables de entorno que no se pasan sin problemas). Nunca logré que Tokamak funcionara correctamente.

— – pwrdwnsys activado rust-lang.org

honestamente, no creo que sublime se compare con la funcionalidad que hay en atom for rust.

la velocidad de inicio es lenta, pero todo lo demás es totalmente aceptable.

y prefiero los paquetes lintery linter-rust, ya que le mostrarán errores de compilación y advertencias en línea ½ segundo después de presionar ctrl+s!

— /u/flying-sheep on /r/rust

Corrosión Eclipse (IDE Eclipse para desarrolladores de óxido)

IDE de Eclipse para desarrolladores de Rust (corrosión de crédito en GitHub)
  • Útil si ya está acostumbrado a Eclipse
  • Integración con el servidor de idiomas Rust y Cargo
  • Asistencia para completar
  • Documentación Hover
  • Diagnóstico
  • Formateo
  • Vista de variables
  • Consola GDB
  • Puntos de interrupción
  • Ejecución de expresiones
  • Asistente para nuevos proyectos
  • Gestión de cadenas de herramientas
  • Soporte de edición de archivos TOML
  • Asistente para exportar cajas
  • Preferencias del servidor de idioma de Rust
  • Esquema del proyecto
  • Tema oscuro
  • Vista de problemas
  • Integración de Git (Solo disponible en el paquete de corrosión)
  • De código abierto (gratuito)

También tiene integración de exportación como Caja, Ejecución y soporte de depuración (sobre GDB) ; estos no son proporcionados por RLS, sino por integración directa con cargo y rust-gdb

– / u / mickael_istria on / r / rust