Ghost Note 👻
Ghost Note is a VS Code extension that lets you attach comments directly to the symbols in your codebase — without modifying the source code. Whether you're adding context to a function, tracking TODOs, or leaving reminders on a class or variable, Ghost Note enables you to annotate your code without cluttering it with inline comments. These notes remain entirely invisible to Git, ensuring your annotations are never committed to version control. Ideal for developers who want to capture ideas and track tasks without affecting the code itself and bothering their colleagues!
Table of contents
Get started
Ghost Notes are local to your workspace and not detected by version control (e.g., Git). They aren’t stored in your codebase repository, so they won’t clutter your commits. Notes are organized into groups that are tied to each workspace.
For example, if your workspace is located at C:/Dev/SomeRepo
, your Ghost Notes will be linked to that specific folder. If you move the folder or workspace, you’ll be prompted upon reopening the Ghost Note Explorer in VS Code to either create a new group or move your existing notes to the new location with a single click.
Once a group is configured, you can attach a Ghost Note to a symbol (e.g., function, class, variable) by clicking the code lens above a symbol:
or by right-clicking the symbol and selecting "Edit Ghost Note for Symbol.":
Features
Ghost Note Editor
The Ghost Note Editor can:
- Create, edit, or delete Ghost Note items for the symbol.
- Use GPT from OpenAI to automatically generate the Ghost Note item for your symbol, along with context of the symbols usage within the codebase for more accurate descriptions. Perfect for Software Engineers getting to grips with a new codebase.
- File attachments can be attached when creating or editing Ghost Note items.
In Editor Hints - Symbol Highlighting and Hover
- When a Ghost Note is attached to a symbol, it will be highlighted in the VS Code editor:
- On hover, a preview of the Ghost Note will appear:
Ghost Note Explorer
- This can be accessed via the "Ghost Note Explorer" item in the VS Code Activity Bar.
- Here you can view and search all Ghost Notes attached to symbols within your codebase. Click the Ghost Notes listed to open the Ghost Note Editor.
Dangling Ghost Note Resolver
- If a symbol with an attached Ghost Note is deleted, the Ghost Note is considered "dangling.". This means the Ghost Note is no longer associated with any symbol in the codebase. As a result, the dangling Ghost Note cannot be edited or updated until it is reattached to a valid symbol within the codebase.
- To attach a dangling Ghost Note to a symbol in the codebase, click this "Attach to Symbol" button in the Ghost Note Editor:
- In the dangling Ghost Note Resolver, you can pick a symbol within the codebase to attach the dangling Ghost Note to:
Supported Technologies
Ghost Note supports the following file types and languages:
- TypeScript (.ts)
- TypeScript React (.tsx)
- JavaScript (.js)
- JavaScript React (.jsx)
Support for a wider range of languages is planned.