首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏旅途散记

    听GPT 讲Rust源代码--src/tools(38)

    File: rust/src/tools/rustfmt/build.rs rust/src/tools/rustfmt/build.rs文件是Rust代码中一个构建脚本,它的主要作用是在构建rustfmt MacroConfigType:该enum定义了Rustfmt针对过程宏的派生属性的配置类型。每个选项表示了Rustfmt针对过程宏的不同配置。 File: rust/src/tools/rustfmt/src/lists.rs 在Rust源代码中,rust/src/tools/rustfmt/src/lists.rs文件是Rustfmt工具中负责处理列表格式化的模块 File: rust/src/tools/rustfmt/src/bin/main.rs rust/src/tools/rustfmt/src/bin/main.rs文件是Rustfmt工具的入口文件。 File: rust/src/tools/rustfmt/src/config/lists.rs rust/src/tools/rustfmt/src/config/lists.rs是Rustfmt的配置模块之一

    44410编辑于 2024-02-26
  • 来自专栏旅途散记

    听GPT 讲Rust源代码--src/tools(39)

    File: rust/src/tools/rustfmt/src/git-rustfmt/main.rs 在Rust源代码中,rust/src/tools/rustfmt/src/git-rustfmt 这个程序是基于Rustfmt工具构建的,Rustfmt是一个用于格式化Rust代码的工具。 在这个文件中,有三个struct起着不同的作用:NullOptions、Config和Rustfmt. Rustfmt: Rustfmt struct是git-rustfmt程序的主要结构。它处理命令行参数并执行相应的操作。 Rustfmt struct使用Config struct以及命令行参数中的选项来配置Rustfmt,并通过调用Rustfmt工具对代码进行格式化。 File: rust/src/tools/rustfmt/src/rustfmt_diff.rs 在Rust源代码中,rust/src/tools/rustfmt/src/rustfmt_diff.rs

    39610编辑于 2024-02-26
  • Rust 中的 Cargo fmt:超越表面的代码格式化哲学

    Rustfmt 的技术架构 在深入探讨之前,我想先了解一下你的具体需求: 你主要关注哪个方面? 是 rustfmt 的配置优化、在 CI/CD 中的集成,还是团队协作中的最佳实践? cargo fmt 基于 rustfmt 工具,而 rustfmt 本身构建在 Rust 编译器的语法解析器之上。它不是简单的文本处理工具,而是真正理解 Rust 语法的格式化器。 配置哲学:约定优于配置 Rust 社区有意限制了 rustfmt 的配置选项数量。与其他语言的格式化工具(如 Prettier、Black)不同,许多格式化风格在 rustfmt 中是不可配置的。 [rustfmt::skip] 属性完全跳过格式化,既节省时间又避免不必要的 diff。 特殊场景处理 rustfmt 对宏的处理一直是争议点。对于声明宏(macro_rules!) 它不仅调用 rustfmt,还能理解项目的 rustfmt.toml 配置,确保编辑器格式化与命令行格式化的一致性。

    13810编辑于 2026-01-23
  • 来自专栏Rust 编程

    《Rust 安全编码规范》 初稿发布

    为什么需要《Rust 编码规范》 在最初学习 Rust 的那几年,我觉得 Rust 有rustfmt和Clippy 这样的静态检查工具,就没有必要搞什么编码规范了。 比如,有的项目将 rustfmt 里的规则全部写到 rustfmt.toml 文件中,也不管里面有多少规则其实是默认的;有的项目则严格依赖 clippy 的警告去修改代码,而不去思考是否适合当前场景。 rustfmt 和 clippy 这种工具也只能在他们编写完代码之后,才能进行检测,无法在编写代码的过程中给予其规范和指导。 可以帮助开发人员,在面对 rustfmt 和 clippy 这样的工具的规则,可以更好地做出决策。 同时,也提供了一个针对 Rust 编码规范的平台,帮助大家思考和讨论更加合理的规范,帮助 rustfmt 和 clippy 进化。

    1.2K10发布于 2021-11-10
  • 来自专栏旅途散记

    听GPT 讲Rust源代码--src/tools(40)

    File: rust/src/tools/rustfmt/src/items.rs 在Rustfmt工具的源代码中的rust/src/tools/rustfmt/src/items.rs文件中,定义了一些与 File: rust/src/tools/rustfmt/src/chains.rs 在Rust源代码中,rustfmt/src/chains.rs文件的作用是实现代码格式化工具rustfmt的链式表达式处理逻辑 File: rust/src/tools/rustfmt/src/lib.rs 在Rust源代码中,rust/src/tools/rustfmt/src/lib.rs文件是rustfmt工具的主要实现文件 文件是Rustfmt工具中用来管理Rustfmt的发布渠道的模块。 File: rust/src/tools/rustfmt/src/pairs.rs 在Rust源代码中,rust/src/tools/rustfmt/src/pairs.rs文件的作用是处理rustfmt

    56210编辑于 2024-02-26
  • 来自专栏深度学习与python

    Rust 编码风格团队宣布完成重组

    2015 年,Rust 发布 1.0 版本的时候,在 GitHub 上发布过一个带有风格指南的 rustfmt 工具。 正如 Josh Triplett 在最近的 Rust 博客文章中解释的那样:“标准化的风格指南能帮助 Rust 开发者在许多不同的项目中感到舒适和自在,而来自 rustfmt 的工具支持使其易于维护和融入持续集成 近年来,相关的一些工作逐渐落到了 rustfmt 团队肩上,但该团队似乎更愿意执行由另一个团队做出的 style 决定,而不是自己做出的。

    40610编辑于 2023-03-29
  • 来自专栏hotarugaliの技术分享

    Rust代码格式

    自动格式化 Rust 开发了一个叫做 rustfmt 的自动格式化工具,能够将用户编写的代码自动调整为一种标准风格。最新版的 Rust 中已经包含了该工具。 详细使用参见命令手册: rustfmt --help

    1.1K10编辑于 2022-03-18
  • 来自专栏Rust语言学习交流

    【Rust 日报】2022-09-30 Cranelift 已经 merge 了 RISCV 后端

    Rust 风格团队宣布成立 随着 Rust 语言的发展,经常需要改进样式指南,例如支持新的语言结构(比如 let-chain / let-else 等新语法),像这样的新结构会被 rustfmt 忽略且不格式化 并且 rustfmt 的向后兼容性也阻碍了 Rust 代码风格的演变。

    37520编辑于 2022-11-28
  • 来自专栏IDEA

    jetbrains 又出王炸,RustRover 2024.3 解锁编程“新姿势”

    其中最具有代表性的就是clippy,当然最基础的不得不说rustfmt了。 编辑第四个,默认启用rustfmt现在rustrover格式化代码已经使用官方的rustfmt了,而不是之前内置的格式化工具。

    4900编辑于 2026-02-27
  • Rustup 1.24.0 已官宣发布,及其新特性详述

    注:先莫要急着升级,Rustup 1.24.0 版的 rustfmt 和 cargo fmt 有问题,下文有详述。 因为在升级到 Rustup 1.24.0 之后,用户无法运行 rustfmt 和 cargo fmt。因此,我们将版本恢复为 1.23.1。

    59310编辑于 2022-09-01
  • 来自专栏Rust语言学习交流

    【Rust每周一知】 Attribute 属性

    比如: // Tells the rustfmt tool to not format the following element. #[rustfmt::skip] struct S { } // Controls the "cyclomatic complexity" threshold for the clippy tool. 现在 rustc 只认识两个外部工具(及它们内部的属性):一个是 rustfmt,另一个是 clippy。

    4.6K31发布于 2020-03-04
  • 来自专栏程序猿的大杂烩

    Rust的开发环境与工具

    build 命令 cargo doc 生成项目文档 cargo publish 将库发布到 crates.io 除了以上 cargo 自带的命令外, cargo 还支持安装额外的扩展命令, 例如格式化工具. rustfmt 是一个可以自定义风格的 rust 代码格式化工具, 使用如下命令安装它: $ rustup component add rustfmt 在项目根目录输入以下命令, 会自动格式化项目内的全部 Rust

    1.3K20编辑于 2022-06-01
  • 来自专栏Rust语言学习交流

    WASI探索(一) -- WASI简介与Wasmtime配置

    为cargo配置ustc反代, 提高crates(rust库)下载速度2 安装rustfmt: rustup component add rustfmt --toolchain stable-x86_64

    5.5K50发布于 2019-07-09
  • 来自专栏Rust语言学习交流

    【Rust日报】2022-11-21 第三方crate评估指导

    crate的时候,都有自己对crate的评估标准,本文从下面十个方面给出评估指导: Licensing Maintainers Unsafe Auditing Testing & CI Clippy Rustfmt

    55860编辑于 2022-11-28
  • 来自专栏旅途散记

    听GPT 讲Rust源代码--src/bootstrap

    该文件中定义了一个名为RustfmtConfig的结构体,用于表示rustfmt的配置。 具体来说,RustfmtConfig结构体有以下几个作用: config_path字段:表示rustfmt的配置文件路径,默认为~/.rustfmt.toml。 该配置文件用于存储用户对rustfmt的个性化配置,包括缩进、换行、行长度等等。 config_file字段:表示rustfmt的配置文件的内容。 该模式下,rustfmt会将格式化后的文件写回到原始文件中,同时在控制台输出文件路径和格式化信息。 overwrite字段:表示是否允许rustfmt覆盖已存在的文件,默认为true。 在该文件中,RustfmtConfig结构体主要负责维护和传递rustfmt的配置信息。

    96070编辑于 2023-11-21
  • 来自专栏小脑斧科技博客

    Rust 环境搭建 Hello World!

    你会发现多出了下列工具: cargo cargo-clippy cargo-fmt cargo-miri clippy-driver rls rust-gdb rust-lldb rustc rustdoc rustfmt

    65700编辑于 2022-06-27
  • Rustup 1.24.1 已官宣发布,及其新特性详述

    言其在升级到 rustup 1.24.0 之后,用户无法运行 rustfmt 和 cargo fmt。因此,我们将版本恢复为 1.23.1。

    43120编辑于 2022-09-01
  • Rust 与 Java 的区别

    /target/debug/my-app) cargo check 快速检查语法(不生成目标文件) cargo test 运行单元测试和集成测试 cargo fmt 格式化代码(需 rustfmt) cargo TiKV 总结:Rust 的核心优势 优势 说明 高性能 接近 C/C++,无运行时开销 内存安全 编译时防止空指针、数据竞争 零成本部署 单文件,无依赖,启动快 现代工具链 Cargo + rustfmt

    46100编辑于 2025-12-17
  • 来自专栏面向加薪学习

    32.Rust-包管理

    reported by rustc fmt Formats all bin and lib files of the current crate using rustfmt

    37330编辑于 2022-09-04
  • 来自专栏Rust语言学习交流

    【Rust日报】2021-09-07 Relm4 v0.1 发布

    功能特性: 完全支持 async/await; 类型安全; 对Rustfmt用户友好 (过程宏); 最小开销; 示例: 代码: use poem_openapi::{payload::PlainText

    77850发布于 2021-09-10
领券