Coder Social home page Coder Social logo

intellij-rust / intellij-rust.github.io Goto Github PK

View Code? Open in Web Editor NEW
73.0 12.0 20.0 384.09 MB

Official website of IntelliJ-Rust project

Home Page: https://intellij-rust.github.io/

License: MIT License

HTML 17.56% CSS 2.23% Ruby 0.11% JavaScript 22.59% Python 14.42% SCSS 42.49% Dockerfile 0.60%
intellij rust-language website

intellij-rust.github.io's Introduction

intellij-rust.github.io

Local development

Install Ruby and Bundler. There is .ruby-version file for rbenv if you like. You will probably need GCC, Make, AutoConf and NodeJS installed.

$ bundle install
$ bundle exec jekyll serve --future

Windows

If you are using Windows, it's better not to fight with Ruby Installer. I use WSL and works pretty flawlessly, except file change watching (see tracking issue). So you'll have to run this instead:

$ bundle exec jekyll serve --no-watch

To workaround lack of watching, you can do:

$ bundle exec jekyll serve --detach
$ while (bundle exec jekyll build --incremental); do sleep 5; done

Docker

Run intellij-rust.github.io configuration directly from IntelliJ IDEA. The website will be accessible at http://localhost:8080/. Any changes made in _posts, assets, _docs, and _includes directories will be reflected immediately.

Alternatively, you can use the following commands from the terminal:

$ docker build -t intellij-rust.github.io .
$ docker run \
  -v $PWD/_posts:/intellij-rust.github.io/_posts \
  -v $PWD/assets:/intellij-rust.github.io/assets \
  -v $PWD/_docs:/intellij-rust.github.io/_docs \
  -v $PWD/_includes:/intellij-rust.github.io/_includes \
  -v $PWD/_site:/intellij-rust.github.io/_site \
  -p 8080:8080 -it intellij-rust.github.io

intellij-rust.github.io's People

Contributors

alexeykudinkin avatar anuejn avatar artemmukhin avatar avrong avatar dima74 avatar intellij-rust-bot avatar isamborskiy avatar kumbayo avatar lancelote avatar marinakalashina avatar matklad avatar mchernyavsky avatar mili-l avatar mitchhentges avatar mkaput avatar nicokn avatar ozkriff avatar ralfbiedert avatar robinst avatar skade avatar torkleyy avatar undin avatar vallentin avatar vlad20012 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intellij-rust.github.io's Issues

Download button is wrong

Download button at the main page feels weird. Preferably, the user should never see the ugly plugins.jetbrains.com.

What do you think about the following UI: the button says Install, and it is simply a link to a page which explains how to install alpha/nightly channel from within IDE?

Autocomplete doesn't work inside all macros

I'll use Nickel middleware! macro as example:

middleware!(
        // Autocomplete doesn't work inside here. Ctrl + Space shows "No suggestions".
)

Using brackets makes no difference. It doesn't work either:

middleware!{
        // Autocomplete doesn't work inside here. Ctrl + Space shows "No suggestions".
}

Add debugger GUI

I've been using the plugin for some time now, and it works great! The feature I'm missing the most right now is debugger GUI. Nothing would make my life so much easier than this.

Media

An issue to attach large media files without cluttering git repository.

no autocomplete in the bin subfolder and other pecularities

I must say that I have quite some problems getting the intellj plugin working. I followed all the instuctions in the quick start, I reinstalled intellij (with removing all the preferences as well) but am still without luck. Before giving up I thought I'd put some of my problems up here:

The most prominent problem is that autocomplete does not work when done on a source file under the bin directory as seen in this screenshot:

Also, building does not work with cargo build even when configured like in this screenshot: . Maybe it does build, but I don't see the build errors (cargo build on commandline shows the errors).

I know that this issue is fuzzy but I don't know how to explain this better. If I can supply any more info how to reproduce this I'd be happy to do so.

`extern crate proc_macro` not found even if the project compiles

The Rust-plugin gives me the error extern crate proc_macro not found even if the project compiles without an error.

Cargo.toml:

[package]
name = "json_derive"
version = "0.1.0"
authors = ["Keziah Biermann <[email protected]>"]

[lib]
proc-macro = true

[dependencies]
syn = "0.15.14"
quote = "0.6.8"

lib.rs:

#![recursion_limit = "128"]

extern crate proc_macro; // ← This gives me the "not found" error
extern crate syn;
#[macro_use] extern crate quote;

use proc_macro::TokenStream;


#[proc_macro_derive(Dummy)] pub fn dummy_derive(input: TokenStream) -> TokenStream {
	unimplemented!()
}

Optimize Imports sorts `mod` after `use`

Technically this doesn't make any difference but syntactically it is much easier to read when use statements are positioned after the mod. Almost like saying "from this imported module, use these things in the current scope."

Not sure if this is some kind of generic clion configuration or the intellij-rust specific but could not figure out how to change that. Would greatly appreciate any kind of advice.

False positive "mismatched types" for String::from("") == ""

This only affects the default macro engine.

There are PartialEq implementations for comparing a String with a string slice. It's defined here:

macro_rules! impl_eq {
    ($lhs:ty, $rhs: ty) => {
        #[stable(feature = "rust1", since = "1.0.0")]
        impl<'a, 'b> PartialEq<$rhs> for $lhs {
            #[inline]
            fn eq(&self, other: &$rhs) -> bool { PartialEq::eq(&self[..], &other[..]) }
            #[inline]
            fn ne(&self, other: &$rhs) -> bool { PartialEq::ne(&self[..], &other[..]) }
        }

        #[stable(feature = "rust1", since = "1.0.0")]
        impl<'a, 'b> PartialEq<$lhs> for $rhs {
            #[inline]
            fn eq(&self, other: &$lhs) -> bool { PartialEq::eq(&self[..], &other[..]) }
            #[inline]
            fn ne(&self, other: &$lhs) -> bool { PartialEq::ne(&self[..], &other[..]) }
        }

    }
}

impl_eq! { String, str }
impl_eq! { String, &'a str }
impl_eq! { Cow<'a, str>, str }
impl_eq! { Cow<'a, str>, &'b str }
impl_eq! { Cow<'a, str>, String }

But when expanding with the default macro engine, IntelliJ Rust doesn't find these implementations.

Separate landing page and feature list

Currently all of our features are presented on the main page. It's better to leave the main page for top highlights, and add a detailed manual as a separate page.

Main page should answer the question "why should I try this?" and should mention:

  • wip status
  • native analysis engine
  • navigation facilities (both go to definition and go to symbol)
  • completion facilities

Manual should answer the question "how can I be the most productive?" and should go into great detail about each feature, even if it is small.

Landing page should have a visible "Quick Start" link

Quick start is a rather important piece of documentation, because it explains how to actually use the plugin. It also helps to verify that the plugin is working correct.

Ideally we should not have a quick start page because everything should just work, but we are not at that stage yet.

Code Highlight/Completion/Inspection Doesn't Work on certain files

Hi, I don't know if this issue belongs here, but I've never experienced this issue with an other language.

I'm using intellij-rust v0.2.95.2120-191 with CLion 2019.1 on macOs 10.14.3.
It's an issue that seems to persist across the la 3-4 plugin version and upgrading / downgrading CLion doens't change anything.

Here's the issue: In some .rs files (anything larger that 600 lines) the code highlights stop working as well as the code inspection and the code completion. Strangely enough, some file with more than 800 lines on code render well with color and everything but other files less than 300 lines will stop being inspected or highlighted at some point. here are some screenshot illustrating the issue: screenshots

At this point I tried disabling every single checkbox from this plugin hoping it would somehow behave differently but it did do much.

Compatibility with IntelliJ Ultimate 2016

Recently I have updated my IntelliJ installation to the 2016 version (now moved to yearly release numbering) and I can't get my projects previously configured with the rust SDK and the plugin to work, and I can't find a way to add a rust SDK to it (the existing ones are marked as invalid).

Any ideas on workarounds to get this to work?

IntelliJ version:
IntelliJ IDEA 2016.2
Build #IU-162.1121.32, built on July 9, 2016
JRE: 1.8.0_76-release-b216 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Rust plugin:
Version: 0.0.1.808

primitive types in function arguments always underlined

Hi,

The following correct programme is weirdly highlighted:

fn main() {
    println!("Sqr(21) = {}", sqr(21));
}

fn sqr(number: i64) -> i64 {
    return number * number;
}

Indeed, number (only on the fn line) and i64 are highlighted in red, and underlined with a little squiggly.
On mouse-over, no information is shown.

When trying to go to the declaration of i64, a Cannot find declaration to go to is shown. Perhaps this is the reason of the highlight?

Screenshot:

image

Make "alpha" status more prominent?

I think we should make it more clear that the plugin is currently in "alpha" and that it will be like this for a while. Perhaps just say "alpha" on the main page, and then add an explanation of what exactly does "alpha" means.

For me, alpha means:

  • very far from the level of Scala/Java/Go support of IntelliJ.
  • possible performance problems / crashes.
  • but already usable as the main Rust editor. I hack on Cargo and some pet projects using intelliJ Rust. Navigation is just awesome, editing is okish (cool formatter, poor completion, parser recovery, no niceties like postfix templates), working through compiler errors is meh (we need 100% accurate resolve to start adding red squiggles :( )

Basically, try it and use it, if you like it, or wait for the official release otherwise :)

I would like to use --all-features

I use a feature in my project that is required for a certain module to be available. When I run tests the feature is not enabled by default and my module is not compiled, and my test doesn't run. I can then edit the configuration for the test I ran and add '--all-features'. Then things work as desired.

I have this work around, so this is not critical, but it would be very nice if this behaviour could be the default, or if there would be a way to configure this for my whole project. Now, I need to re-do this whenever I move things around, add new feature dependent modules, or whenever I want to run a single new test in this module.

I am sorry if I missed how this can be done today, happy to learn :)

Automatic import importing wrong things

Hi,

With the new semi-auto import feature being there (amazing! thanks!), I tried a quick piece of code, and here are my results:

fn sqr(number: i64) -> i64 {
    thread::sleep(Duration::from_secs(2));
    return number * number;
}

In this code, you'll be able to try to import thread from line thread::sleep. If you do so, the following line will be added:

use std::thread::thread;

While it should be:

use std::thread;

Once you've fixed this import, it seems that you can try to import Duration, but using Alt+Enter only offers you to add parenthesis around the expression.

It should offer to import the following line:

use std::time::Duration;

IDE version: Intellij IDE Community 2017.3.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.