Rust 自动补全不适用于某些板条箱
Rust autocompletion not working with certain crates
我在使用某些 crate 时遇到了 IDE 的自动完成功能问题,例如 pnet
。我将 CLion 与 Rust 扩展一起使用,但 VSCode 也会出现问题。 IDE 似乎完全不知道库的某些部分。
let packet = pnet::packet::ipv4::Ipv4Packet::new(&data);
例如,我在 ipv4::
之后失去了自动补全功能。语法高亮也不起作用。
这与这个板条箱使用宏的方式有关吗?有人知道如何使自动完成工作吗?
自动完成引擎存在 Rust 宏和生成代码的已知问题。
这可能是导致 pnet
问题的原因。
pnet::packet
是 defined as
extern crate pnet_packet;
/// Support for packet parsing and manipulation.
pub mod packet {
pub use pnet_packet::*;
}
其中 pnet_packet
是一个带有 build.rs
script 的板条箱,可生成大部分代码。
据我所知,您无能为力IDE。
我在使用某些 crate 时遇到了 IDE 的自动完成功能问题,例如 pnet
。我将 CLion 与 Rust 扩展一起使用,但 VSCode 也会出现问题。 IDE 似乎完全不知道库的某些部分。
let packet = pnet::packet::ipv4::Ipv4Packet::new(&data);
例如,我在 ipv4::
之后失去了自动补全功能。语法高亮也不起作用。
这与这个板条箱使用宏的方式有关吗?有人知道如何使自动完成工作吗?
自动完成引擎存在 Rust 宏和生成代码的已知问题。
这可能是导致 pnet
问题的原因。
pnet::packet
是 defined as
extern crate pnet_packet;
/// Support for packet parsing and manipulation.
pub mod packet {
pub use pnet_packet::*;
}
其中 pnet_packet
是一个带有 build.rs
script 的板条箱,可生成大部分代码。
据我所知,您无能为力IDE。