Ticket Link VS Code Extension
Ticket Link makes tracker references in your codebase instantly actionable. Configure one or more ticket identifier patterns (Jira, Linear, etc.) and the extension turns any matching text into a hoverable link that opens the corresponding item in your browser.
Features
- Detects custom ticket ID patterns anywhere in your workspace
- Provides hover tooltips with one-click links to Jira, Linear, and other tools
- Supports multiple trackers at once, each with its own regex and base URL
- Works in any language or plain-text file
Installation
- Clone or download this repository and install dependencies:
git clone https://github.com/your-org/ticket-link.git
cd ticket-link
npm install
- Build the extension with
npm run compile.
- Launch VS Code in this folder (
code .) and press F5 (Run → Start Debugging) to open a new Extension Development Host with Ticket Link enabled. You can also package a .vsix via @vscode/vsce package and install it through the Extensions view.
See INSTALLATION.md for expanded setup notes and prerequisites.
Publishing
- Create a publisher at https://aka.ms/vscode-create-publisher and note the publisher name plus a Personal Access Token with Marketplace Publish scope. Update the
publisher, repository, and related metadata fields inside package.json to reflect your org.
- Store credentials by adding a
VSCE_PAT secret in your GitHub repository (Settings → Secrets → Actions). This PAT is consumed by the automated workflow.
- Automate releases locally with
npm run release -- <patch|minor|major> "Short changelog message". The script bumps package.json/CHANGELOG.md, runs npm run compile, packages via npx @vscode/vsce package, and publishes with npx @vscode/vsce publish. Add --skip-package or --skip-publish to disable those steps (useful for dry runs).
- Trigger the workflow by pushing a Git tag that starts with
v (for example v0.1.0) or by manually running the “Publish VS Code Extension” workflow from the Actions tab. The workflow runs npm ci, npm run lint, npm test, and finally npx @vscode/vsce publish --pat $VSCE_PAT.
- Verify the listing on the Visual Studio Marketplace once the workflow reports success. You can still run
npm run package:vsix locally for ad-hoc builds.
Configuration
Add one or more ticket formats through the standard VS Code Settings UI or settings.json using the ticketLink.ticketFormats setting.
"ticketLink.ticketFormats": [
{
"platform": "Jira",
"pattern": "[A-Z]+-\\d+",
"baseUrl": "https://example.atlassian.net/browse/{id}"
},
{
"platform": "Linear",
"pattern": "LIN-[0-9]+",
"baseUrl": "https://linear.app/acme/issue/{id}",
"caseInsensitive": true
}
]
pattern: Regular expression that matches the ticket identifier.
baseUrl: Destination to open. Use {id} where the matched value should be inserted. If {id} is omitted the ID is appended automatically.
platform: Friendly label displayed inside the hover (default: Ticket).
caseInsensitive: Match without case sensitivity.
Usage
Once configured, hover over any matching identifier (for example // Fixes LIN-123) to open the tracker entry in your browser.
Requirements
- VS Code 1.107.0 or newer
- Network access to reach your tracker URLs
Known Issues
- None yet. Please file an issue if you spot a false positive or have feature requests.
Release Notes
See CHANGELOG.md for detailed release history.