Azure DevOps Quick Work Items
Create Azure DevOps work items directly from code selections in Visual Studio Code. Capture technical debt, bugs, and tasks as you encounter them in your codebase without leaving your editor.
🆕 What's New in v1.1.0
- 🎯 Interactive Walkthrough: First-time setup with guided onboarding experience
- 🔐 Sign-In/Sign-Out Commands: Explicit authentication control with account management
- 📂 Area Path in Setup: Configure area path during initial setup wizard
- 🐛 Bug Fixes: Resolved critical sign-out issues - now properly prevents actions after sign-out
- 🔒 Security Enhancements: Sanitized error logging to prevent credential exposure
⚠️ Breaking Changes: Command and configuration namespaces changed from azuredevops.*/azureDevOps.* to quickAdoWi.*. See Migration Guide below.
By right clicking after selecting code:

Or from the command palette:

✨ Features
- 🚀 Quick Work Item Creation: Select code and create Azure DevOps tasks in seconds
- 🎯 Automatic Context Capture: File paths, line numbers, and code snippets are automatically formatted in HTML
- 🌳 Git Integration: Current branch name is automatically added to work items
- 📦 Parent Deliverable Tracking: All work items are automatically linked to a parent deliverable for easy tracking
- 🔗 Multi-Selection Support: Create a single work item from multiple code selections across different files
- 🔐 Seamless Authentication: Uses VS Code's built-in Microsoft authentication (SSO supported, no PATs required)
- 🛡️ Reliable: Automatic retry logic with exponential backoff for network resilience
- 🔄 Smart Caching: Remembers parent deliverable across sessions, verifies it still exists
📦 Installation
- Install the extension from the VS Code Marketplace
- Open VS Code
- Follow the walkthrough: Go to Help → Get Started → Walkthroughs and select "Get Started with Azure DevOps Work Items"
- Or run the command "Create Azure DevOps Work Item" or "Configure Azure DevOps Settings" to trigger initial setup

First-Time Experience: When you first install the extension, we recommend following the walkthrough to learn how to sign in, configure your settings, and create your first work item.
🚀 Quick Start
Initial Setup
Authenticate: The extension will prompt you to sign in with your Microsoft account
Configure Settings: Enter your Azure DevOps details:
- Organization: Your Azure DevOps organization name (e.g.,
WrecklessEngineer for https://dev.azure.com/WrecklessEngineer/)
- Project: Your project name (e.g.,
MyFirstProject)
- Area Path (Optional): Specific area path if you have restricted permissions

Sign In / Sign Out
Signing In
The extension uses VS Code's built-in Microsoft authentication, which is secure and seamless.
To sign in explicitly, you can:
- Use the Command Palette: Press
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
- Type "Quick ADO: Sign In"
- Press Enter and follow the authentication prompts
What happens during sign-in:
- A browser window opens asking you to sign in with your Microsoft account
- You'll be asked to grant permissions to VS Code
- Once authorized, you'll see a success message with your account name
- If you haven't configured your organization/project yet, you'll be prompted to do so
Note: Most of the time, you won't need to sign in manually. The extension will automatically prompt you to authenticate when you first try to create a work item.
Signing Out
To sign out from Azure DevOps:
- Use the Command Palette: Press
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
- Type "Quick ADO: Sign Out"
- Press Enter and confirm the sign-out
What happens during sign-out:
- Your cached authentication session is cleared
- You'll need to sign in again the next time you create a work item
- Your configuration (organization, project, area path) is preserved
To fully remove access:
- Go to VS Code's Accounts menu (bottom-left corner)
- Manage your Microsoft account and remove the Azure DevOps permissions
Checking Your Sign-In Status
After signing in, you can verify which organization and project you're connected to by:
- Running the "Configure Azure DevOps Settings" command to see your current configuration
- Checking the success message that appears after signing in
Creating Your First Work Item
Select Code: Highlight any code snippet in your editor
Open Context Menu: Right-click on the selection
Enter Title: Provide a descriptive title for the work item
Add Context (Optional): Add additional description or context
Work Item Created!: The URL is copied to your clipboard and a notification appears

View in Azure DevOps
Click "Open Work Item" to see your newly created task with formatted code snippets.
Parent Deliverable Tracking
All work items are automatically linked to a parent deliverable titled "Quick WIs" for easy tracking:
🎯 Usage
Creating a Work Item
- Select code in your editor (single or multiple selections)
- Right-click and choose "Create Azure DevOps Work Item" (or use Command Palette:
Ctrl+Shift+P / Cmd+Shift+P)
- Enter a title for the work item
- (Optional) Add additional context/description
- The work item is created and the URL is copied to your clipboard
- Click "Open in browser" to view it in Azure DevOps
Example
Selecting this code:
export function calculateTotal(items: Item[]): number {
return items.reduce((sum, item) => {
return sum + item.price * item.quantity;
}, 0);
}
Creates a work item with description:
File: src/utils/helper.ts (Lines 45-52)
```typescript
export function calculateTotal(items: Item[]): number {
return items.reduce((sum, item) => {
return sum + item.price * item.quantity;
}, 0);
}
Branch: feature/refactor-calculations
### Commands
- **Create Azure DevOps Work Item** - Create a work item from selected code
- **Configure Azure DevOps Settings** - Change organization/project or re-authenticate
- **Quick ADO: Sign In** - Sign in to Azure DevOps with your Microsoft account
- **Quick ADO: Sign Out** - Sign out from Azure DevOps and clear cached authentication
## ⚙️ Configuration
Access settings through:
- Command Palette: **"Configure Azure DevOps Settings"**
- VS Code Settings UI: Search for "Quick ADO" or "quickAdoWi"
- Settings JSON: Edit directly
### Available Settings
| Setting | Description | Example |
|---------|-------------|---------|
| `quickAdoWi.organization` | Azure DevOps organization name | `microsoft` |
| `quickAdoWi.project` | Project name within the organization | `DefenderCommon` |
| `quickAdoWi.areaPath` | Optional area path for permissions | `OS\\WDATP\\Seville` |
| `quickAdoWi.defaultWorkItemType` | Work item type (default: Task) | `Task` |
### URL Formats Supported
- Modern: `https://dev.azure.com/{organization}/{project}`
- Legacy: `https://{organization}.visualstudio.com/{project}`
Both formats are automatically detected and supported.
## 🎨 Work Item Format
Work items are created with HTML formatting for proper display in Azure DevOps:
### Structure
- **Context** (if provided): User-supplied description
- **Branch** (if available): Git branch name in code formatting
- **Code Snippets**: Formatted code blocks with:
- File path and line numbers
- Syntax highlighting
- Proper HTML escaping
### Example Output
```html
<h3>Context</h3>
<p>Need to add null checking and improve error handling</p>
<h3>Branch</h3>
<p><code>feature/refactor-calculations</code></p>
<h3>Code Snippets</h3>
<strong>File:</strong> src/utils/helper.ts (Lines 45-52)<br>
<pre><code class="language-typescript">
export function calculateTotal(items: Item[]): number {
return items.reduce((sum, item) => {
return sum + item.price * item.quantity;
}, 0);
}
</code></pre>
🔧 Advanced Features
Multiple Code Selections
Select code from different parts of the same file or across multiple files. All selections will be included as separate code snippets in a single work item.
Parent Deliverable Management
The extension automatically:
- Creates a parent deliverable titled "Quick WIs" on first use
- Links all subsequent work items to this parent
- Stores the parent ID in workspace state
- Verifies the parent still exists before each use
- Recreates the parent if it was deleted
This allows you to easily:
- Track all quick work items in one place
- Filter work items by parent in Azure DevOps queries
- Organize technical debt and bugs
Area Path Configuration
If you have restricted permissions in Azure DevOps, configure an Area Path you have access to:
{
"quickAdoWi.areaPath": "Your area path"
}
The parent deliverable and all work items will be created in this area.
🐛 Troubleshooting
Authentication Issues
Problem: "Authentication failed" or "Unauthorized" errors
Solutions:
- Run "Configure Azure DevOps Settings" command to re-authenticate
- Ensure you're signed in with the correct Microsoft account
- Verify you have access to the organization and project
Parent Deliverable Errors
Problem: "Failed to create parent deliverable" with HTTP 400
Solution: The "Deliverable" work item type may not exist in your project. The extension will automatically fall back to "Epic" type.
Work Item Not Linked to Parent
Problem: Work item created but no parent link visible
Check Developer Console (Help → Toggle Developer Tools → Console):
- Look for logs starting with
-----
- Verify parent deliverable ID is shown
- Check if parent link URL is correct
Network Errors
Problem: "Unable to reach Azure DevOps"
Solutions:
- Check internet connection
- Verify Azure DevOps is accessible (try opening in browser)
- The extension will automatically retry 3 times with exponential backoff
Permissions Errors (TF237111)
Problem: "You do not have permissions to create work items"
Solutions:
- Configure an Area Path you have access to in settings
- Contact your Azure DevOps admin to grant "Create work items" permission
- Verify your organization and project names are correct
📊 Developer Console Logs
All extension operations are logged with a ----- prefix for easy filtering:
----- Getting or creating parent deliverable
----- Found existing parent deliverable ID in state: 12345
----- Verifying parent deliverable still exists...
----- Parent deliverable 12345 verified, using it
----- Parent URL: https://dev.azure.com/microsoft/DefenderCommon/_workitems/edit/12345
----- Git branch name: feature/improve-logging
----- Added branch section to description
----- Description length: 2847 characters
----- Adding parent link to work item 12345
----- Parent work item URL: https://dev.azure.com/microsoft/_apis/wit/workItems/12345
----- Work item created successfully with ID: 67890
🔒 Privacy & Security
This extension:
- ✅ Uses VS Code's secure credential storage for authentication tokens
- ✅ Supports Microsoft SSO (Single Sign-On)
- ✅ Only communicates with official Azure DevOps APIs
- ✅ Does NOT collect telemetry or usage data
- ✅ Does NOT share your code or data with third parties
- ✅ Stores configuration in VS Code user settings (encrypted)
📝 Commands
| Command |
Keyboard Shortcut |
Description |
| Create Azure DevOps Work Item |
Right-click context menu |
Create work item from code selection |
| Configure Azure DevOps Settings |
Command Palette |
Update organization/project/area path |
| Quick ADO: Sign In |
Command Palette |
Sign in to Azure DevOps |
| Quick ADO: Sign Out |
Command Palette |
Sign out from Azure DevOps |
🔄 Requirements
- VS Code: Version 1.107.0 or higher (updated for walkthrough support)
- Azure DevOps: Account with access to at least one project
- Permissions: "Create work items" permission in your project
- Network: Internet connection to reach Azure DevOps APIs
📤 Upgrading from v1.0.x
Version 1.1.0 introduces namespace changes for better specificity. After upgrading:
Option 1: Use the Configuration Command (Recommended)
- Open Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Run "Configure Azure DevOps Settings"
- Follow the setup wizard to enter your organization, project, and optional area path
Option 2: Manually Update Settings
Edit your VS Code settings (JSON) and update the keys:
{
// Old settings (will no longer work)
"azureDevOps.organization": "your-org",
"azureDevOps.project": "your-project",
"azureDevOps.areaPath": "your-area-path",
// New settings (required for v1.1.0+)
"quickAdoWi.organization": "your-org",
"quickAdoWi.project": "your-project",
"quickAdoWi.areaPath": "your-area-path" // optional
}
Command Changes
| Old Command (v1.0.x) |
New Command (v1.1.0+) |
azuredevops.createWorkItem |
quickAdoWi.createWorkItem |
azuredevops.configure |
quickAdoWi.configure |
| N/A |
quickAdoWi.signIn (new) |
| N/A |
quickAdoWi.signOut (new) |
Note: If you have keybindings or tasks that reference the old command IDs, you'll need to update them.
🚧 Known Limitations
- Only creates Task work items (Bugs, User Stories coming in future versions)
- Single organization/project configuration (no workspace-specific settings yet)
- No offline mode (requires internet connection)
- Parent deliverable is shared across all work items in the org/project
🗺️ Roadmap
Future enhancements planned:
- [ ] Support for Bug, User Story, and custom work item types
- [ ] Configurable fields (Tags, Iteration, Priority, etc.)
- [ ] Workspace-specific configurations
- [ ] Bulk work item creation
- [ ] Work item templates
- [ ] Integration with VS Code Tasks
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
🙋 Support