I believe that intellij rust's name resolution doesn't deal all that well with #[cfg(...)] attributes other than target ones.
When using glam, whose Vec3A type has some #[cfg(...)]s attached, intellij isn't able to suggest anything for name completion. I believe those are feature gated but I don't recognize that being valid feature cfg conditions so I am unsure.
I have become so dependent upon jumping / auto completion that I am seriously considering maintaing a local 'fork' of web_sys where I manually delete all the cfg flags. (So eveything is always available).
Any potentially less drastic ways to get this to work?
If I were so annoyed by it, I would probably do the following: I'd keep a local version of the crate and add a new re-export file which exports all the items I need without any kind of feature gating or anything (instead of doing it only locally since usually the gated items which are exported are private). Then, in my project I'd once again have a re-export file, wherein I could have a module for the modified local version and the crates.io version. I'd comment out the pub use local_name_res::* from that module and uncomment pub use cratesio_name_res::* along with the dependencies when compiling or publishing. This might be a bit overkill, and would require you add something in three places to use it, but I'm fine with that personally, and I think it's a pretty robust approach.