Configurar o ambiente de desenvolvimento integrado do Rust

O suporte oferecido para o ambiente de desenvolvimento integrado do Rust no Android depende do rust-analyzer (link em inglês). O rust-analyzer é um protocolo do servidor da linguagem usado pelo ambiente de desenvolvimento integrado para entender a estrutura do código e fornecer recursos, como preenchimento automático de código ou definições "ir para". Antes de começar, consulte a documentação Guia de início rápido do rust-analyzer (link em inglês) para saber como configurar seu ambiente de desenvolvimento integrado ou editor para usar o protocolo rust-analyzer.

O Android oferece a configuração que possibilita que rust-analyzer entenda como os módulos Rust do Android são criados. Isso é descrito no arquivo gerado pelo Soong, rust-project.json. Para alguns ambientes de desenvolvimento integrado, como o Visual Studio Code, esse arquivo é gerado pelo aidegen, usando os argumentos da opção -l r para selecionar o Rust como a linguagem. Se você usar um ambiente de desenvolvimento integrado diferente, gere manualmente um arquivo rust-project.json com o código abaixo:

// Generates rust-project.json in out/soong/
SOONG_GEN_RUST_PROJECT=1 m nothing
// Creates a symbolic link
ln -s $ANDROID_BUILD_TOP/out/soong/rust-project.json $ANDROID_BUILD_TOP

Uma versão estável pré-criada do rust-analyzer está disponível na árvore em prebuilts/rust/linux-x86/stable/rust-analyzer.