An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          





Shows the banner of TODO NUKEM, with its logo

# TODO NUKEM

[![The MIT License](https://img.shields.io/badge/license-MIT-orange.svg?style=flat-square)](http://opensource.org/licenses/MIT)
[![GitHub Marketplace](https://img.shields.io/badge/Marketplace-TODO%20NUKEM-blue.svg?colorA=24292e&colorB=0366d6&style=flat&longCache=true&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAM6wAADOsB5dZE0gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAERSURBVCiRhZG/SsMxFEZPfsVJ61jbxaF0cRQRcRJ9hlYn30IHN/+9iquDCOIsblIrOjqKgy5aKoJQj4O3EEtbPwhJbr6Te28CmdSKeqzeqr0YbfVIrTBKakvtOl5dtTkK+v4HfA9PEyBFCY9AGVgCBLaBp1jPAyfAJ/AAdIEG0dNAiyP7+K1qIfMdonZic6+WJoBJvQlvuwDqcXadUuqPA1NKAlexbRTAIMvMOCjTbMwl1LtI/6KWJ5Q6rT6Ht1MA58AX8Apcqqt5r2qhrgAXQC3CZ6i1+KMd9TRu3MvA3aH/fFPnBodb6oe6HM8+lYHrGdRXW8M9bMZtPXUji69lmf5Cmamq7quNLFZXD9Rq7v0Bpc1o/tp0fisAAAAASUVORK5CYII=)](https://marketplace.visualstudio.com/items?itemName=jolution.todo-nukem-vscode)

[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#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:

[![eslint-plugin-todo-nukem](https://img.shields.io/npm/v/eslint-plugin-todo-nukem?label=eslint-plugin-todo-nukem&logo=eslint)](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).

[![Star this repository](https://img.shields.io/github/stars/jolution/todo-nukem-snippet-vscode?style=social)](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
Jochen Simon

๐ŸŽจ
Julian Kasimir
Julian Kasimir

๐Ÿค” ๐Ÿ’ป

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