Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
### Added

- **Pipelines view**: Browse recent Azure Pipelines runs across selected organization/project scopes, filter by all/running/failed/mine, group by repository or branch, inspect timeline/artifacts, open step logs from tree nodes or details timeline links in read-only VS Code documents, and re-run or cancel runs with confirmation prompts.
- **Open Extension Management in Browser** (`ADOExt: Open Extension Management in Browser`): Command-palette shortcut to open the Azure DevOps extension management settings page (`_settings/extensions`) for a selected organization in the browser. Prompts for org selection when multiple organizations are configured.

## 1.6.1 — 2026-05-08

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@ Open VS Code Settings (Ctrl+, / Cmd+,) and search for `adoext` to customize:
| `ADOExt: Refresh Work Items` | — | Manually refresh work items tree |
| `ADOExt: Refresh Pull Requests` | — | Manually refresh PR tree |
| `ADOExt: Checkout Pull Request Branch` | — | Check out a PR branch locally |
| `ADOExt: Open Extension Management in Browser` | — | Open the Azure DevOps extension management page for a selected organization |

---

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "adoext",
"displayName": "ADOExt - Azure DevOps Integration",
"description": "Full-featured Azure DevOps integration for VS Code: work items, pull requests, comments, and multi-account/org support.",
"version": "1.6.1",
"version": "1.6.2",
"publisher": "MarcKassubeck",
"engines": {
"vscode": "^1.101.0"
Expand Down Expand Up @@ -478,6 +478,12 @@
"category": "ADOExt",
"icon": "$(eye-closed)"
},
{
"command": "adoext.openExtensionManagement",
"title": "Open Extension Management in Browser",
"category": "ADOExt",
"icon": "$(extensions)"
},
{
"command": "adoext.toggleResolvedPullRequestThreads",
"title": "Show/Hide Resolved PR Threads",
Expand Down
35 changes: 35 additions & 0 deletions src/commands/accountCommands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,41 @@ export async function selectProject(
return true;
}

/**
* Open the Azure DevOps Extension Management page in the browser for a
* selected organization. Prompts for org selection when more than one
* organization is configured.
*/
export async function openExtensionManagement(
config: ConfigManager
): Promise<void> {
const organizations = config.selectedOrganizations;

if (organizations.length === 0) {
showWarningMessage('Please configure your organization first.');
return;
}

let organization: string;

if (organizations.length === 1) {
organization = organizations[0];
} else {
const picked = await vscode.window.showQuickPick(
organizations.map(org => ({ label: org })),
{
placeHolder: 'Select an organization to open Extension Management',
title: 'Open Extension Management'
}
);
if (!picked) { return; }
organization = picked.label;
}

const url = `https://dev.azure.com/${encodeURIComponent(organization)}/_settings/extensions`;
void vscode.env.openExternal(vscode.Uri.parse(url));
}

/**
* Inspect the active workspace's Git remotes for Azure DevOps URLs and offer
* to apply the detected org/project as the extension's configuration.
Expand Down
10 changes: 9 additions & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ import { PrStatusChangeHandler } from './notifications/handlers/prStatusChangeHa
import {
selectOrganization,
selectProject,
detectAndSuggestRepoContext
detectAndSuggestRepoContext,
openExtensionManagement
} from './commands/accountCommands';
import {
changeWorkItemState,
Expand Down Expand Up @@ -321,6 +322,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
})
);

// Open Extension Management in browser
context.subscriptions.push(
vscode.commands.registerCommand('adoext.openExtensionManagement', async () => {
await openExtensionManagement(config);
})
);

// Select project
context.subscriptions.push(
vscode.commands.registerCommand('adoext.selectProject', async () => {
Expand Down