1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年1月20日 |
---|
#575 在 操作系统
用于 fapt-pkg
5KB
错误链-for-笨拙的IDEs
这个库包含了一个重大的hack,使得某些IDE在处理重量级的error-chain代码时能够表现更好。
什么意思?
error-chain 是 Rust的错误处理库。如果你没有使用它,那你就做错了。
然而,它大量使用了Rust的宏系统,这对一些IDE来说理解起来并不容易。
这个库提供了一套stub,使IDE稍微不那么笨拙,因此你的体验也会稍微好一些。
没有它,像这样的代码的补全会失败
let a = foo().chain_err(|| "foo failed :(")?;
a. // <-- here.
之后,它就成功了!
如何实现?
-
将这个crate作为依赖项添加。使用
dev-dependencies
是可以的[dev-dependencies.error-chain-for-dumb-ides] git = "https://github.com/FauxFaux/error-chain-for-dumb-ides"
由于crates.io软件包的依赖项不能来自git仓库,你可以使用crates.io发布的版本。我不打算维护对旧版本的支持,甚至在git HEAD中也不行。为此,请使用以下片段
[dev-dependencies.error-chain-for-dumb-ides] version = "0"
-
导入crate。您可以在一个无意义的
cfg
后面这样做,因为这个配置在IDE中被完全忽略,代码仍然会被执行#[cfg(intellij_type_hinting)] extern crate error_chain_for_dumb_ides;
-
在您的
mod errors {}
中,导入crate的内容#[cfg(intellij_type_hinting)] pub use error_chain_for_dumb_ides::stubs::*;
就是这样!现在,补全突然开始工作。
这里有一个在真实项目中实现此操作的例子。
许可证
CC0
.
想象一下“公共领域”,不保留任何权利。鉴于这个库很简单,并且永远不会成为你的生产代码库的一部分,任何许可证实际上都是无关紧要的。