🧠 Focus To-do List — Stay Organized While Navigating Complex CodebasesFocus To-do List is a Visual Studio 2022 extension designed to help developers stay focused and organized when working with large and complex codebases. 🚀 Why Focus To-do List?When maintaining or extending a large solution, it's easy to lose track of where you are, what you've already analyzed, and what still needs attention. Like many developers, I used to leave temporary comments in the code or add UI text just to confirm I was in the right place. But sometimes, I forgot to remove those changes—and they made it to production. 😬 Focus To-do List was born out of that frustration. It gives you a structured way to track your thoughts, tasks, and code references—without cluttering your codebase. ✅ Requirements
✨ Features
🛠 Installation
▶️ Usage🪟 Opening the Extension for the First TimeWhen opening the extension for the first time, it will appear docked as a tab next to the Solution Explorer.
📝 Creating a New ListBy default, a list named "Main_ToDoList" is automatically created for each solution. You can also create additional lists by clicking the "New List" button and assigning them a title.
📂 Selecting an Existing ListUse the dropdown menu to select from all the lists created for the current solution. The extension remembers the last selected list for each solution, so you can quickly resume where you left off.
➕ Adding a New ItemClick the '+' button to add a new item to the selected list. Use the checkbox labeled "Is to-do item" to specify whether the new item is a To-do or a Note.
✏️ Editing an ItemTo edit an existing item, simply select it from the list. Its details will appear in the To-do Editor—the same section used to create new items. Here, you can modify all aspects of the item, including:
To save your changes, click the pencil icon button.
🔗 Linking an Item to a Line of CodeRight-click an item and choose "Link to Code" to associate it with a specific line in your source file. Double-clicking the item will navigate you back to that line. Since code can change over time and line numbers may shift, the extension also stores an anchor consisting of the content of the linked line and the nearest non-empty line above it. When you double-click an item, the extension first checks if the content at the original line number still matches the saved anchor. If it doesn't, it scans the file from top to bottom looking for the anchor lines.
This mechanism helps maintain reliable navigation even as the code evolves.
🗂️ Grouping Items by CategoryTo keep your lists organized, each item can be assigned to a category. The extension provides 'Category' an editable dropdown, allowing you to either select an existing category or create a new one on the fly. When a new list is created, the default category is "General". Once categories are assigned, items are automatically grouped by category within the list view, making it easier to focus on related tasks.
⏱️ Monitoring BreakpointsWhen a breakpoint is hit during debugging, the extension can automatically select the related item in the list. To enable this feature, use the option "Set a breakpoint on the linked line" when linking an item to code. This option adds a special tag to the breakpoint, allowing the extension to identify and highlight the corresponding item when the breakpoint is triggered. If the tag is not present, the extension will not be able to associate the breakpoint with any item.
🎨 Customizing Item ColorsTo personalize your items, click the paintbrush icon in the editor to open the color picker. The picker includes a default palette of basic colors, but you can also add custom colors: Enter a hexadecimal color code (e.g., #0969BA) in the input field. Click OK to add it to the list. Custom colors are saved in a file named You can also manually edit the
⚙️ Configuration OptionsFocus To-do List offers several customization options accessible via Tools > Options > Focus To-do List in Visual Studio. 📁 Storage LocationBy default, all to-do lists are stored as JSON files in the following folder:
You can change this folder from the extension's settings. Note that changing the storage location requires restarting Visual Studio for the changes to take effect. ##📝 Logging You can enable or disable internal logging to help with debugging or tracking extension behavior. 🔍 Breakpoint MonitoringToggle the Breakpoint Monitoring feature on or off. When enabled, the extension will automatically highlight the related item when a linked breakpoint is hit during debugging.
PrivacyFocus To‑do List stores data locally in your environment. It does not transmit your code or items to external services. 📄 LicenseThis project is licensed under the MIT License. |









