Completion of Generated Code in IntelliJ Rust

Recently, I’ve been doing a lot of work with Tonic, a Rust implementation of the gRPC protocol. Like many implementations of gRPC, Tonic generates code from the protocol buffers definitions at build time using the tonic-build crate in a Cargo build script, and by default puts them in the path referred to by OUT_DIR. This has the unfortunate side effect that tooling such as IntelliJ Rust does not see the generated code for the purposes of analysis and completion - something very useful for the verbose generated protocol buffers code - unless you take some additional steps.

[Read More]

User-level Git Exclusions

I recently adopted JetBrains IntelliJ IDEA IDE with the rapidly-improving Go plugin for working on Go code (of course using IdeaVim!). I’ll post more about using IntelliJ as an IDE for Go in future (it recently grew support for debugging using Delve), but the only downside for me so far is that it generates a directory in each project you work in to contain caches and so forth.

[Read More]