DartBoard is a cross-platform code visualization tool. It has most of the benefits of the modern IDEs, but you don't need to install it!
This is how it works:
- DartBoard takes your Dart/Flutter codebase.
- And generates a static web-site,
- That you can then just send to your supervisor doesn't have Dart env installed on their computer.
- Class is null in tooltip across files
- Class annotation docs should show on top of class desc (/// ~~~~~~~ fields, ...)
- Generate HTML files from source code in Dart
- Highlight syntax in the generated HTML
- Jump to declaration for a variable
- Jump to declaration for a function
- Show documentation on cursor hover (on
var/function/classusage hover) - Jump to declaration for a class
- Show class specification/fields on hover
- Collapse block scopes
- Side-bar to switch between tabs with source files
- Project tree
- Upload the source files of the input project
- Modular scoping
- Show List of usages of a decl and jump
- Build archive for export
- Search by regex expression
- Line numbers
- Upload zip project
- Upload via github repo
- Show Static analysis results on 'dart analyze'
- Gray out vars and functions that are not used
- Gray out parts of code that are inaccessible
- dart run dart_code_metrics:metrics analyze lib
- Theming
- Open generated HTML automatically for MacOS
- Open generated HTML automatically for Windows
- Open generated HTML automatically for Linux
- Add support for external plugins
- Make my own plugins
- Highlight the second parenthesis/bracket
- Scrollable minified code tab to the right of the screen (like in Sublime)
- Check code for errors
- Check linting errors
- Suggest linting fixes
- Flutter screen and widget graphical hierarchy
- Visualize dependency graph
- Visualize inheritance tree
- Pipelines.
- Rename var/function (refactor)
- Replace by regex expression (?) Use-case 1: automatically send the generated HTML to the code reviewer. Use-case 2: automatically host the result on Heroku or other hosting provider and share the link.
- Github Action. Use-case: automate generating the HTML alongside the documentation pipelines, linters, testers, builders, etc.
- Integration with pub.dev (make it a pub.dev package)
- Project tree as an actual tree & Project tree folder collapsing
- HTML should have no external dependencies.
- HTML should run on the last three major versions of Chrome, Edge, Firefox, Opera, Safari.
- HTML should run on MacOS, Windows, and Linux.
- DartBoard should have all the functionality of modern IDEs.
- DartBoard should have the look of a modern IDE design-wise.
- DartBoard should be able to deal with programs that contain a syntax error.
- DartBoard should be available as a cli tool.