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

IntentPin

Preview

Guilherme Rebello

|
1 install
| (0) | Free
Turn code selections into precise AI change requests without adding files to your repository.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IntentPin

IntentPin icon

Turn code selections into precise AI change requests.

Português (Brasil)

IntentPin lets you attach editable notes to code selections, review them in one place, and copy a compact change request for any AI coding assistant.

It is local, provider-agnostic, and does not add metadata files to your repository.

Demo

IntentPin workflow: select code, add notes, review them, and copy an AI-ready change request

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.
  • Keyboard-first workflow that works well with VSCodeVim.
  • Internal workspace storage with no repository files to ignore or commit.
  • Best-effort relocation when edited code moves to another line.

Export format

Change the indicated sections. Adjust related code only when necessary.

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 through settings. Absolute paths are useful when the receiving AI is running outside the current workspace; relative paths are more portable and shorter.

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 a modal confirmation.

IntentPin uses VS Code's native inline Comments UI, but prevents the built-in Comments view from opening automatically.

VSCodeVim

The default keyboard flow requires no mouse: select code, press Ctrl+Alt+N, write the note, then press Ctrl+Enter.

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

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

Settings

Open Settings > Extensions > IntentPin.

Setting Default Description
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

Search for IntentPin in the VS Code Extensions view after the first Marketplace release.

For 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

Development

pnpm install
pnpm run check
pnpm test

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

Roadmap

  • Neovim plugin with the same workflow and export format.
  • Full support for multi-root workspaces.
  • Stronger relocation using the saved surrounding context.
  • Filtering notes by file and state.

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
© 2026 Microsoft