https://github.com/jolution/todo-nukem-vscode
Vscode Generator Extension for TODO NUKEM
https://github.com/jolution/todo-nukem-vscode
Last synced: 13 days ago
JSON representation
Vscode Generator Extension for TODO NUKEM
- Host: GitHub
- URL: https://github.com/jolution/todo-nukem-vscode
- Owner: jolution
- License: mit
- Created: 2024-04-10T12:18:51.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-02T12:39:21.000Z (about 2 months ago)
- Last Synced: 2025-12-04T10:37:39.884Z (about 2 months ago)
- Language: TypeScript
- Homepage:
- Size: 688 KB
- Stars: 21
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# TODO NUKEM
[](http://opensource.org/licenses/MIT)
[](https://marketplace.visualstudio.com/items?itemName=jolution.todo-nukem-vscode)
[](#contributors-)
**Working Draft**
A VSCode extension for creating and managing structured TODO comments with emojis following the [TODO NUKEM Convention](https://github.com/jolution/todo-nukem/blob/main/README.md). Features **interactive comment generation**, **TODO overview with filtering**, and **quick snippets** for maximum productivity.
## ๐ฐ Installation
Install this extension from the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=jolution.todo-nukem-vscode)
## ๐ Usage
This extension offers **two ways** to create TODO NUKEM comments:
### 1. ๐ฏ Interactive Command (Recommended)
Open the Command Palette (`Cmd+Shift+P` or `Ctrl+Shift+P`) and search for:
```
TODO NUKEM Comment
```
Follow the guided prompts:
1. **Priority**: ๐ฉ Low / ๐ถ Medium / ๐ด High
2. **Type**: โจ Feature / ๐ Fix
3. **Context**: ๐จ Design / ๐ Doc / ๐งช Test / โก Perf / etc.
4. **Message**: Your TODO description
5. **Meta Blocks** (optional): ๐ฌ TBD / ๐ฏ Scope / ๐ซ Ticket / ๐
Until / etc.
**Example in source code:**
```typescript
// TODO: [high] [feature] [design] Refactor button component [ticket: JIRA-123] [until: 2025-12-31]
```
**Visual display (with decorations):**
The extension decorates the keys with emojis in the editor:
```text
// TODO: ๐ด โจ ๐จ Refactor button component ๐ซ JIRA-123 ๐
2025-12-31
```
> **Note:** You can customize the display mode in `todonukem.json` (emoji, text, or emoji-text combination). Alternatively, click the **eye icon (๐๏ธ)** in the status bar to quickly toggle between display modes.
### 2. โก Quick Snippets
In supported languages, type `todo` or `fixme` and press `Tab` to activate snippet templates:
```todo โฅ```
```fixme โฅ```
This provides pre-defined templates for quick TODO insertion.
## โจ Supported Languages
_Defined in the ```package.json``` file, the following languages are supported with either line or block comments:_
### Line Comment
```TypeScript, JavaScript```
### Block Comment
```CSS, PostCSS, SCSS, Less, HTML, Python, Java, C#, C++, Ruby, Swift, PHP, Go, Rust, Dart, Perl, Lua, Shell Script```
For example, CSS uses block comments like ```/* ... */```.
And TypeScript could use line comments like ```// ...```.
**If a language you need is missing, feel free to open a PR and contribute!**
## โFAQ
How can I enable snippet suggestions in comments in VSCode?
By default, snippet suggestions are not active in comments in VSCode. If you want to enable this feature, you need to adjust your settings.
In User Settings search for `quickSuggestions` and enable the following options:
```json
"editor.quickSuggestions": {
"comments": true,
"strings": true
}
```
The green emoji (๐ฉ) doesn't display on older Windows 10 versions
Older Windows 10 versions don't support the green square emoji (๐ฉ). To fix this, create a todonukem.json file in your workspace root with the following content:
```json
{
"emojis": {
"priority": {
"low": "๐ต"
}
}
}
```
This replaces the green square with a blue circle (๐ต).
After creating the file, press `Ctrl+Shift+P` (or `Cmd+Shift+P` on Mac), type `reload`, and select **"Developer: Reload Window"** to apply the changes.
How can I customize the display mode?
You can customize how TODOs are displayed by creating a todonukem.json file in your workspace root:
**Emoji only (default):**
```json
{
"displayMode": "emoji"
}
```
Displays: `๐ด โจ ๐จ`
**Text only:**
```json
{
"displayMode": "text"
}
```
Displays: `High Feature Design`
**Emoji-text combination:**
```json
{
"displayMode": "emoji-text"
}
```
Displays: `๐ด-high โจ-feature ๐จ-design`
After creating or modifying the file, reload the window with `Ctrl+Shift+P` โ `reload` โ **"Developer: Reload Window"**.
How can I configure ticket links?
You can make ticket references clickable by configuring a ticketBaseUrl in your todonukem.json file:
```json
{
"ticketBaseUrl": "https://jira.example.com/browse"
}
```
Now when you use `[ticket: JIRA-123]` in your TODO comments, the ticket ID becomes a clickable link that opens in your browser:
```typescript
// TODO: [high] [feature] Fix login bug [ticket: JIRA-123]
```
Clicking on `JIRA-123` will open `https://jira.example.com/browse/JIRA-123`.
After creating or modifying the file, reload the window with `Ctrl+Shift+P` โ `reload` โ **"Developer: Reload Window"**.
For more questions and answers, please visit our [Q&A Discussions](https://github.com/jolution/todo-nukem/discussions/categories/q-a).
## ๐ Related Tools
### ESLint Plugin
For best results, combine this extension with the **TODO NUKEM ESLint plugin** to enforce the convention in your codebase:
[](https://github.com/jolution/eslint-plugin-todo-nukem)
The ESLint plugin validates that your TODO comments follow the TODO NUKEM Convention and can auto-fix formatting issues.
```bash
npm install --save-dev @jolution/eslint-plugin-todo-nukem
```
**Learn more:**
[GitHub Repository](https://github.com/jolution/eslint-plugin-todo-nukem)
[npm Package](https://www.npmjs.com/package/@jolution/eslint-plugin-todo-nukem)
## โค๏ธ Support
If you find this project helpful, please consider giving it the Convention Repo a star on [GitHub](https://github.com/jolution/todo-nukem).
[](https://github.com/jolution/todo-nukem)
We do not currently offer direct support for this project.
## ๐ Sponsor
### Atos
We appreciate the support from [Atos](https://atos.net), helping us continue our open source work.
### โ๏ธ Authors (in alphabetical order)
- [@juliankasimir](https://www.github.com/juliankasimir)
- [@pimmok](https://www.github.com/pimmok)
## โ๏ธ License
See the [LICENSE](LICENSE) file for details.
## โน๏ธ Disclaimer
Please note that this project, TODO NUKEM, is not officially associated with or endorsed by the Duke Nukem franchise or its creators. It is an independent project developed by the open-source community and does not claim any rights to the Duke Nukem trademark or any related materials.
## โจ Contributors
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Jochen Simon
๐จ

Julian Kasimir
๐ค ๐ป
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!