Known Limitations
Current limitations and planned features for the Noir JetBrains Plugin
This page documents known limitations of the plugin. Understanding these helps set appropriate expectations.
IDE Version Requirement
Section titled “IDE Version Requirement”Why: The plugin uses JetBrains’ native LSP API, which was introduced in version 2025.2. This API provides better performance and integration than older approaches.
Affected users: Anyone using IDE versions prior to 2025.2 (e.g., 2024.x, 2023.x).
Workaround: Update to IDE version 2025.2 or later. All JetBrains IDEs (IntelliJ IDEA, CLion, RustRover, WebStorm, etc.) version 2025.2+ are supported.
Test Gutter Icon (Preview Feature)
Section titled “Test Gutter Icon (Preview Feature)”Current state: The plugin shows a test tube icon next to #[test] functions in the gutter.
Limitation: Clicking the icon does not run the test. The run action is not yet implemented.
#[test] // ← Test tube icon appears herefn test_example() { assert(1 + 1 == 2);}Current behavior:
- Icon is displayed ✓
- Visual indicator of test functions ✓
- Run test on click ✗ (not implemented)
Workaround: Run tests from the terminal:
nargo test# or specific testnargo test test_exampleNo Run Configuration
Section titled “No Run Configuration”Limitation: The plugin does not provide run configurations for Noir programs. You cannot run or debug Noir programs directly from the IDE.
Workaround: Use the terminal:
# Execute the programnargo execute
# Run testsnargo test
# Build the circuitnargo compile
# Generate proofsnargo proveNo Nargo.toml Support
Section titled “No Nargo.toml Support”Limitation: The plugin does not parse or provide intelligence for Nargo.toml files.
What doesn’t work:
- Syntax highlighting for Nargo.toml
- Completion for dependency names
- Validation of configuration values
- Navigation to dependency sources
Workaround: Edit Nargo.toml as a plain text file. Refer to the Noir documentation for the correct format.
No Code Folding
Section titled “No Code Folding”Limitation: Functions, structs, modules, and other code blocks cannot be folded/collapsed.
fn example() { // Cannot fold this // lots of code}
struct Point { // Cannot fold this either x: Field, y: Field,}Workaround: Use IDE navigation features instead:
Cmd+F12/Ctrl+F12to see file structureCmd+B/Ctrl+Bto jump to definitions
No Structure View
Section titled “No Structure View”Limitation: The Structure tool window (Alt+7) does not show an outline of Noir files.
What doesn’t work:
- File outline in Structure panel
- Navigation via structure view
- Symbol overview
Workaround: Use:
- Search Everywhere (
Shift+Shift) to find symbols - Go to Symbol (
Cmd+Alt+O/Ctrl+Alt+Shift+N) - Grep/search for function names
nargo LSP Limitations
Section titled “nargo LSP Limitations”Some features depend on the capabilities of nargo lsp. Limitations in nargo’s LSP affect the plugin.
Examples:
- Rename refactoring may not be available
- Some code actions may be missing
- Certain edge cases may not be handled
Solution: Update nargo to the latest version:
noirupThe Noir team continuously improves the LSP. Updating often enables new features.
Performance on Large Projects
Section titled “Performance on Large Projects”Limitation: Very large projects with many files may experience:
- Slow indexing on project open
- Delayed code completion
- High memory usage
Workarounds:
- Enable lightweight mode (Settings → Languages & Frameworks → Noir)
- Increase IDE memory (Help → Edit Custom VM Options →
-Xmx4096m) - Exclude non-essential directories from indexing
No Debugging Support
Section titled “No Debugging Support”Limitation: The plugin does not provide debugging capabilities for Noir programs.
Why: Noir compiles to zero-knowledge circuits, which don’t have a traditional debugging model with breakpoints and step-through execution.
Alternatives:
- Add
printlnstatements (in unconstrained functions) - Use
assertstatements to check conditions - Use
nargo testfor unit testing - Use the Expand Macros action to inspect generated code
Planned Improvements
Section titled “Planned Improvements”These limitations are on the roadmap for future versions:
| Feature | Status |
|---|---|
| Run test from gutter | Planned |
| Nargo.toml support | Planned |
| Code folding | Planned |
| Structure view | Planned |
| Run configurations | Under consideration |
Check the GitHub repository for the latest updates and to request features.
Reporting Issues
Section titled “Reporting Issues”If you encounter a limitation not listed here, or if a listed limitation is blocking your workflow:
- Check existing issues
- Open a new issue with:
- Description of the limitation
- Your use case
- Any workarounds you’ve tried