Rust for Visual Studio Code

Overview

Build Status Gitter

Hello everyone. I'm a maintainer and I'm very busy. At some point rls-vscode will supersede the extension. Until that moment someone should maintain the extension. If you are interested in it, please send me an email to [email protected]

Rust for Visual Studio Code (Latest: 0.4.2)

What is the repository?

The extension is continuation of RustyCode (an extension for Visual Studio Code for Rust language).

RustyCode is no longer maintained and the developer seems to have lost all interest in the extension. Due to no response from the original author, this repository was created which now contains additional features and many bug fixes.

Extension

This extension adds advanced language support for the Rust programming language within VS Code. It features:

  • Rust Language Server integration.
  • Autocompletion (via racer or RLS).
  • Go To Definition (via racer or RLS).
  • Go To Symbol (via rustsym or RLS).
  • Code formatting (via rustfmt).
  • Code Snippets.
  • Cargo tasks (Ctrl+Shift+P and type cargo to view them).
  • …and a lot of other features. To learn more, see the documentation.

On update, please review the changelog.

Installation

  1. Firstly, you will need to install VS Code 1.8 or later.

  2. Now in VS Code, Ctrl+P and type ext install vscode-rust.

  3. Choose to install the "Rust" extension.

The extension can also be found on the VS Code marketplace.

License

MIT

Comments
  • RLS crashes

    RLS crashes

    Version of VSCode: Version 1.12.1 (1.12.1) Version of the extension: 0.3.14 OS: OS X

    Description: RLS crashes. The status bar shows "RLS: Crashed"

    Output of the "Rust logging" channel:

    DEBUG: Configuration: Rustup: create: sysroot=/Users/jrmuizel/.rustup/toolchains/nightly-x86_64-apple-darwin
    DEBUG: Configuration: Rustup: updateComponents: this.components=["cargo-x86_64-apple-darwin (default)","rls-x86_64-apple-darwin (installed)","rust-analysis-x86_64-apple-darwin (installed)","rust-docs-x86_64-apple-darwin (default)","rust-src (installed)","rust-std-aarch64-apple-ios","rust-std-aarch64-linux-android","rust-std-aarch64-unknown-fuchsia","rust-std-aarch64-unknown-linux-gnu","rust-std-arm-linux-androideabi","rust-std-arm-unknown-linux-gnueabi","rust-std-arm-unknown-linux-gnueabihf","rust-std-arm-unknown-linux-musleabi","rust-std-arm-unknown-linux-musleabihf","rust-std-armv7-apple-ios","rust-std-armv7-linux-androideabi","rust-std-armv7-unknown-linux-gnueabihf","rust-std-armv7-unknown-linux-musleabihf","rust-std-armv7s-apple-ios","rust-std-asmjs-unknown-emscripten","rust-std-i386-apple-ios","rust-std-i586-pc-windows-msvc","rust-std-i586-unknown-linux-gnu","rust-std-i686-apple-darwin","rust-std-i686-linux-android","rust-std-i686-pc-windows-gnu","rust-std-i686-pc-windows-msvc","rust-std-i686-unknown-freebsd","rust-std-i686-unknown-linux-gnu","rust-std-i686-unknown-linux-musl","rust-std-mips-unknown-linux-gnu","rust-std-mips-unknown-linux-musl","rust-std-mips64-unknown-linux-gnuabi64","rust-std-mips64el-unknown-linux-gnuabi64","rust-std-mipsel-unknown-linux-gnu","rust-std-mipsel-unknown-linux-musl","rust-std-powerpc-unknown-linux-gnu","rust-std-powerpc64-unknown-linux-gnu","rust-std-powerpc64le-unknown-linux-gnu","rust-std-s390x-unknown-linux-gnu","rust-std-sparc64-unknown-linux-gnu","rust-std-wasm32-unknown-emscripten","rust-std-x86_64-apple-darwin (default)","rust-std-x86_64-apple-ios","rust-std-x86_64-linux-android","rust-std-x86_64-pc-windows-gnu","rust-std-x86_64-pc-windows-msvc","rust-std-x86_64-rumprun-netbsd","rust-std-x86_64-unknown-freebsd","rust-std-x86_64-unknown-fuchsia","rust-std-x86_64-unknown-linux-gnu","rust-std-x86_64-unknown-linux-musl","rust-std-x86_64-unknown-netbsd","rustc-x86_64-apple-darwin (default)",""]
    DEBUG: Configuration: Rustup: updatePathToRlsExecutable: rlsInstalled=true
    DEBUG: Configuration: Rustup: updatePathToRlsExecutable: rlsPath=/Users/jrmuizel/.cargo/bin/rls
    DEBUG: runInRlsMode: rlsPath=/Users/jrmuizel/.cargo/bin/rls
    DEBUG: runInRlsMode: env={"RUST_SRC_PATH":"/Users/jrmuizel/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/src"}
    DEBUG: runInRlsMode: args=[]
    DEBUG: runInRlsMode: revealOutputChannelOn=3
    DEBUG: Language Client Manager: start
    DEBUG: Language Client Manager: stop
    DEBUG: Language Client Manager: start
    DEBUG: Language Client Manager: stop
    DEBUG: Language Client Manager: start
    DEBUG: Language Client Manager: stop
    DEBUG: Language Client Manager: start
    DEBUG: Language Client Manager: stop
    DEBUG: Language Client Manager: start
    

    RLS channel

    [Error - 10:00:08 PM] Connection to server got closed. Server will not be restarted.
    
    opened by jrmuizel 48
  • terminate running task is not work

    terminate running task is not work

    use following code:

    use std::{thread, time};

    fn main() { loop { let ten_millis = time::Duration::from_millis(1000); thread::sleep(ten_millis); println!("ok ..."); } }

    then shift+cmd+p, select "Cargo: Run Debug"

    after that, shift+cmd+p, select "Cargo: Terminate Running Task"

    task is still running.

    rustup bug 
    opened by cissusnar 37
  • Smart(er) resolution of the current working directory.

    Smart(er) resolution of the current working directory.

    First of all, sorry for somewhat big PR, I tried to structure it to be as comprehensible as I can. Let me know if you need any clarifications, I'll gladly provide all needed details.

    Issue is as follows:

    1. Open Rust project in VSCode.
    2. Open any Rust file.
    3. Invoke "Go to Symbol in Workspace..." and start typing any symbol name. Notice that the symbol list is working correctly.
    4. Close all opened file tabs in VSCode (but not the project folder itself).
    5. Repeat step 3. After the symbol name is typed, extension fails with an exception.

    This is actually only the tip of the iceberg, there are other different kinds of issues when you:

    • Try to invoke Cargo command when there is no file opened in VSCode.
    • Try to use symbol list or invoke Cargo command when you have a file opened that doesn't belong to current workspace.
    • Try to use symbol list or invoke Cargo command when you are working with the file that lies in the folder that doesn't belong to any Rust project.

    Underlying problem is the resolution of current project folder in PathService.cwd().

    Proposed PR attempts to fix it by providing somewhat smarter algorithm. Here is the description from the code commentary:

    This procedure is complicated by the fact, that the currently opened VSCode workspace may
    not be exact Rust project directory, or may even contain several Rust projects.
    
    Let's say we have a workspace opened, and it has a directory structure that looks like this:
    - BigSolution/
      - RustProject1/
        - Cargo.toml
        - main.rs
      - RustProject2/
        - Cargo.toml
        - src/
          - someotherfile.sql
          - somesource.rs
      - TODO.txt
    
    If currently active editor is BigSolution/RustProject1/main.rs this function should return
    BigSolution/RustProject1/
    
    If currently active editor is BigSolution/RustProject2/src/someotherfile.sql this function
    should return BigSolution/RustProject2/
    
    If currently active editor is BigSolution/TODO.txt, or there is no currently active editor
    (window has no editors opened at all), then it is ambiguous which project should be the
    context of the invoked command. In this case, we return first from the following sequence:
    
    1. Workspace root directory, if it contains Cargo.toml file.
    
    2. Last project directory user has worked with (value that was returned by the last cwd()
        call), if there was one, if it still exists and if it still has Cargo.toml file.
    
    3. First directory in the workspace that has a Cargo.toml file (found by recursive search).
    
    4. Error.
    

    I also changed the type of the value returned by cwd() from Promise<string|Error> to Promise<string>. If nothing is found, promise just fails with an Error. This approach is more idiomatic and easier to implement elegantly. Because of this, there is a lot of whitespace changes in src/services/commandService.ts but that's mostly indentation, the only meaningful thing is the extraction of if into a second argument for then().

    opened by mitskevich 37
  • Could not install RLS component (rls-preview)

    Could not install RLS component (rls-preview)

    Version of VSCode: 1.17.0 Version of the extension: 0.3.1 OS: Ubuntu 16.04

    Description: I cannot start the RLS. I get the following error when I start vscode (or when I reload the window):

    • RLS not installed. Install?

    When I clicked Yes, I got:

    • Couldn't start client Rust Language Server
    • Could not install RLS component (rls-preview)

    I reinstalled the extension, but the problem persists. I see in the Changelog that there was a change on how RLS detection is performed. Could this be related?

    Output of the "Rust logging" channel (the selection box shows "Rust Language Server" and not "Rust logging", but I guess that's what you mean?):

    [Error - 2:25:52 PM] Starting client failed
    
    opened by jdferreira 34
  • vscode-rust extension does not start

    vscode-rust extension does not start

    Version of VSCode: 1.10.1 Version of the extension: 0.3.10 OS: Linux 4.9.11-1-ARCH x86_64

    Description: vscode-rust extension does not start

    Debug console:

    [Extension Host] Uncaught Exception:  TypeError: Cannot read property 'toString' of null
    [Extension Host] TypeError: Cannot read property 'toString' of null
        at ChildProcess.spawnedProcess.on.code (/home/user/.vscode/extensions/kalitaalexey.vscode-rust-0.3.10/out/src/components/configuration/configuration_manager.js:145:69)
        at emitTwo (events.js:106:13)
        at ChildProcess.emit (events.js:191:7)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
    Cannot read property 'toString' of null: TypeError: Cannot read property 'toString' of null
        at ChildProcess.spawnedProcess.on.code (/home/user/.vscode/extensions/kalitaalexey.vscode-rust-0.3.10/out/src/components/configuration/configuration_manager.js:145:69)
        at emitTwo (events.js:106:13)
        at ChildProcess.emit (events.js:191:7)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
    

    Output of the "Rust logging" channel:

    I don't have it.
    
    opened by pftbest 32
  • error: file not found for module

    error: file not found for module

    Version of VSCode: 1.10.2 Version of the extension: 0.3.10 OS: macOS / Linux

    Description: adding a whitespace & save src/main.rs to trigger rustfmt gives error, while "cargo check" sees no error. I dont see this behaviour with other files in the project than src/main.rs

    Output of the "Rust logging" channel:

    DEBUG: Language Client Manager: start
    

    However, more is shown in the "Rust Language Server" channel:

    error: file not found for module `app`
      --> stdin:45:5
       |
    45 | mod app;
       |     ^^^
       |
       = help: name the file either app.rs or app/mod.rs inside the directory ""
    
    [Error - 10:09:38 PM] Request textDocument/formatting failed.
      Message: Reformat failed to complete successfully
      Code: -32601 
    

    I originally reported this issue in the rls project here, but they tell me their reference plugin doesn't exhibit this behaviour, so I'm re-submitting the issue here.

    --

    Hello, I am seeing an issue from rls, using the vscode-rust plugin.

    I reproduced it on Linux and OSX like this:

    git clone https://github.com/BurntSushi/ripgrep
    cd ripgrep
    code .
    [navigate to src/main.rs]
    [add a whitespace and save, to trigger rls]
    

    gives the following error:

    error: file not found for module `app`
      --> stdin:45:5
       |
    45 | mod app;
       |     ^^^
       |
       = help: name the file either app.rs or app/mod.rs inside the directory ""
    
    [Error - 6:01:04 PM] Request textDocument/formatting failed.
      Message: Reformat failed to complete successfully
      Code: -32601 
    

    there is a file src/app.rs in the project. the code compiles correctly using "cargo build".

    Intellisense and code navigation appears to work in the other files, this just seems to happen while in src/main.rs

    Using rls from git of today (91a4b57), set up like this:

    git clone https://github.com/rust-lang-nursery/rls.git
    cd rls
    rustup update
    rustup default nightly
    cargo install
    # on linux:
    export LD_LIBRARY_PATH="$HOME/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib"
    export RLS_ROOT="$HOME/dev/rs/rls"
    
    rustup component add rust-analysis
    

    and added the following vscode-rust configuration:

        "editor.formatOnSave": true,
        "rust.rls": {
            "executable": "rustup",
            "args": [
                "run",
                "nightly",
                "rls"
            ]
        },
    
    opened by martinlindhe 31
  • Can't find rustup

    Can't find rustup

    Version of VSCode: 1.12.1 Version of the extension: 0.3.14 OS: Mac OS

    Description: I get the "You do not use Rustup. Rustup is a preffered way to install Rust and its components" message. But I have rustup installed. Not sure where to configure it to fix it. Output:

    $ rustc --print=sysroot
    /Users/rstocker/.multirust/toolchains/stable-x86_64-apple-darwin
    $ where rustup
    /Users/rstocker/.cargo/bin/rustup
    $ where rustc
    /Users/rstocker/.cargo/bin/rustc
    

    Thanks for your help!

    Output of the "Rust logging" channel:

    DEBUG: handleMissingRls: Rust is either not installed or installed not via Rustup
    DEBUG: Configuration: updatePathToRacer: findRacerPathSpecifiedByUser: path=undefined
    DEBUG: Configuration: updatePathToRacer: findDefaultRacerPath: foundPath=undefined
    DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): pathDirectories=["/usr/local/bin","/usr/local/sbin","/usr/local/share/npm/bin","/usr/bin","/bin","/usr/sbin","/sbin"]
    DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): tools={"rustfmt":"rustfmt","rustsym":"rustsym"}
    DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): this.missingTools = ["racer","rustfmt","rustsym"]
    
    
    opened by robinst 29
  • Flush output after every line

    Flush output after every line

    I've added the functionality for reading cargo output one line at a time and printing non-JSON lines to the output pane immediately. Another thing that would be nice is to have lines starting with "{" that fail parsing to still get printed, but it's not that important.

    This is my first time working with TypeScript and Node.js, so I hope I didn't mess anything up.

    Fixed #16.

    opened by Jascha-N 24
  • Add installing rls

    Add installing rls

    Fixes #177

    After this PR:

    • the documentation will be extended to describe a new way to set RLS up
    • the extension will:
      • determine:
        • if a user uses Rustup
        • if RLS is installed
        • if RLS can be installed via RLS
      • ask a user to update Rustup before installing RLS
      • ask a user to install RLS
      • use RLS installed via Rustup by default (There is no need to specify rust.rls.executable if RLS is installed via Rustup)

    For those who wants to try it out:

    GitHub documentation The page "Install the extension from source" in the extension's documentation

    git clone https://github.com/editor-rs/vscode-rust.git
    cd vscode-rust
    git fetch origin pull/181/head:pull-181
    git checkout pull-181
    npm install
    code .
    

    Then Press F5

    enhancement 
    opened by KalitaAlexey 23
  • vscode-rust not detecting PATH correctly

    vscode-rust not detecting PATH correctly

    Hi,

    vscode-rust: 0.3.0 code: 1.81 macOS: Sierra

    This is basically the same issue as:- https://github.com/saviorisdead/RustyCode/issues/218

    I switched to this plugin when it was indicated that this issue was fixed on the RustyCode issue log, but I still experience the same problems as I did with RustyCode.

    I've tried all combinations of absolute paths and relative paths, but I've been unable to get anything to work correctly at this point. With the settings.json as below, I get the message: Racer: Not found

        "rust.racerPath": "~/.cargo/bin", 
        "rust.rustLangSrcPath": "~/git/rust/src",
        "rust.rustfmtPath": "~/.cargo/bin", 
        "rust.rustsymPath": "~/.cargo/bin", 
        // etc..
    
    opened by chipshorter 22
  • Completion for UdpSocket doesn't work

    Completion for UdpSocket doesn't work

    Version of VSCode: 1.12.2 Version of the extension: 0.3.11 OS: Arch Linux

    Description: Consider the following snippet:

    use std::net;
    use std::
    
    fn main() {
        let sock = net::UdpSocket::
    
    }
    

    When I type bind in the let sock line and press ctrl+space I get no suggestions

    Output of the "Rust logging" channel:

    DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): pathDirectories=["/usr/local/sbin","/usr/local/bin","/usr/bin","/usr/lib/jvm/default/bin","/usr/bin/site_perl","/usr/bin/vendor_perl","/usr/bin/core_perl","/home/marcin/.cargo/bin"]
    DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): tools={"racer":"racer","rustfmt":"rustfmt","rustsym":"rustsym"}
    DEBUG: Legacy Mode Manager: MissingToolsInstallator: getMissingTools(): this.missingTools = []
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoPath = "cargo"
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: this.args = ["build","--message-format","json"]
    DEBUG: Cargo Manager: CargoTaskManager: OutputChannelTaskManager: Task: execute: cargoEnv = {}
    
    
    opened by marmistrz 21
  • Reviving of the extension

    Reviving of the extension

    Hello everyone.

    I'm going to revive the extension, but its focus will be on providing additional features. Rust extension by Rust language team already provides all good features related to building. This extension will contain features, it had since the beginning - commands, opening playgrounds and etc. If you have any suggestions about what feature you would like to see, feel free to open an issue or leave a comment in this thread.

    opened by KalitaAlexey 0
  • Rust IDE Issues (VSCode, Atom)

    Rust IDE Issues (VSCode, Atom)

    Hello.

    I can't get VSCode or Atom to work with Rust properly (in a productive way). This seems to be a very widespread issue:

    • Latest VSCode
    • Rust Beta (rustc 1.41.0-beta.1 (eb3f7c2d3 2019-12-17)) Same issue with other versions
    • rls 1.41.0 (8f1c275 2019-12-10)
    • Rust extension: Rust (rls)
    • Script running extension: Code Runner

    Basically cargo run works just fine and runs the project. But VSCode can't figure out where crates are:

    Code:

    use rand::Rng;
    
    fn main() {
        let rnd_num = rand::thread_rng().gen_range(1, 100);
        println!("Random number: {}", rnd_num);
    }
    

    cargo run from terminal:

    [jurisl@JurisLinuxPC game]$ cargo run
        Finished dev [unoptimized + debuginfo] target(s) in 0.01s
         Running `target/debug/game`
    Random number: 54
    

    Errors when running from code editor:

    error[E0432]: unresolved import `rand`
     --> main.rs:1:5
      |
    1 | use rand::Rng;
      |     ^^^^ maybe a missing crate `rand`?
    
    error[E0433]: failed to resolve: use of undeclared type or module `rand`
     --> main.rs:4:19
      |
    4 |     let rnd_num = rand::thread_rng().gen_range(1, 100);
      |                   ^^^^ use of undeclared type or module `rand`
    
    error: aborting due to 2 previous errors
    
    Some errors have detailed explanations: E0432, E0433.
    For more information about an error, try `rustc --explain E0432`.
    

    Adding extern crate rand; results in the same error:

    error[E0463]: can't find crate for `rand`
     --> main.rs:1:1
      |
    1 | extern crate rand;
      | ^^^^^^^^^^^^^^^^^^ can't find crate
    
    error: aborting due to previous error
    
    For more information about this error, try `rustc --explain E0463`.
    

    Changing edition = "2018" - Does not help. Restarting RLS/VSCode - Does not help.

    NOTE:

    1. The exact same issue is present in Atom editor.
    2. Autocomplete almost does not work: image

    Basically, out of two editors (VSCode and Atom), that have Debugging capabilities, unlike Intellij Rust, both don't work for me and I just can't code in Rust as tools are literally broken/not mature enough for productive work. Please let me know if I am wrong and it is just a case of one little flag, that everyone forgets to mention, is missing in some config.

    opened by RebelCoderRU 2
  • Linter show rustc_private error.

    Linter show rustc_private error.

    Version of VSCode: 1.32.3 Version of the extension: 0.4.2 OS: macOS rustc 1.34.0-nightly (f6fac4225 2019-02-03) cargo 1.34.0-nightly (245818076 2019-01-27)

    Description:

    Output of the "Rust logging" channel:

    DEBUG: Rustup: updateToolchains: this.toolchains=[{"channel":"nightly","host":"x86_64-apple-darwin","isDefault":true},{"channel":"system","isDefault":false}]
    DEBUG: activate: processPossibleSetButMissingUserToolchain: toolchainKind=toolchain
    DEBUG: activate: processPossibleSetButMissingUserToolchain: user toolchain is installed
    DEBUG: Rustup: updateComponents(nightly-x86_64-apple-darwin): components=["cargo-x86_64-apple-darwin (default)","clippy-x86_64-apple-darwin","lldb-preview-x86_64-apple-darwin","llvm-tools-preview-x86_64-apple-darwin","rls-x86_64-apple-darwin (installed)","rust-analysis-x86_64-apple-darwin (installed)","rust-docs-x86_64-apple-darwin (default)","rust-src (installed)","rust-std-aarch64-apple-ios","rust-std-aarch64-fuchsia","rust-std-aarch64-linux-android","rust-std-aarch64-pc-windows-msvc","rust-std-aarch64-unknown-cloudabi","rust-std-aarch64-unknown-linux-gnu","rust-std-aarch64-unknown-linux-musl","rust-std-arm-linux-androideabi","rust-std-arm-unknown-linux-gnueabi","rust-std-arm-unknown-linux-gnueabihf","rust-std-arm-unknown-linux-musleabi","rust-std-arm-unknown-linux-musleabihf","rust-std-armebv7r-none-eabi","rust-std-armebv7r-none-eabihf","rust-std-armv5te-unknown-linux-gnueabi","rust-std-armv5te-unknown-linux-musleabi","rust-std-armv7-apple-ios","rust-std-armv7-linux-androideabi","rust-std-armv7-unknown-linux-gnueabihf","rust-std-armv7-unknown-linux-musleabihf","rust-std-armv7r-none-eabi","rust-std-armv7r-none-eabihf","rust-std-armv7s-apple-ios","rust-std-asmjs-unknown-emscripten","rust-std-i386-apple-ios","rust-std-i586-pc-windows-msvc","rust-std-i586-unknown-linux-gnu","rust-std-i586-unknown-linux-musl","rust-std-i686-apple-darwin","rust-std-i686-linux-android","rust-std-i686-pc-windows-gnu","rust-std-i686-pc-windows-msvc","rust-std-i686-unknown-freebsd","rust-std-i686-unknown-linux-gnu","rust-std-i686-unknown-linux-musl","rust-std-mips-unknown-linux-gnu","rust-std-mips-unknown-linux-musl","rust-std-mips64-unknown-linux-gnuabi64","rust-std-mips64el-unknown-linux-gnuabi64","rust-std-mipsel-unknown-linux-gnu","rust-std-mipsel-unknown-linux-musl","rust-std-powerpc-unknown-linux-gnu","rust-std-powerpc64-unknown-linux-gnu","rust-std-powerpc64le-unknown-linux-gnu","rust-std-riscv32imac-unknown-none-elf","rust-std-riscv32imc-unknown-none-elf","rust-std-s390x-unknown-linux-gnu","rust-std-sparc64-unknown-linux-gnu","rust-std-sparcv9-sun-solaris","rust-std-thumbv6m-none-eabi","rust-std-thumbv7em-none-eabi","rust-std-thumbv7em-none-eabihf","rust-std-thumbv7m-none-eabi","rust-std-thumbv7neon-linux-androideabi","rust-std-thumbv7neon-unknown-linux-gnueabihf","rust-std-thumbv8m.main-none-eabi","rust-std-wasm32-unknown-emscripten","rust-std-wasm32-unknown-unknown","rust-std-x86_64-apple-darwin (default)","rust-std-x86_64-apple-ios","rust-std-x86_64-fortanix-unknown-sgx","rust-std-x86_64-fuchsia","rust-std-x86_64-linux-android","rust-std-x86_64-pc-windows-gnu","rust-std-x86_64-pc-windows-msvc","rust-std-x86_64-rumprun-netbsd","rust-std-x86_64-sun-solaris","rust-std-x86_64-unknown-cloudabi","rust-std-x86_64-unknown-freebsd","rust-std-x86_64-unknown-linux-gnu","rust-std-x86_64-unknown-linux-gnux32","rust-std-x86_64-unknown-linux-musl","rust-std-x86_64-unknown-netbsd","rust-std-x86_64-unknown-redox","rustc-x86_64-apple-darwin (default)","rustfmt-x86_64-apple-darwin",""]
    DEBUG: RlsMode: start: enter
    DEBUG: RlsMode: start: no RLS executable
    DEBUG: RlsMode: start: processPossibleSetButMissingUserToolchain: toolchainKind=nightly toolchain
    DEBUG: RlsMode: start: processPossibleSetButMissingUserToolchain: user nightly toolchain is installed
    DEBUG: RlsMode: processPossiblyMissingRlsComponents: RLS is installed
    DEBUG: RlsMode: processPossiblyMissingRlsComponents: rust-analysis is installed
    DEBUG: RlsMode: start: User decided not to use rustfmt
    DEBUG: RlsMode: start: rlsPath=rustup 
    DEBUG: RlsMode: start: env={"RUST_SRC_PATH":"/Users/xxx/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/src"} 
    DEBUG: RlsMode: start: args=["run","nightly-x86_64-apple-darwin","rls"] 
    DEBUG: RlsMode: start: revealOutputChannelOn=3 
    DEBUG: RlsMode: start: Language Client Manager: start
    

    it shows error at code

    #[macro_use]
    extern crate log;
    extern crate env_logger;
    

    the error message:

    use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? (see issue #27812)
    
    help: add #![feature(rustc_private)] to the crate attributes to enable
    

    The 2 crate are both in my Cargo.toml

    [dependencies]
    log = "*"
    env_logger = "*"
    

    And I could successfully build and run my code without error/warnings.

    opened by clouds56 0
  • Formatting doesn't work

    Formatting doesn't work

    Version of VSCode: 1.32.1 Version of the extension: 0.5.4 OS: MacOS

    Description: my code is not formatted

    Output of the "Rust logging" channel:

    [Trace - 9:06:07 PM] Sending request 'initialize - (0)'.
    Params: {
        "processId": 11657,
        "rootPath": "/Users/louisabraham/rustlang",
        "rootUri": "file:///Users/louisabraham/rustlang",
        "capabilities": {
            "workspace": {
                "applyEdit": true,
                "workspaceEdit": {
                    "documentChanges": true
                },
                "didChangeConfiguration": {
                    "dynamicRegistration": true
                },
                "didChangeWatchedFiles": {
                    "dynamicRegistration": true
                },
                "symbol": {
                    "dynamicRegistration": true,
                    "symbolKind": {
                        "valueSet": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            8,
                            9,
                            10,
                            11,
                            12,
                            13,
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26
                        ]
                    }
                },
                "executeCommand": {
                    "dynamicRegistration": true
                },
                "configuration": true,
                "workspaceFolders": true
            },
            "textDocument": {
                "publishDiagnostics": {
                    "relatedInformation": true
                },
                "synchronization": {
                    "dynamicRegistration": true,
                    "willSave": true,
                    "willSaveWaitUntil": true,
                    "didSave": true
                },
                "completion": {
                    "dynamicRegistration": true,
                    "contextSupport": true,
                    "completionItem": {
                        "snippetSupport": true,
                        "commitCharactersSupport": true,
                        "documentationFormat": [
                            "markdown",
                            "plaintext"
                        ],
                        "deprecatedSupport": true,
                        "preselectSupport": true
                    },
                    "completionItemKind": {
                        "valueSet": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            8,
                            9,
                            10,
                            11,
                            12,
                            13,
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25
                        ]
                    }
                },
                "hover": {
                    "dynamicRegistration": true,
                    "contentFormat": [
                        "markdown",
                        "plaintext"
                    ]
                },
                "signatureHelp": {
                    "dynamicRegistration": true,
                    "signatureInformation": {
                        "documentationFormat": [
                            "markdown",
                            "plaintext"
                        ]
                    }
                },
                "definition": {
                    "dynamicRegistration": true
                },
                "references": {
                    "dynamicRegistration": true
                },
                "documentHighlight": {
                    "dynamicRegistration": true
                },
                "documentSymbol": {
                    "dynamicRegistration": true,
                    "symbolKind": {
                        "valueSet": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            8,
                            9,
                            10,
                            11,
                            12,
                            13,
                            14,
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26
                        ]
                    }
                },
                "codeAction": {
                    "dynamicRegistration": true,
                    "codeActionLiteralSupport": {
                        "codeActionKind": {
                            "valueSet": [
                                "",
                                "quickfix",
                                "refactor",
                                "refactor.extract",
                                "refactor.inline",
                                "refactor.rewrite",
                                "source",
                                "source.organizeImports"
                            ]
                        }
                    }
                },
                "codeLens": {
                    "dynamicRegistration": true
                },
                "formatting": {
                    "dynamicRegistration": true
                },
                "rangeFormatting": {
                    "dynamicRegistration": true
                },
                "onTypeFormatting": {
                    "dynamicRegistration": true
                },
                "rename": {
                    "dynamicRegistration": true
                },
                "documentLink": {
                    "dynamicRegistration": true
                },
                "typeDefinition": {
                    "dynamicRegistration": true
                },
                "implementation": {
                    "dynamicRegistration": true
                },
                "colorProvider": {
                    "dynamicRegistration": true
                }
            }
        },
        "initializationOptions": {
            "omitInitBuild": true,
            "cmdRun": true
        },
        "trace": "verbose",
        "workspaceFolders": [
            {
                "uri": "file:///Users/louisabraham/rustlang",
                "name": "rustlang"
            }
        ]
    }
    
    
    [Trace - 9:06:07 PM] Received response 'initialize - (0)' in 89ms.
    Result: {
        "capabilities": {
            "textDocumentSync": 2,
            "hoverProvider": true,
            "completionProvider": {
                "resolveProvider": true,
                "triggerCharacters": [
                    ".",
                    ":"
                ]
            },
            "definitionProvider": true,
            "implementationProvider": true,
            "referencesProvider": true,
            "documentHighlightProvider": true,
            "documentSymbolProvider": true,
            "workspaceSymbolProvider": true,
            "codeActionProvider": true,
            "codeLensProvider": {
                "resolveProvider": false
            },
            "documentFormattingProvider": true,
            "documentRangeFormattingProvider": false,
            "renameProvider": true,
            "executeCommandProvider": {
                "commands": [
                    "rls.applySuggestion-11718",
                    "rls.deglobImports-11718"
                ]
            }
        }
    }
    
    
    [Trace - 9:06:07 PM] Sending notification 'initialized'.
    Params: {}
    
    
    [Trace - 9:06:07 PM] Sending notification 'workspace/didChangeConfiguration'.
    Params: {
        "settings": {
            "rust": {
                "sysroot": null,
                "target": null,
                "rustflags": null,
                "clear_env_rust_log": true,
                "build_lib": null,
                "build_bin": null,
                "cfg_test": false,
                "unstable_features": false,
                "wait_to_build": 1500,
                "show_warnings": true,
                "use_crate_blacklist": true,
                "build_on_save": false,
                "features": [],
                "all_features": false,
                "no_default_features": false,
                "racer_completion": true,
                "clippy_preference": "opt-in",
                "jobs": null,
                "all_targets": true,
                "target_dir": null,
                "rustfmt_path": "/Users/louisabraham/.cargo/bin/rustfmt",
                "build_command": null,
                "full_docs": null,
                "show_hover_context": true,
                "trace": {
                    "server": "verbose"
                }
            }
        }
    }
    
    
    [Trace - 9:06:07 PM] Sending notification 'textDocument/didOpen'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs",
            "languageId": "rust",
            "version": 1,
            "text": "fn main() {\nprintln!(\"Hello, world!\");\n    \n\n    }"
        }
    }
    
    
    [Trace - 9:06:07 PM] Received request 'client/registerCapability - (1)'.
    Params: {
        "registrations": [
            {
                "id": "rls-watch",
                "method": "workspace/didChangeWatchedFiles",
                "registerOptions": {
                    "watchers": [
                        {
                            "globPattern": "/Users/louisabraham/rustlang/Cargo.lock"
                        },
                        {
                            "globPattern": "/Users/louisabraham/rustlang/target",
                            "kind": 4
                        }
                    ]
                }
            }
        ]
    }
    
    
    [Trace - 9:06:07 PM] Sending response 'client/registerCapability - (1)'. Processing request took 1ms
    No result returned.
    
    
    [Trace - 9:06:07 PM] Received notification 'window/progress'.
    Params: {
        "id": "progress_1",
        "title": "Building"
    }
    
    
    [Trace - 9:06:07 PM] Received request 'client/unregisterCapability - (2)'.
    Params: {
        "unregisterations": [
            {
                "id": "rls-range-formatting",
                "method": "textDocument/rangeFormatting"
            }
        ]
    }
    
    
    [Trace - 9:06:07 PM] Sending response 'client/unregisterCapability - (2)'. Processing request took 0ms
    No result returned.
    
    
    [Trace - 9:06:07 PM] Received notification 'window/progress'.
    Params: {
        "done": true,
        "id": "progress_1",
        "title": "Building"
    }
    
    
    [Trace - 9:06:07 PM] Received notification 'window/progress'.
    Params: {
        "id": "progress_0",
        "title": "Indexing"
    }
    
    
    [Trace - 9:06:07 PM] Received notification 'window/showMessage'.
    Params: {
        "message": "could not find `Cargo.toml` in `/Users/louisabraham/rustlang` or any parent directory",
        "type": 1
    }
    
    
    [Trace - 9:06:07 PM] Received notification 'window/progress'.
    Params: {
        "done": true,
        "id": "progress_0",
        "title": "Indexing"
    }
    
    
    [Trace - 9:06:07 PM] Sending request 'textDocument/codeAction - (1)'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs"
        },
        "range": {
            "start": {
                "line": 1,
                "character": 0
            },
            "end": {
                "line": 1,
                "character": 0
            }
        },
        "context": {
            "diagnostics": []
        }
    }
    
    
    [Trace - 9:06:07 PM] Received response 'textDocument/codeAction - (1)' in 12ms.
    Result: []
    
    
    [Trace - 9:06:07 PM] Sending request 'textDocument/codeLens - (2)'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs"
        }
    }
    
    
    [Trace - 9:06:07 PM] Received response 'textDocument/codeLens - (2)' in 30ms.
    Result: []
    
    
    [Trace - 9:06:14 PM] Sending notification 'textDocument/didChange'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs",
            "version": 2
        },
        "contentChanges": [
            {
                "range": {
                    "start": {
                        "line": 2,
                        "character": 0
                    },
                    "end": {
                        "line": 2,
                        "character": 4
                    }
                },
                "rangeLength": 4,
                "text": ""
            }
        ]
    }
    
    
    [Trace - 9:06:14 PM] Received notification 'window/progress'.
    Params: {
        "id": "progress_3",
        "title": "Building"
    }
    
    
    [Trace - 9:06:14 PM] Received notification 'window/progress'.
    Params: {
        "done": true,
        "id": "progress_3",
        "title": "Building"
    }
    
    
    [Trace - 9:06:14 PM] Received notification 'window/progress'.
    Params: {
        "id": "progress_2",
        "title": "Indexing"
    }
    
    
    [Trace - 9:06:14 PM] Received notification 'window/progress'.
    Params: {
        "done": true,
        "id": "progress_2",
        "title": "Indexing"
    }
    
    
    [Trace - 9:06:14 PM] Sending request 'textDocument/codeLens - (3)'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs"
        }
    }
    
    
    [Trace - 9:06:14 PM] Received response 'textDocument/codeLens - (3)' in 2ms.
    Result: []
    
    
    [Trace - 9:06:14 PM] Sending request 'textDocument/formatting - (4)'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs"
        },
        "options": {
            "tabSize": 4,
            "insertSpaces": true
        }
    }
    
    
    [Trace - 9:06:14 PM] Received response 'textDocument/formatting - (4)' in 2ms. Request failed: Reformat failed to complete successfully (-32603).
    [Error - 9:06:14 PM] Request textDocument/formatting failed.
      Message: Reformat failed to complete successfully
      Code: -32603 
    [Trace - 9:06:14 PM] Sending notification 'textDocument/didSave'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs",
            "version": 2
        }
    }
    
    
    [Trace - 9:06:20 PM] Sending request 'textDocument/codeLens - (5)'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs"
        }
    }
    
    
    [Trace - 9:06:20 PM] Received response 'textDocument/codeLens - (5)' in 2ms.
    Result: []
    
    
    [Trace - 9:06:20 PM] Sending request 'textDocument/codeLens - (6)'.
    Params: {
        "textDocument": {
            "uri": "file:///Users/louisabraham/rustlang/hello_world/main.rs"
        }
    }
    
    
    [Trace - 9:06:20 PM] Received response 'textDocument/codeLens - (6)' in 2ms.
    Result: []
    
    
    opened by louisabraham 3
  • This extension doesn't work with rls-vscode, should this repository be deprecated?

    This extension doesn't work with rls-vscode, should this repository be deprecated?

    I've tried several times to use this extension with rls-vscode, but have failed each time. Just now, when I enable it and restart, RLS starts and is building and I get the popup "It seems RLS is not installed. Do you want to install it?" I click install, and it says "You have chosen RLS mode, but RLS is not found."

    image

    There were two other pop-ups, but they disappeared before I could take a screenshot or type them out.

    I restart and I get "Choose a mode in which the extension will function": image

    It just pops up again when I click Read about modes.

    If I click Legacy, it shows "Rust Tools Missing": image

    Click it and "You are missing racer. Would you like to install it?"

    I click install, then in a pop-up terminal:

    [jray@jr-dl rl]$  rustup run stable-x86_64-unknown-linux-gnu cargo install racer
        Updating crates.io index
      Installing racer v2.1.16                                                                                                                                                                           
      Downloaded rand v0.4.5                                                                                                                                                                             
      Downloaded serde_json v1.0.36                                                                                                                                                                      
      Downloaded proc-macro2 v0.4.25                                                                                                                                                                     
      Downloaded libc v0.2.47                                                                                                                                                                            
       Compiling semver-parser v0.7.0                                                                                                                                                                    
       Compiling arrayvec v0.4.10                                                                                                                                                                        
       Compiling libc v0.2.47                                                                                                                                                                            
       Compiling cfg-if v0.1.6                                                                                                                                                                           
       Compiling nodrop v0.1.13                                                                                                                                                                          
       Compiling void v1.0.2                                                                                                                                                                             
       Compiling memoffset v0.2.1                                                                                                                                                                        
       Compiling lazy_static v1.2.0                                                                                                                                                                      
       Compiling rand_core v0.3.0                                                                                                                                                                        
       Compiling scopeguard v0.3.3                                                                                                                                                                       
       Compiling rustc-rayon-core v0.1.1                                                                                                                                                                 
       Compiling stable_deref_trait v1.1.1                                                                                                                                                               
       Compiling proc-macro2 v0.4.25                                                                                                                                                                     
       Compiling unicode-xid v0.1.0                                                                                                                                                                      
       Compiling unicode-width v0.1.5                                                                                                                                                                    
       Compiling byteorder v1.2.7                                                                                                                                                                        
       Compiling bitflags v1.0.4                                                                                                                                                                         
       Compiling version_check v0.1.5                                                                                                                                                                    
       Compiling either v1.5.0                                                                                                                                                                           
       Compiling rustc-ap-graphviz v306.0.0                                                                                                                                                              
    error[E0554]: #![feature] may not be used on the stable release channel                                                                                                                              
       --> /home/jray/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-graphviz-306.0.0/lib.rs:289:1                                                                                             
        |                                                                                                                                                                                                
    289 | #![feature(rustc_private, nll)]                                                                                                                                                                
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                
                                                                                                                                                                                                         
    error[E0554]: #![feature] may not be used on the stable release channel                                                                                                                              
       --> /home/jray/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-ap-graphviz-306.0.0/lib.rs:290:1                                                                                             
        |                                                                                                                                                                                                
    290 | #![feature(str_escape)]                                                                                                                                                                        
        | ^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                        
                                                                                                                                                                                                         
    error: aborting due to 2 previous errors                                                                                                                                                             
                                                                                                                                                                                                         
    For more information about this error, try `rustc --explain E0554`.                                                                                                                                  
    error: Could not compile `rustc-ap-graphviz`.                                                                                                                                                        
    warning: build failed, waiting for other jobs to finish...
    error: failed to compile `racer v2.1.16`, intermediate artifacts can be found at `/tmp/cargo-install1716Jj`                                                                                          
    
    Caused by:
      build failed
    

    I would prefer to not have to use the nightly channel, since I am working on a protocol in a library (gossipsub for rust-libp2p).

    While perhaps this repository may still be usable, and while I am not very familiar with it, I pose the question: is there any use case for using this extension rather than rls-vscode? If not, shouldn't this repo be deprecated, to save time for people trying to figure out whether to use this or rls-vscode?

    While this repo isn't maintained, I will send a follow-up email if no response is forthcoming.

    @KalitaAlexey

    opened by jamesray1 0
Owner
Group for plugins, editors, IDE for Rust. If you want a repository here, send me an email
null
IDE tools for writing pest grammars, using the Language Server Protocol for Visual Studio Code, Vim and other editors

Pest IDE Tools IDE support for Pest, via the LSP. This repository contains an implementation of the Language Server Protocol in Rust, for the Pest par

pest 20 Apr 8, 2023
Visual Studio extension for Rust

Visual Studio extension for Rust Currently in development, and not feature complete. Stable versions are available on the Visual Studio extension gall

PistonDevelopers 697 Dec 18, 2022
Rust extension for Visual Studio 2017 with RLS support

Rust support for Visual Studio 2017 Preview Adds language support for Rust to Visual Studio 2017. Supports: code completion goto definition find all r

Zoey Riordan 111 Aug 4, 2022
Apprentice-vscode - a port of @romainl’s excellent Apprentice Vim colour scheme to VS Code

Apprentice for VS Code apprentice-vscode is a port of @romainl’s excellent Apprentice Vim colour scheme to VS Code. The theme is available in two vari

Luna Razzaghipour 6 Dec 21, 2022
A brand-new language server for Typst, plus a VS Code extension

Typst LSP A brand-new language server for Typst. Features Syntax highlighting, error reporting, code completion, and function signature help Compiles

Nathan Varner 414 Apr 17, 2023
Rust IDE support for Atom, powered by the Rust Language Server (RLS)

IDE-Rust Rust language support for Atom-IDE, powered by rust-analyzer. Features Auto-completion Diagnostics (errors and warnings from rustc) Document

The Rust Programming Language 239 Dec 14, 2022
rust-analyzer is a modular compiler frontend for the Rust language

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

null 11.2k Jan 8, 2023
Rust language support in Atom - LOOKING FOR MAINTAINER, see #144

Rust language support in Atom Adds syntax highlighting and snippets to Rust files in Atom. Install Install the package language-rust in Atom (Preferen

Andreas Neuhaus 118 Oct 11, 2022
Eclipse Corrosion - Rust edition in Eclipse IDE

Eclipse Corrosion Rust edition and debug in Eclipse IDE Corrosion is a Rust development plugin for the Eclipse IDE, providing a rich edition experienc

Eclipse Foundation 194 Dec 23, 2022
RustDT is an Eclipse based IDE for the Rust programming language:

Project website: http://rustdt.github.io/ As of 2017, RustDT is no longer actively maintained, see this blog post for more information. If you are int

null 351 Aug 20, 2022
Emacs configuration for Rust

Table of Contents Introduction Installation Melpa Manual installation Feature guide Indentation Code formatting Running / testing / compiling code Cli

The Rust Programming Language 919 Jan 4, 2023
Rust development environment for Emacs

Rustic Table of Contents Rustic Intro Installation straight Compilation Faces rustc errors Rustfmt edition 2018 LSP Server Client eglot lsp-mode lsp-e

null 612 Dec 30, 2022
Better Rust/Cargo support for Flycheck

flycheck-rust — Flycheck for Rust This Flycheck extension configures Flycheck automatically for the current Cargo project. Setup Install from MELPA or

Flycheck 112 Sep 21, 2022
NetBeans Rust plugin

Rust NetBeans Plugin A NetBeans plugin for Rust. Linux / OSX Windows Requirements NetBeans 8.2.x Java 8+ Rust Cargo Rustup Features So far, it include

drrb 52 Oct 10, 2022
Rust plugin for the IntelliJ Platform

Rust plugin for the IntelliJ Platform Build Status Check Stable Beta Nightly Installation & Usage Available installation options and features are desc

IntelliJ Rust 4.2k Jan 2, 2023
Rust IDE

This branch contains the development of a "new ride" that maintain a small impact on the ui library. This is for a few reasons. Can customize the colo

Gustav Jansson 171 Dec 24, 2022
An IDE for Rust

Introduction SolidOak is a simple IDE for Rust. See the website for binary releases. It has the following features: An embedded copy of Neovim as its

Zach Oakes 907 Dec 29, 2022
The official Sublime Text 3 package for the Rust Programming Language

Rust Enhanced About This is a Sublime Text 3 package which supports Rust starting with version 1.0, it makes no attempt at supporting earlier incompat

The Rust Programming Language 704 Jan 7, 2023
Vim configuration for Rust.

rust.vim Description This is a Vim plugin that provides Rust file detection, syntax highlighting, formatting, Syntastic integration, and more. It requ

The Rust Programming Language 3.4k Jan 8, 2023