如何为IntelliJ IDEA的Rust项目提供标准库源码?
How to provide standard library sources for IntelliJ IDEA's Rust project?
我正在使用 Mac 进行开发。我使用 brew install rust
安装了 Rust 1.13.0,并为 IntelliJ IDEA 安装了 Rust 插件 0.1.0.1385。我用 cargo
创建了我的第一个测试项目,并在用 IDEA 打开它时收到消息
No standard library sources found, some code insight will not work
我没有找到任何安装的源代码,也没有找到 Homebrew 中的 Rust 源代码包。
如何为项目提供资源,如果忽略此步骤,实际影响是什么?
如评论所述,支持的方法是使用 rustup
:
- 导航到 https://rustup.rs/ 并按照适用于您的平台的安装说明进行操作。
- 通过运行添加
rust-src
组件:rustup component add rust-src
- 在 IntelliJ 中创建一个新的 Rust 项目并选择您现有的 Rust 项目源。如果该文件夹已经包含以前的 IntelliJ 项目文件,您可能必须先删除这些文件,然后才能继续。
- IntelliJ-Rust 应该自动配置标准库源指向由
rustup
下载的源。
作为参考,由于问题标题很宽泛,对于 Fedora 28 我不得不:
dnf install cargo rust-src
sudo ln -s /usr/lib/rustlib/src /usr/lib/rustlib/x86_64-unknown-linux-gnu/
然后给 /usr/lib/rustlib/x86_64-unknown-linux-gnu/src/rust/src
作为 "Standard library"
Issue开通简化流程
虽然安装 Rust 的首选方法是使用 rustup,正如其他帖子所指出的那样,但使用您的发行版提供的软件包并不少见。
例如,我使用的是 Gentoo 提供的软件包,并且我对标准库的未预填充字段有同样的问题。
不过,您可以通过键入以下查找命令轻松找到标准库的安装位置:
find /usr/lib* -type d -name "rust" | grep src
如果您在家中安装了 rust,则如下所示
find -type d -name "rust" | grep src
前面的命令会有所帮助,当然,除非在您的发行版中有一个用于二进制文件的软件包和一个用于源代码的软件包,而您只安装了二进制文件。
我知道问题是针对 MacOS 的,但在 Linux 上搜索时会显示此答案。下面我将回答Ubuntu.
路径是 /usr/lib/rustlib/src/rust/src
for Ubuntu 20.04
我的做法是:
- 从存储库安装了 rustc,其中包括 cargo
sudo apt install rustc
- 然后安装rust源码包
sudo apt install rust-src
- 我用
apt-file
(可以用sudo apt install apt-file
安装)搜索sources的安装路径
sudo apt-file update
apt-file list rust-src
这显示路径为 /usr/src/rustc-1.41.0/src
.
但是 /usr/lib/rustlib/
中的 ls -la
会显示符号链接并且 /usr/lib/rustlib/src/rust/src
指向之前找到的目录。
在 IntelliJ 上使用符号链接将在新的 Rust 版本中继续存在。
对于 Fedora 32,使用命令安装 Rust:
dnf install cargo rust-src
标准库源的路径是:
/usr/lib/rustlib/src/rust
当不使用 rustup 安装程序时,可以安装源码包并指示 rust 插件使用:
(已使用 CLion 2020.2.1、rust-1.46.0-x86_64-pc-windows-gnu.msi、rustc-1.46.0-[=19= 进行测试。离线 Rust 安装程序和源存档: https://forge.rust-lang.org/infra/other-installation-methods.html )
我用了Ubuntu。我遵循以下步骤:
sudo apt install rust-src
等待安装,然后
dpkg -L rust-src
复制最后一行。对我来说,这是标准库路径:
/usr/lib/rustlib/src/rust
我正在使用 Mac 进行开发。我使用 brew install rust
安装了 Rust 1.13.0,并为 IntelliJ IDEA 安装了 Rust 插件 0.1.0.1385。我用 cargo
创建了我的第一个测试项目,并在用 IDEA 打开它时收到消息
No standard library sources found, some code insight will not work
我没有找到任何安装的源代码,也没有找到 Homebrew 中的 Rust 源代码包。
如何为项目提供资源,如果忽略此步骤,实际影响是什么?
如评论所述,支持的方法是使用 rustup
:
- 导航到 https://rustup.rs/ 并按照适用于您的平台的安装说明进行操作。
- 通过运行添加
rust-src
组件:rustup component add rust-src
- 在 IntelliJ 中创建一个新的 Rust 项目并选择您现有的 Rust 项目源。如果该文件夹已经包含以前的 IntelliJ 项目文件,您可能必须先删除这些文件,然后才能继续。
- IntelliJ-Rust 应该自动配置标准库源指向由
rustup
下载的源。
作为参考,由于问题标题很宽泛,对于 Fedora 28 我不得不:
dnf install cargo rust-src
sudo ln -s /usr/lib/rustlib/src /usr/lib/rustlib/x86_64-unknown-linux-gnu/
然后给 /usr/lib/rustlib/x86_64-unknown-linux-gnu/src/rust/src
作为 "Standard library"
Issue开通简化流程
虽然安装 Rust 的首选方法是使用 rustup,正如其他帖子所指出的那样,但使用您的发行版提供的软件包并不少见。
例如,我使用的是 Gentoo 提供的软件包,并且我对标准库的未预填充字段有同样的问题。 不过,您可以通过键入以下查找命令轻松找到标准库的安装位置:
find /usr/lib* -type d -name "rust" | grep src
如果您在家中安装了 rust,则如下所示
find -type d -name "rust" | grep src
前面的命令会有所帮助,当然,除非在您的发行版中有一个用于二进制文件的软件包和一个用于源代码的软件包,而您只安装了二进制文件。
我知道问题是针对 MacOS 的,但在 Linux 上搜索时会显示此答案。下面我将回答Ubuntu.
路径是 /usr/lib/rustlib/src/rust/src
for Ubuntu 20.04
我的做法是:
- 从存储库安装了 rustc,其中包括 cargo
sudo apt install rustc
- 然后安装rust源码包
sudo apt install rust-src
- 我用
apt-file
(可以用sudo apt install apt-file
安装)搜索sources的安装路径
sudo apt-file update
apt-file list rust-src
这显示路径为 /usr/src/rustc-1.41.0/src
.
但是 /usr/lib/rustlib/
中的 ls -la
会显示符号链接并且 /usr/lib/rustlib/src/rust/src
指向之前找到的目录。
在 IntelliJ 上使用符号链接将在新的 Rust 版本中继续存在。
对于 Fedora 32,使用命令安装 Rust:
dnf install cargo rust-src
标准库源的路径是:
/usr/lib/rustlib/src/rust
当不使用 rustup 安装程序时,可以安装源码包并指示 rust 插件使用:
(已使用 CLion 2020.2.1、rust-1.46.0-x86_64-pc-windows-gnu.msi、rustc-1.46.0-[=19= 进行测试。离线 Rust 安装程序和源存档: https://forge.rust-lang.org/infra/other-installation-methods.html )
我用了Ubuntu。我遵循以下步骤:
sudo apt install rust-src
等待安装,然后dpkg -L rust-src
复制最后一行。对我来说,这是标准库路径:
/usr/lib/rustlib/src/rust