Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse Tools Project
  4. Eclipse Corrosion: the...
  5. Eclipse Corrosion: the Eclipse IDE for Rust
×

Status message

This proposal has been approved and the Eclipse Corrosion: the Eclipse IDE for Rust project has been created.

Eclipse Corrosion: the Eclipse IDE for Rust

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse Tools Project
Background: 

The Rust programming language is continuing to grow in popularity as the 5th most discussed project on GitHub (https://octoverse.github.com/). However, almost 10% of Rust users are looking for better IDE support and 5% of past users stopped using Rust due to it's lacking IDE support (https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html). The Eclipse marketplace does have RustDT, which excluding Eclipse Corrosion, is the only Rust support plugin, but as of 2017, RustDT is no longer actively maintained (https://github.com/RustDT/RustDT).

Within one year VSCode went from 3.8% to 34% of the Rust developer market share due to its available Rust Language Server integration. There is the opportunity to develop and popularize a Language Server based plugin for complete Rust project support in Eclipse. This not only helps those who are looking for better IDE support but exposes more Eclipse IDE users to Rust, and more Rust users to Eclipse.

Scope: 

The scope of the project is to provide development tools for Rust and Cargo based Rust applications in the Eclipse IDE. This includes creating projects, rich edition of source code files and manifest files, running and debugging code under development, running test suites, and packaging and deploying projects.

Support for in IDE Cargo Crate management is currently out of scope but can be reconsidered in the future.

Description: 

Eclipse Corrosion provides development tools for Rust and Cargo inside the Eclipse IDE.

Why Here?: 

Joining the Eclipse Community, we expect Corrosion to get higher visibility, leading to more users and contributors. Getting a more active community raises the quality of Corrosion through contributions and raised issues, making a better Rust development process for all Eclipse users.

Eclipse is a leading IDE for Java, C, and C++, which make up 3 of the 4 most common non-Rust languages used by Rust developers (https://blog.rust-lang.org/images/2016-06-Survey/what_language.png). This cross in communities will allow for easier communication and shared collaboration with other Eclipse.org projects.

Depending on the future popularity of Rust, we'd like to consider the creating of an "Eclipse IDE for Rust developers" just like other typical Eclipse IDE package. Being part of Eclipse Community is a requirement to succeed in implementing this and will hopefully help the adoption of the Rust programming language.

Licenses: 
Eclipse Public License 2.0
Legal Issues: 
  • Eclipse Corrosion contains TextMate grammars for Rust (https://github.com/tomgrohl/Rust.tmbundle) under MIT and TOML (https://github.com/textmate/toml.tmbundle) under an unspecified license
  • Corrosion requires the Rust Languae Server (https://github.com/rust-lang-nursery/rls) which is under Apache-2.0 License or the MIT license at our option
  • Corrosion does not ship, but has the potential to download rustup (https://github.com/rust-lang-nursery/rustup.rs) and Cargo (https://github.com/rust-lang/cargo), both under the Apache-2.0 license
  • Corrosion uses the Rust and Cargo logos are owned by Mozilla and distributed under the terms of the Creative Commons Attribution license (CC-BY)
Project Scheduling: 

Eclipse Corrosion already has automated builds and is able to produce a build anytime.

We'd like to make a 1st incubation release of Eclipse Corrosion 0.1.0 in the week after it's moved under the Eclipse.org community.

Future Work: 

Bugfix and incremental improvements will be happening on the existing code.

An Eclipse Corrosion 1.0.0 version will be released once debug support is added. If implemented for Rust, support will be added using the Debug Protocol, but in the mean time using CDT GDB.

Beyond this, as the user base grows, more requirments will come to light and added, including further integration of `cargo` commands.

People
Project Leads: 
Lucas Bullen
Committers: 
Lucas Bullen
Mickael Isitra
Aleksandar Kurtakov
Mentors: 
Doug Schaefer
Interested Parties: 
  • Red Hat Inc.
Source Code
Initial Contribution: 

The initial contribution comes with:

  • Wizards to bootstrap a Cargo based Rust project (delegating to `cargo` CLI)
  • Rich editor for Rust, with content-assist, hover, error reporting, find references, jump to declaration, hierarchical navigation (outline)... relying on the Rust Language Server and TextMate grammars
  • Launch Configuration to run project code from Eclipse IDE (delegating to `cargo` CLI)
  • Wizard to package Cargo Based Rust projects into distributable tarballs (delegating to `cargo` CLI)
  • Preference options to install rust compiler and language server along with installing new toolchains and setting the system default toolchain

 

Source Repository Type: 
GitHub
Source Repositories: 
https://github.com/LucasBullen/redOx
  • Sign in to post comments.
Incubating - Eclipse Corrosion: the Eclipse IDE for Rust

Project Links

  • Getting Started

Related Projects

Related Projects:

  • Eclipse Technology
    • Eclipse LSP4E
    • Eclipse TM4E - TextMate support in the Eclipse IDE
  • Eclipse Tools Project
    • Eclipse C/C++ Development Tooling (CDT)
  • Eclipse Project
    • Eclipse Platform

Project Hierarchy:

  • Eclipse Tools Project
  • Eclipse Corrosion: the Eclipse IDE for Rust

Tags

Technology Types
  • Language
  • Tools
Build Technologies
  • Jenkins
  • Maven
  • Tycho
Other Tags
  • Rust
  • edition
  • debug
  • IDE

Eclipse Foundation

  • About Us
  • Contact Us
  • Donate
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top