
|
vscode-journal
Lightweight Extension for Visual Studio Code to take track of your daily notes.
|
What's new in 1.2
Your journal for AI assistants: the MCP server is included. GitHub Copilot, Claude Code, Codex and other assistants can read and write your journal: the morning briefing, open tasks, memos, time entries and notes, by asking in plain language ("what's open today?", "move task 3 to Monday"). The server comes with the extension and runs on VS Code's own Node.js; turn it on with journal.mcp.enabled and Journal: Set up MCP Server. Content you tag as #private never leaves it. (details)
Search the whole journal. Search journal in the smart input (Ctrl+Shift+J) and Journal: Search Journal find entries, weekly entries and notes by title and text, with typo tolerance and word beginnings, newest first; #scope narrows the search to a scope. (details)
Link and move between pages with wiki links. Write [[2026-10-20]] for a day, [[2026-w43]] for a week or [[Workshop Notes]] for a note ([[#projA Workshop Notes]] in a scope). Ctrl+click opens the page, and creates it if it does not exist yet; typing [[ suggests entries, weeks and notes, and turns [[yesterday or [[next friday into the date; the markdown preview shows them as links. Links name the day, not the file, so they keep working when you change the folder layout. (details)
Day, week and month at a glance. The first line of every page links up and sideways: a daily entry to the previous day, its week and the next day, a weekly entry to the previous week, its month and the next week, a note to the pages that link to it. The new Journal Calendar opens beside the editor and shows a month with its weeks, every day and week with its open tasks and notes; a click opens or creates the entry. Weekly entries name their days (From Sunday, October 18th to Saturday, October 24th) and link the working days right under the title. (details)
And more: task icons in Select entry, sub-tasks, entries that stay reachable when you change journal.patterns (with a command to move them to the new layout), and many fixes. See the changelog.
What is this extension about?
This extension is useful for people like me, who use simple text files for notes, task lists, and everything else which has to be remembered and searched for. Text (or Markdown) in files is easy to backup, sync and can be opened anywhere by everything. This extension has the following functions:
- Open or create a journal entries for a specific day (details and videos)
- Add detailed notes for today (details and videos)
- Search entries and notes by name or text, newest first, from any window (details)
- Paste images into entries and notes (details)
- Add a memo to today's journal page (details and videos)
- Manage your tasks (details and videos)
- Print commands and snippets to support various tasks (details and videos)
- Configure scopes to manage notes of different projects (details)
- Use code actions to work on your task lists (details)
- Navigate between journal entries with
Ctrl+J , (previous) and Ctrl+J . (next) — see Commands for keybindings and navigation mode options
- Let AI assistants (GitHub Copilot, Claude Code, Codex, …) read and write your journal through the bundled MCP server (details)
Features
Press Ctrl+Shift+J to open the journal's smart input and start typing right away. Press F1 or Ctrl+Shift+P to access one of the commands. All supported commands are described here.
The notes are stored in a folder on your desktop using the following structure (taking ZIM Desktop wiki as inspiration: year/month/day.md, the notes files for October 22th would be ../2016/10/22.md. Detailed notes (e.g. meeting notes) are placed in the subfolder ../2016/10/22/some-meeting-notes.md.
Contributing
I am always looking for feedback, new ideas and your help. Check the contribution guidelines
Suggested extensions
vscode-journal is mainly responsible for organizing your notes and journal entries, it does not come with any user interface (besides the smart input). If you prefer tree like views for your notes and tasks, have a look at the following extensions by Gruntfuggly and Kortina
Settings
Settings are described in detail here
You have to set the base folder for notes folder structure before you start. Open your settings, search for 'journal' and copy the journal.base line into your personal settings. Adjust the value, for example: "journal.base": "C:/Users/FooBar/Documents/Journal" (use forward slash!)
The default file format is Markdown (using md as extension), which is natively supported by Visual Studio Code. I use Asciidoc for my notes (with .adoc as extension), in this case you should also install an Asciidoc Syntax extension.
Tasks, memos and #scopes are colored by your color theme: open boxes like keywords, done and moved tasks like comments, bullets like other list bullets. This works in light, dark and high contrast themes and follows theme switches. See Settings to choose your own colors.
Demo
