Sublime Text plugin that automatically supports your working memory.
- Total 67
- Win 27
- OS X 26
- Linux 14
|Mar 26||Mar 25||Mar 24||Mar 23||Mar 22||Mar 21||Mar 20||Mar 19||Mar 18||Mar 17||Mar 16||Mar 15||Mar 14||Mar 13||Mar 12||Mar 11||Mar 10||Mar 9||Mar 8||Mar 7||Mar 6||Mar 5||Mar 4||Mar 3||Mar 2||Mar 1||Feb 28||Feb 27||Feb 26||Feb 25||Feb 24||Feb 23||Feb 22||Feb 21||Feb 20||Feb 19||Feb 18||Feb 17||Feb 16||Feb 15||Feb 14||Feb 13||Feb 12||Feb 11||Feb 10|
Cognitive science research shows that humans can only store a few things in our working memory at once. So what happens when programmers do tasks that are too big to fit in our working memory? You're debugging the frobnitz, and midway through you realize that the simplest fix involves refactoring the widget, which in turn requires reworking the widget factory. By the time you're back at the frobnitz, the frobnitz-related info that was in your working memory has been replaced. You waste time recovering that lost context, and you may introduce bugs if you misremember what's been done or forget something that needs to be done.
FlowTree is a Sublime Text 3 plugin designed to help with this problem. By automatically building a diagram of the files you open and why you open them, it can help you make complicated code changes faster and more reliably.
To install via Package Control, run the 'Package Control: Install Package' command and choose the FlowTree package. (If you aren't able to find it, maybe try updating Sublime Text to the latest version.)
To install manually, e.g. if you want to do development, clone the repository into the Packages directory in your Sublime Text 3 settings folder.
Open a file from a codebase you're working on and run the 'FlowTree: Show FlowTree' command. You should get a new buffer titled Your FlowTree that tracks your editing workflow.
In this example, the user is fixing a frobnitz-related bug that requires making changes to the frobnitz model, the frobnitz view, and the frobnitz controller. Because frobnitz.py was the file that was open immediately before each of frobnitz_controller.py, frobnitz_model.py, and frobnitz_view.py were opened, they are each displayed as children of frobnitz.py. Midway through fixing frobnitz_model.py, the user realizes that widget needs a refactor and searches the repository for the string “widget”. Partway through editing widget.py, they open widget_factory.py to make some changes there. At each stage, it's possible to see where the user is in the task as a whole and what still needs to be done.
As buffers get closed, the empty box ☐ turns into a checked box to indicate completion of that part of the task. In the above screenshot, the user finished making modifications to frobnitz_controller.py and closed the file, causing its box to become checked. When the very first buffer which was opened gets closed, the entire FlowTree diagram disappears to get ready for the next task.
To provide further reminders about where you are in your editing workflow, if you leave text selected in a buffer before opening a new buffer, the text you left selected gets displayed alongside the old buffer in the FlowTree diagram. This can be used to leave hints for yourself about what you were doing.
I made this for a hackathon and there might be bugs. Please report issues here.
John Maxwell - maxwelljohn