https://github.com/bmpi-dev/vscode-todo-plus-plus
https://github.com/bmpi-dev/vscode-todo-plus-plus
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bmpi-dev/vscode-todo-plus-plus
- Owner: bmpi-dev
- License: mit
- Created: 2019-12-07T10:25:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-15T16:10:00.000Z (over 6 years ago)
- Last Synced: 2025-04-15T18:44:40.880Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://www.bmpi.dev/zh-cn/dev/vscode-plugin-development-notes/
- Size: 3.92 MB
- Stars: 15
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Todo+
## !!!UPDATE!!!
This is a copy from [fabiospampinato/vscode-todo-plus](https://github.com/fabiospampinato/vscode-todo-plus), I modify it for myself use. Below is my change:
1. Add DOING window in treeview. This helps me focus on what I'm doing.
2. Add CRITICAL window in treeview. This helps remind me of things that are important but haven't started.
---
Manage todo lists with ease. Powerful, easy to use and customizable. [View the demo](#demo).
## Features
- **Easy to use**: you're just a few shortcuts away from becoming a master
- **Portable**: being a plain text format you can read and edit it using any editor
- **Custom symbols**: you can replace the default symbols with any of the supported ones
- **Box**: `-` `❍` `❑` `■` `⬜` `□` `☐` `▪` `▫` `–` `—` `≡` `→` `›` `[]` `[ ]`
- **Done**: `✔` `✓` `☑` `+` `[x]` `[X]` `[+]`
- **Cancelled**: `✘` `x` `X` `[-]`
- **Custom colors**: all colors can be customized
- **Custom special tags**: special tags' names and their colors can be customized
- **Archive**: you can move finished todos to a special "Archive" section with a shortcut
- **Formatting**: you can format text in a markdown-like fashion, we support: **bold**, _italic_, ~~strikethrough~~ and `code`
- **Go To Symbol**: you can easily move between projects by using the `Go to Symbol in File...` command
- **[TaskPaper](https://www.taskpaper.com) compatible**: just set `todo.symbols.box`, `todo.symbols.done` and `todo.symbols.cancelled` to `-`
- **Timekeeping**: you can mark todos as started and track elapsed time until completion
- **Timer**: a timer can be displayed in the statusbar for started todos
- **Time estimates**: you can estimate the time it will take to complete a todo by adding a tag to it that looks like this: `@est(3 hours)`, `@est(2h30m)` or `@2h30m`. Then you can use the `[est]` token in statistics
- **Statistics**: statistics about your entire file and/or project-level statistics about your individual projects
- **Embedded todos**: it's common to have `//TODO` or `//FIXME` comments in our code, this extension can find those as well
- **Activity bar views**: you can view your todo file and your embedded todos from a custom activity bar section
## Install
Follow the instructions in the [Marketplace](https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-todo-plus), or run the following in the command palette:
```shell
ext install fabiospampinato.vscode-todo-plus
```
## Usage
It adds 11 commands to the command palette:
```js
'Todo: Open' // Open or create your project's todo file
'Todo: Open Embedded' // Open embedded todos
'Todo: Toggle Box' // Toggle todo's box symbol
'Todo: Toggle Done' // Toggle todo's done symbol
'Todo: Toggle Cancelled' // Toggle todo's cancelled symbol
'Todo: Toggle Start' // Toggle a todo as started
'Todo: Toggle Timer' // Toggle the timer
'Todo: Archive' // Archive finished todos
'Todo: Embedded View - Filter' // Filter the embedded todos view
'Todo: Embedded View - Clear Filter' // Clear the filter in the embedded todos view
'Todo: Embedded View - Toggle View All Files' // Toggle between viewing all files or only the current one
```
It adds 6 shortcuts when editing a `Todo` file:
```js
'Cmd/Ctrl+Enter' // Triggers `Todo: Toggle Box`
'Alt+Enter' // Triggers `Todo: Toggle Box`
'Alt+D' // Triggers `Todo: Toggle Done`
'Alt+C' // Triggers `Todo: Toggle Cancelled`
'Alt+S' // Triggers `Todo: Toggle Start`
'Cmd/Ctrl+Shift+A' // Triggers `Todo: Archive`
```
## Settings
```js
{
"todo.file.name": "TODO", // Todo file name. Other supported names are: `*.todo`, `*.todos`, `*.task`, `*.tasks`, `*.taskpaper` and `todolist.txt`
"todo.file.defaultContent": "\nTodo:\n ☐ Item\n", // New todo files default content
"todo.file.include": ["**/TODO", ...], // Globs to use for including files
"todo.file.exclude": ["**/.!(todo|todos|task|tasks)/**", ...], // Globs to use for excluding files
"todo.file.view.expanded": true, // Start the tree in an expanded state
"todo.indentation": " ", // String used for indentation
"todo.symbols.box": "☐", // Box symbol
"todo.symbols.done": "✔", // Done symbol
"todo.symbols.cancelled": "✘", // Cancelled symbol
"todo.colors.done": "#a6e22e", // Done todo color
"todo.colors.cancelled": "#f92672", // Cancelled todo color
"todo.colors.code": "#fd971f", // Code color
"todo.colors.comment": "#75715e", // Comment color
"todo.colors.project": "#66d9ef", // Project color
"todo.colors.projectStatistics": "#4694a3", // Project statistics color
"todo.colors.tag": "#e6db74", // Tag color
"todo.colors.tags.background": ["#e54545", "#e59f45", "#e5d145", "#ae81ff"], // Special tags' background colors
"todo.colors.tags.foreground": ["#000000", "#000000", "#000000", "#000000"], // Special tags' foreground colors
"todo.colors.types": { "TODO": "#ffcc00", "FIXME": "#cc0000" ... }, // Object mapping todo types to their color
"todo.colors.dark": { /* "done": "white", ... */ }, // Colors for dark themes
"todo.colors.light": { /* "done": "black", ... */ }, // Colors for light themes
"todo.tags.names": ["critical", "high", "low", "today"], // Special tags' names
"todo.tags.namesInference": true, // Infer commonly used tags' names
"todo.archive.name": "Archive", // Name of the special "Archive" section
"todo.archive.remove.emptyProjects": true, // Remove projects without todos
"todo.archive.remove.emptyLines": 1, // Remove extra empty lines, keeping no more than `emptyLinesThreshold` consecutive empty lines
"todo.archive.project.enabled": true, // Enable the @project tag
"todo.archive.project.separator": ".", // String used for joining multiple projects
"todo.archive.sortByDate": false, // Sort lines by finished date
"todo.formatting.enabled": true, // Enable markdown-like formatting
"todo.timekeeping.created.enabled": false, // Enable the @created tag
"todo.timekeeping.created.time": true, // Insert the time inside the @created tag
"todo.timekeeping.created.format": "YY-MM-DD HH:mm", // Format used for displaying time inside @created
"todo.timekeeping.started.time": true, // Insert the time inside the @started tag
"todo.timekeeping.started.format": "YY-MM-DD HH:mm", // Format used for displaying time inside @started
"todo.timekeeping.finished.enabled": true, // Enable the @done/cancelled tag. It's always enabled if you explicitly start a todo or if you use only 1 symbol
"todo.timekeeping.finished.time": true, // Insert the time inside the @done/cancelled tag
"todo.timekeeping.finished.format": "YY-MM-DD HH:mm", // Format used for displaying time inside @done/cancelled
"todo.timekeeping.elapsed.enabled": true, // Enable the @lasted/wasted tag
"todo.timekeeping.elapsed.format": "short-compact", // Format used for displaying time diff inside @lasted/waster
"todo.timekeeping.estimate.format": "short-compact", // Format used for the `[est]` token
"todo.timer.statusbar.enabled": true, // Show a timer for started todos in the statusbar
"todo.timer.statusbar.alignment": "left", // Should the item be placed to the left or right?
"todo.timer.statusbar.color": "", // The foreground color for this item
"todo.timer.statusbar.priority": -10, // The priority of this item. Higher value means the item should be shown more to the left
"todo.statistics.project.enabled": "global.projects < 100", // Show statistics next to a project, boolean or JS expression
"todo.statistics.project.text": "([pending]) [est]", // Template used for rendering the text
"todo.statistics.statusbar.enabled": "global.projects < 100 && project.all > 0", // Show statistics in the statusbar, boolean or JS expression
"todo.statistics.statusbar.ignoreArchive": true, // Ignore the archive when rendering statistics in the statusbar
"todo.statistics.statusbar.alignment": "left", // Should the item be placed to the left or right?
"todo.statistics.statusbar.color": "", // The foreground color for this item
"todo.statistics.statusbar.command": "", // Command to execute on click
"todo.statistics.statusbar.priority": -1, // The priority of this item. Higher value means the item should be shown more to the left
"todo.statistics.statusbar.text": "$(check) [finished]/[all] ([percentage]%)", // Template used for rendering the text
"todo.statistics.statusbar.tooltip": "[pending] Pending - [done] Done - [cancelled] Cancelled", // Template used for rendering the tooltip
"todo.embedded.regex": "(?:| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|| *\*/|(?= *(?:[^:]//|/\*+|