问题标签 [rustfmt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1761 浏览

rust - 有没有一种稳定的方法来告诉 Rustfmt 跳过整个文件

让 Rustfmt 跳过一个项目的官方方法是#[rustfmt::skip],但是我希望它跳过整个文件。我试过这个:

但是你得到这个错误

错误[E0658]:非内置内部属性不稳定

这是该错误的问题。

有解决方法吗?我不感兴趣的解决方案:

  • 使用不稳定的 Rust
  • 告诉 Rustfmt 不要使用文件外部的东西来处理文件(rustfmt.toml例如)
0 投票
2 回答
2145 浏览

intellij-idea - 对保存在 IntelliJ 或 CLion 中的文件执行 rustfmt

rustfmt在 IntelliJ 或 CLion 中保存文件时如何自动运行?

0 投票
1 回答
309 浏览

rust - 如何格式化这样的字符串?

我想构造字符串“test: OK”,但这不起作用。我该怎么做?

0 投票
0 回答
645 浏览

rust - 为 Cargo.toml 提供 fmt 预提交钩子的位置

我有一个包含 Python 和 Rust 代码的存储库。

在存储库的根目录中,我拥有.pre-commit-config.yaml

rust_code/文件夹中,我有 rust 代码和Cargo.toml.

但是,看起来钩子希望Cargo.toml位于存储库的根目录中并且忽略了参数。

我有什么选择?

0 投票
0 回答
147 浏览

rust - 有没有办法防止格式化 else { 琐碎的表达式 }

我经常有类似的代码

现在,有没有办法防止 rustfmt 浪费两行格式化琐碎的 else 部分,如下所示:

请注意,single_line_if_else_maxwidth这没有帮助,因为“then”部分太长了。

0 投票
1 回答
260 浏览

rust - rustfmt 的未知配置选项“group_imports”

我有一个rustfmt.toml文件,其中包含该行group_imports = "StdExternalCrate",根据文档,这应该是一个有效的选项。但是,我收到以下警告:

警告:未知的配置选项`group_imports`

在测试文件上运行rustfmt似乎也没有按指定对导入进行分组。我今天更新了所有内容rustup update,目前有版本"rustfmt 1.4.27-nightly",这似乎是最新的稳定次要版本

unstable_features = true根据文档,我还确保使用 启用不稳定的功能。为什么我不能使用这个选项?是因为我在夜间使用吗?在这种情况下,我将如何启用此选项?

完整的 rustfmt.toml 文件供参考:

0 投票
1 回答
1412 浏览

rust - 如何关闭代码区域而不是单个项目的 rustfmt?

#[rustfmt::skip]允许您在格式化时跳过代码“块”,但这需要放置skip每个{}而不是 Clang 样式on/off

考虑这段代码:

rustfmt 会将其格式化为:

一个需要两个#[rustfmt::skip]属性而不是一个on/off

单行函数有一个 rustfmt 选项,但此示例仅用于演示目的。我想控制该地区任何可能的 rustfmt 设置。

0 投票
1 回答
305 浏览

visual-studio-code - VSCode Rust 在保存时添加分号

我在 vscode 上使用 Rust 扩展而不是 rust-analyzer。但是,当我保存文件时,vscode 正在使用 rustfmt 格式化我的文件,但它不会自动插入分号。我有一个像这样的微不足道的功能

它不添加必要的分号。如何让它添加分号?我的安装是否搞砸了?

另外,我尝试过 rust-analyzer ,它也没有添加分号。

0 投票
0 回答
275 浏览

rust - 在 CLion 中使用 nightly rustfmt 和稳定的编译器

当谈到 CLion 中的工具链时,我遇到了一个意想不到的问题。我想在将 nightly 用于 rustfmt 的同时使用编译器的稳定通道。原因是我想使用稳定版中没有的 rustfmt 功能。不幸的是,CLion 只选择了当前选择的工具链,没有任何方法可以覆盖或自定义它,因此没有选择 rustfmt 的 nightly 进行格式化的选项。有没有我在寻找它时没有注意到的解决方法或选项?

在评论中有cargo +nightly fmt可能是我正在寻找的建议。即使它允许使用 rustfmt 的 nightly,它也没有集成到 CLion 的流程中,这似乎使用了整个工具链的当前启用版本。

0 投票
1 回答
35 浏览

rust - 在 Rustfmt 中控制宏使用格式

我想写一个简单的调用来assert!喜欢这个

但这不断格式化为:

但我不太喜欢这种特殊的格式化行为;我希望它保持在一条线上。fn_call_width我尝试将rustfmt.toml文件中的 设置为更高的数字,但这没有帮助。请注意,mymax_width仍然是默认值 ( 100)。

有人知道我是否可以在其中设置一个rustfmt.toml可以让我获得所需行为的配置吗?