Work Pin
Work Pin is a lightweight Visual Studio Code extension for marking unfinished work directly inside your source code.
Create a pin at the current cursor position, give it a title and description, and return to it later from a searchable project-wide list.
Features
- Create a Work Pin at the current cursor position
- Add a title and optional description
- Insert a language-aware comment into the source file
- Attach every pin to a unique identifier
- View all saved pins in a searchable Quick Pick window
- Open the correct file and navigate directly to the pin
- Continue finding a pin even when code is added above it
- Edit a pin title and description
- Update the source-code comment when the title changes
- Delete both the stored pin and its source-code comment
- Store pins separately for each VS Code workspace
- No database, account, or external service required
Example
Place the cursor on a line and create a pin titled:
Add ticket validation
Work Pin inserts a comment above the selected line:
// WORK-PIN(8c9ef964-9d9a-44d4-917f-c2ea504ac333): Add ticket validation
const ticket = await ticketRepository.create(data)
The unique identifier allows Work Pin to locate the comment even when additional code changes its original line number.
Commands and keyboard shortcuts
| Operation |
Windows/Linux |
macOS |
Command Palette |
| Add a pin |
Ctrl+Alt+P |
Cmd+Alt+P |
Work Pin: Add Pin |
| Show all pins |
Ctrl+Alt+Shift+P |
Cmd+Alt+Shift+P |
Work Pin: Show Pins |
Keyboard shortcuts can be changed from the VS Code Keyboard Shortcuts editor.
How to use
Create a pin
- Open a source file.
- Place the cursor on the line where unfinished work should be marked.
- Press
Ctrl+Alt+P on Windows/Linux or Cmd+Alt+P on macOS.
- Enter a pin title.
- Enter an optional description.
- Work Pin inserts a comment above the selected line and saves the pin.
View and open pins
- Press
Ctrl+Alt+Shift+P on Windows/Linux or Cmd+Alt+Shift+P on macOS.
- Search for a pin by its title, file, or description.
- Select a pin.
- Work Pin opens the associated file and reveals the marker.
Edit a pin
- Open the Work Pins list.
- Select the edit button beside a pin.
- Change the title or description.
- The stored information and source-code comment are updated.
Delete a pin
- Open the Work Pins list.
- Select the delete button beside a pin.
- Confirm the deletion.
- The saved pin and its source-code comment are removed.
Supported languages
Work Pin currently generates comments for:
- JavaScript
- TypeScript
- JavaScript React
- TypeScript React
- C#
- Java
- C
- C++
- Go
- Rust
- Dart
- Kotlin
- Swift
- Python
- Shell Script
- Ruby
- PowerShell
- SQL
- HTML
- Markdown
- CSS
- SCSS
- Less
JSX and TSX note
JSX-style comments are valid inside JSX markup. Creating a pin in other parts of a JSX or TSX file may require moving the generated comment to a syntactically valid location.
JSON note
Standard JSON does not support comments, so Work Pin does not create markers inside JSON files.
Storage and privacy
Work Pin stores pin metadata locally using VS Code workspace storage.
- Pins are associated with the current workspace.
- No account is required.
- No source code or pin information is uploaded.
- Pins are not automatically shared with other developers.
- Pins are not committed to Git.
Known limitations
- Renaming or moving a pinned file may prevent Work Pin from opening it.
- Deleting a marker comment manually makes the related pin unavailable for navigation.
- Pins created by older development versions without unique IDs may need to be deleted and recreated.
- Pins are stored locally and are not synchronized between devices.
- The displayed saved line number may become outdated after code is inserted above a marker, although navigation still finds the marker by its unique ID.
- JSX and TSX comment placement depends on the current code context.
Installation from a VSIX file
- Download the
.vsix file.
- Open the Extensions view in VS Code.
- Select the three-dot menu.
- Select Install from VSIX...
- Choose the downloaded file.
You can also install it from a terminal:
code --install-extension work-pin-0.1.0.vsix
Development
Requirements
- Node.js
- npm
- Visual Studio Code
Run locally
npm install
Open the extension project in VS Code and press F5.
A new Extension Development Host window will open for testing.
Package locally
Install the VS Code Extension Manager:
npm install -g @vscode/vsce
Create a VSIX package:
vsce package
Feedback and issues
Bug reports and feature requests are welcome.
Repository:
https://github.com/ifti-77/work-pin-vscode-extension
Issue tracker:
https://github.com/ifti-77/work-pin-vscode-extension/issues
License
This project is licensed under the MIT License. See the LICENSE file for details.