Flowistry: An IDE plugin for Rust that focuses on relevant code

https://news.ycombinator.com/rss Hits: 23
Summary

Flowistry: Information Flow for Rust Flowistry is a tool that analyzes the information flow of Rust programs. Flowistry understands whether it's possible for one piece of code to affect another. Flowistry integrates into the IDE to provide a "focus mode" which helps you focus on the code that's related to your current task. For example, this GIF shows the focus mode when reading a function that unions two sets together: When the user clicks a given variable or expression, Flowistry fades out all code that does not influence that code, and is not influenced by that code. For example, orig_len is not influenced by the for-loop, while set.len() is. Flowistry can be helpful when you're reading a function with a lot of code. For example, this GIF shows a real function in the Rust compiler. If you want to understand the role of a specific argument to the function, then Flowistry can filter out most of the code as irrelevant: The algorithm that powers Flowistry was published in the paper "Modular Information Flow through Ownership" at PLDI 2022. Table of contents Installation IDE plugin Flowistry is available as a VSCode plugin. You can install Flowistry from the Visual Studio Marketplace or the Open VSX Registry. In VSCode: Go to the Extensions pane by clicking this button in the left margin: Search for "Flowistry" and then click "Install". Open a Rust workspace and wait for the tool to finish installing. Note on platform support: Flowistry does not yet support NixOS. Flowistry cannot provide pre-built binaries for ARM targets like M1 Macs, so Flowistry must be installed from scratch on these targets (this is done for you, but will take a few more minutes than usual). Alternatively, you can install it from source: # Install flowistry binaries git clone https://github.com/willcrichton/flowistry cd flowistry cargo install --path crates/flowistry_ide # Install vscode extension cd ide npm install npm run build ln -s $(pwd) ~/.vscode/extensions/flowistry Rustc plugin If you ar...

First seen: 2025-10-18 16:57

Last seen: 2025-10-19 15:01