Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>IntentPinNew to Visual Studio Code? Get it now.
IntentPin

IntentPin

Guilherme Rebello

|
7 installs
| (1) | Free
Turn annotated code selections into change requests for any AI coding assistant.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IntentPin

IntentPin icon

Pin your intent to the code.

Português (Brasil)

Select code, add a note, and copy everything as a change request for any AI coding assistant. IntentPin works with any language or framework because it simply turns notes anchored to your code into plain text.

Demo

IntentPin workflow: select a code snippet, add and review notes, and copy them for an AI assistant

Watch the MP4 version

Why IntentPin?

Copying isolated snippets into an AI chat loses intent. Sending an entire repository creates noise. IntentPin keeps the useful middle ground: the exact code you selected, its location, and the change you want.

Use it with Claude Code, Codex, GitHub Copilot, ChatGPT, Cursor, or any tool that accepts text.

How it works

  1. Select a line or block of code.
  2. Press Ctrl+Alt+N (Cmd+Alt+N on macOS).
  3. Describe the change and submit with Ctrl+Enter (Cmd+Enter on macOS).
  4. Review, edit, check, and copy notes from the IntentPin sidebar.
  5. Paste the generated change request into your AI assistant.

Features

  • Native inline comments attached to code selections.
  • A sidebar grouped by file, with multi-select and checkboxes.
  • Edit, navigate, copy, or delete individual notes.
  • Copy checked notes with relative or absolute paths.
  • Copy every note when you need the complete review.
  • Compact output designed to be clear without wasting tokens.
  • Configurable instructions in English, Portuguese, Spanish, or custom text.
  • Internal workspace storage with no repository files to ignore or commit.
  • Best-effort relocation when edited code moves to another line.

Export format

Make the indicated changes and answer any questions. Change code only when necessary to fulfill a requested change.

src/auth/login.ts:14-15
| const session = await getSession(token)
| return session ?? null
> Return a specific error when the token is expired.

Each block contains:

  • file:start-end for the source location.
  • | for selected code.
  • > for your requested change.

Selected code can be omitted in the extension settings. Absolute paths are useful when the AI is running outside the workspace; relative paths are shorter and useful when it is running in the same repository where you use IntentPin.

Managing notes

Open the IntentPin icon in the Activity Bar to see notes grouped by file.

  • Checkboxes control which notes are included by the checked-copy actions.
  • The copy menu offers checked notes with relative paths, checked notes with absolute paths, or every note.
  • Item actions let you edit, delete, or copy only the current selection.
  • The trash button clears all notes after confirmation.
  • Saved notes fold automatically. The sidebar toolbar has separate toggles for its file groups and for the inline notes in the active editor. The intentPin.foldAll and intentPin.unfoldAll commands remain available for custom keybindings.

IntentPin uses VS Code's native inline Comments UI.

VSCodeVim

IntentPin assigns Ctrl+Alt+N to create a note from the current selection and Ctrl+Enter to submit its inline comment.

To trigger IntentPin with <leader>n in Visual mode, add this to your VS Code settings:

"vim.visualModeKeyBindingsNonRecursive": [
  {
    "before": ["<leader>", "n"],
    "commands": ["intentPin.add"]
  }
]

Like the idea and already use Neovim? Check out IntentPin.nvim.

Settings

Open Settings > Extensions > IntentPin.

Setting Default Description
intentPin.editor.foldAfterSave true Fold inline notes automatically after saving; disable it to leave them expanded.
intentPin.export.includeSelectedText true Include selected code in copied output.
intentPin.export.instructionLanguage en Choose English, Portuguese, Spanish, or a custom instruction.
intentPin.export.customInstruction Empty Set the instruction used by the Custom language option.

Privacy and storage

IntentPin does not send code anywhere and has no AI provider integration. It only writes exported text to your clipboard when you request it.

Notes are stored in VS Code's internal workspaceState. They are intentionally local and ephemeral, and no IntentPin file is created inside your repository.

Installation

Install IntentPin from the Visual Studio Marketplace, or search for IntentPin in the VS Code Extensions view.

Local development

pnpm install
pnpm run compile

Open the project in VS Code and press F5 to launch an Extension Development Host.

To build an installable VSIX:

pnpm run package

To run the project checks:

pnpm run check
pnpm test

Contributions are welcome. See CONTRIBUTING.md before opening a pull request.

Roadmap

  • Stronger relocation using the saved surrounding context.
  • Filtering notes by file and state.
  • Persistent note history, like a local PR or MR workflow, so you can follow each comment and its corresponding change over time.
  • Note types for different prompts, such as questions and change requests, each with its own shortcut.

License and brand

The source code is available under the Apache License 2.0. You may use, modify, and redistribute it under that license.

The IntentPin name and visual identity are not granted by the software license. Forks must use distinct branding and must not imply that they are official IntentPin releases. See TRADEMARKS.md.

Support

Use GitHub Issues for bug reports and feature requests. See SUPPORT.md for the information that makes a report actionable.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft