【发布时间】:2020-01-16 13:37:13
【问题描述】:
这篇文章很长,抱歉。
我一直在尝试使用 Rust 启动一个项目,但遇到了一个问题:它在 VSCode/Atom 中的 Linux 上无法正常工作。
浪费了 3 天,在线搜索,尝试不同的教程/视频 - 没有任何效果 + 大部分材料来自 2017 年。我尝试过 Matrix 聊天,但没有人知道该怎么做。 Git 也没有解决方案,因为人们一直在建议非常随机的事情,例如“将 toml 文件中的这个变量更改为其他内容,然后再返回”
Git:https://github.com/rust-lang/rls-vscode/issues/513
我安装了(并在过去 3 天内多次重新安装了 rust),它在终端上运行良好,但在编辑器中却不行。
两个问题:
- 编辑器看不到任何 crate,因此您无法从编辑器运行代码。
- 自动完成功能不起作用(仅适用于 std,不适用于您添加的额外 crate)。
我做了什么(出于许多其他事情):
- 安装 Rust(在 Manjaro 和 Debian 计算机上):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
试过stable、beta、nightly(对于racer)
刚刚再次进行了全新安装:
stable installed - rustc 1.40.0 (73528e339 2019-12-16)
Rust is installed now. Great!
在 VSCode 中安装了
Rust (rls) rust-lang.rust扩展(并在 Atom 中生锈)创建了一个新项目:
cargo new test_proj并将新的rand = "0.6"添加到 [dependencies] 并使用 cargo build。它确实构建了rand将
"rust-client.enableMultiProjectSetup": true添加到设置文件以避免警告:A Cargo.toml file must be at the root of the workspace in order to support all features. Alternatively set rust-client.enableMultiProjectSetup=true in settings.by Rust (rls)我还安装了用于 Python、C++ 和 Java 的“代码运行器”扩展,以便在编辑器中运行代码。
所以现在我只有主函数,它在编辑器中运行得很好:
现在我添加了 rand,它似乎可以工作,并且会自动完成一些...
但现在它停止工作了:
好的,我将完成代码并尝试运行它,现在我们无法再运行它了,因为 crate 不见了:
好的,让我们试试 Ctrl + Shift + B 并尝试 cargo build:
出于某种奇怪的原因,它正在 /media/Work/Work/rust_code 中而不是 /media/Work/Work/rust_code/test_proj/ 中查找
最后一件事:让我们尝试在终端中运行:
所以它确实工作得很好。
抱歉,这篇文章太长了,但我现在已经浪费了 3 天时间,但它仍然无法启动和运行。有没有人设法设置这个?
它必须是 Atom 或 VSCode,因为我在那里设置了所有其他语言/项目 + VSCode 列在 Rust 官方网站上,所以我认为它应该可以工作。
基本上,在两个具有调试功能的编辑器(VSCode 和 Atom)中,与 Intellij Rust 不同,它们都不适合我,我只是无法在 Rust 中编码,因为工具已经损坏/不够成熟生产性工作。如果我错了,请告诉我,这只是一个小标志的情况,每个人都忘记提及,在某些配置中丢失。
【问题讨论】:
-
首先:这可能更适合users.rust-lang.org 的用户论坛,因为恕我直言,它不适合stackoverflow。其次,要么使用不同的IDE(例如pycharm),要么根本不依赖IDE,如果它给你带来问题(3天,我已经放弃了)。第三:您确定您在
Cargo.toml中添加了依赖关系吗?第三,VSC 代码的配置问题有多个错误来源。请尝试全新安装 VSC(最好在 VM 中) -
我同意 Rust 论坛,但它的配置很差,并且每个帖子不允许超过一张图片。
标签: visual-studio-code rust rls