Commit Graph

148279 Commits

Author SHA1 Message Date
mrleemurray
b13422637b style(dropdown, debug-toolbar): update border-radius to use theme variable for consistency 2026-03-02 10:48:46 +00:00
mrleemurray
1ac1b461c3 style(keybindings): restore border-radius for defineKeybindingWidget consistency 2026-03-02 10:48:46 +00:00
mrleemurray
f51a4c9a16 style(hover): update border-radius to use theme variable for consistency 2026-03-02 10:48:35 +00:00
mrleemurray
37e10e57a7 style(dialog): remove fixed border-radius for consistency with theme variables 2026-03-02 10:48:24 +00:00
mrleemurray
75b588a2ae style(dialog): replace fixed border-radius with CSS variable for consistency 2026-03-02 10:48:24 +00:00
mrleemurray
b3bcabf327 style(menu): replace fixed border-radius with CSS variable for consistency
style(find-widget): unify border-radius with CSS variable for consistency
style(inline-chat-gutter-menu): update border-radius to use CSS variable for consistency
2026-03-02 10:48:23 +00:00
mrleemurray
1dc1271ba6 style(notifications): update border and border-radius for consistency across notification elements 2026-03-02 10:48:01 +00:00
mrleemurray
a176e75cf2 style(chat-input): replace fixed border-radius with variable for consistency 2026-03-02 10:47:48 +00:00
Ladislau Szomoru
7b9ab03582 Sessions - fix tree rendering in the changes view (#298663) 2026-03-02 02:27:13 -08:00
Don Jayamanne
3d0e5d5d47 feat: add support for Copilot user agents and related functionality (#298610)
* feat: add support for Copilot user agents and related functionality

* Update comments

* Updates
2026-03-02 02:26:11 -08:00
mrleemurray
b923a7ae73 style(quick-input): replace fixed border-radius with variable for consistency 2026-03-02 10:23:04 +00:00
mrleemurray
ef7a51a4bb style(suggest-widget): replace fixed border-radius with variable for consistency 2026-03-02 10:23:03 +00:00
mrleemurray
13a6803cba style(quick-input): replace fixed border-radius with variable for consistency 2026-03-02 10:22:58 +00:00
cathaysia
43755b4762 fix(json.schemaDownload.trustedDomains): avoid always update json.sch… (#298423)
fix(json.schemaDownload.trustedDomains): avoid always update json.schemaDownload.trustedDomains

Signed-off-by: loongtao.zhang <loongtao.zhang@outlook.com>
2026-03-02 10:19:12 +00:00
Dmitriy Vasyura
c95cc7ae08 Fix Guardian errors in sanity tests stage (#298662) 2026-03-02 09:07:48 +00:00
João Moreno
d2a693d828 fix missing sourcemaps (#298660) 2026-03-02 08:54:03 +00:00
dependabot[bot]
d1d66da10a Bump minimatch from 3.1.2 to 3.1.5 in /test/integration/browser (#298658)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 08:53:34 +00:00
dependabot[bot]
35a6bb3858 Bump minimatch (#298537)
Bumps [minimatch](https://github.com/isaacs/minimatch) to 3.1.5 and updates ancestor dependencies  and [minimatch](https://github.com/isaacs/minimatch). These dependencies need to be updated together.


Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: direct:development
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 5.1.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 08:48:04 +00:00
dependabot[bot]
fd63d2a386 Bump minimatch in /build (#298315)
Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.

Updates `minimatch` from 10.1.1 to 10.2.4
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.1.1...v10.2.4)

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.1.1...v10.2.4)

Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.1.1...v10.2.4)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 10.2.4
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 09:38:15 +01:00
dependabot[bot]
a432b6a01d Bump minimatch from 9.0.5 to 9.0.9 in /build/npm/gyp (#298336)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.9.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 09:29:01 +01:00
Johannes Rieken
f69012e7a3 fix: include error handling in inline chat session overlay logic (#298651)
re https://github.com/microsoft/vscode/issues/298647
2026-03-02 09:22:29 +01:00
Rob Lourens
bac17f9af2 Merge pull request #298638 from microsoft/roblou/specified-narwhal
Add progress content part component fixture
2026-03-01 22:20:42 -08:00
Rob Lourens
190ed29982 Remove edits2 setting (#298619) 2026-03-02 07:20:14 +01:00
Don Jayamanne
62788813e5 fix: enhance chat mode resolution by adding mode name lookup (#298225) 2026-03-02 16:21:18 +11:00
Rob Lourens
e322dd26ce Merge branch 'main' into roblou/specified-narwhal 2026-03-01 21:14:28 -08:00
Rob Lourens
c0ba0411a9 Add progress content part component fixture 2026-03-01 21:09:00 -08:00
Josh Spicer
b753be80eb customizations: allow transient selection of the folder to explore customizations against (#298403)
* customizations: allow transient selection of the folder to explore customizations against

* address PR review comments

- Fix no-op setOverrideProjectRoot to accept URI parameter
- Fix JSDoc/comments to be environment-agnostic (session or workspace)
- Account for folder picker footer height in sidebar layout
- Use ILabelService for URI tooltip instead of fsPath
2026-03-01 20:24:40 -08:00
Henning Dieterichs
f85c0b3c83 improves npm caching (#298608) 2026-03-01 18:35:08 -08:00
Rob Lourens
d63b8bde80 chat: wrap markdown tables with horizontal scrollbar (#298604)
- Wrap each rendered markdown table in a DomScrollableElement so it
  scrolls horizontally with the VS Code custom scrollbar instead of
  the native one.
- Apply per-column min-width (in ch units, capped at 3ch) based on
  max text-content length, so short values like "001" aren't squeezed
  to a single character wide.
- Allow table headers to wrap at word boundaries (white-space: normal)
  rather than staying on a single line.
- Extract the wrapping logic into chatMarkdownTableScrolling.ts with
  unit tests in chatMarkdownTableScrolling.test.ts.

Fixes #265062

(Written by Copilot)
2026-03-01 23:53:57 +01:00
Rob Lourens
5022ba50ab Merge pull request #298605 from microsoft/roblou/yielding-crayfish
Avoid more event listening from chat inline anchor
2026-03-01 14:23:34 -08:00
Rob Lourens
c666bd55e1 Avoid more context key creation from chat inline anchor 2026-03-01 13:48:14 -08:00
Ladislau Szomoru
b81269c822 Engineering - fix compilation error (#298585) 2026-03-01 18:59:28 +01:00
Ladislau Szomoru
215f6b4dd5 Engineering - move node_modules and APIScan stages to the bottom (#298562) 2026-03-01 17:39:05 +01:00
Ladislau Szomoru
39cd99fe01 Git - add commands to copy information in the repositories view (#298558) 2026-03-01 17:38:47 +01:00
RajeshKumar11
517f7a3438 Merge branch 'main' into fix/mcp-gateway-nonblocking-297780-v2 2026-03-01 17:55:50 +05:30
Peng Lyu
25edeb0b20 Allow singleton editors to split into a new editor (#297609)
* Add CanCreateForSplit capability for singleton editors

Introduce a new EditorInputCapabilities.CanCreateForSplit capability
and EditorInput.createForSplit() method that allow singleton editors
to participate in split operations by providing a new editor input.

Apply this capability to ChatEditorInput so that splitting a chat
editor opens a fresh chat session in the new group.

* Update src/vs/workbench/common/editor/editorInput.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/vs/workbench/common/editor/editorInput.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* unwind

* unwind

* change

* .

* rename

* .

* .

* .

* .

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2026-03-01 02:13:31 -08:00
Ladislau Szomoru
12bb8a5b96 Engineering - delete macOS test pipeline (#298539) 2026-03-01 09:29:52 +01:00
Lee Murray
e46f6f29f8 Merge pull request #297703 from microsoft/mrleemurray/custom-menu-update
Add separator option to select box
2026-03-01 08:27:13 +00:00
João Moreno
d2f1f7ce97 Inline Compile & CompileCLI stages into platform specific jobs (#296006)
* chore: ralph loop checkpoint - 2026-02-17 12:48

* fix shell script

* Inline compile stage into platform jobs

Remove the standalone Compile stage from the ADO pipeline. Each
platform job (Windows, Linux, macOS, Alpine, Web) now compiles
TypeScript itself instead of downloading a shared Compilation artifact.

- Add VSCODE_RUN_CHECKS parameter to Linux jobs for hygiene/lint/CG
- Add VSCODE_RUN_COMPILE_EXTRAS parameter to macOS jobs for telemetry
  extraction and sourcemap upload
- Remove VSCODE_COMPILE_ONLY parameter entirely
- Delete product-compile.yml (no longer referenced)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Always run telemetry extraction on macOS builds

The macOS Universal app merge requires both x64 and arm64 builds to have
identical file sets. Telemetry extraction was only running on arm64 (via
VSCODE_RUN_COMPILE_EXTRAS), causing the universal merge to fail due to
missing telemetry-core.json and telemetry-extensions.json in the x64 build.

Move telemetry extraction outside the VSCODE_RUN_COMPILE_EXTRAS gate so
it runs on all macOS builds. Sourcemap upload remains gated.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Run telemetry extraction on all client builds

All client builds (Linux, Windows, macOS) need telemetry-core.json and
telemetry-extensions.json. Previously only macOS arm64 ran extract-telemetry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Only run telemetry extraction on Linux x64 (client build)

Linux arm64 and armhf are server-only builds, no need for telemetry files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove .ralph scaffolding files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix telemetry extraction on Windows with native PowerShell

The bash extract-telemetry.sh script fails on Windows because the Unix
bin shim gets interpreted as Node.js code. Use a native PowerShell
implementation that calls the extractor JS entry point directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Handle missing telemetry files gracefully on Windows

The telemetry extractor may skip emitting declarations-resolved.json
when no events are found. Handle this case with a warning instead of
failing the build.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Use deterministic build date from git commit timestamp

When each platform compiles independently, the build date embedded in
cli.js (via INSERT_PRODUCT_CONFIGURATION) differs between machines
because each uses new Date().toISOString(). This causes the macOS
Universal app merge to fail since cli.js SHA differs between x64/arm64.

Fix: use the git commit date (git log -1 --format=%cI HEAD) instead
of the current wall-clock time. This ensures all independent builds
on different machines produce identical timestamps.

Updated in:
- build/lib/date.ts: writeISODate() uses git commit date
- build/next/index.ts: bundle(), transpile, and readISODate fallback
  all use git commit date

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove redundant extensions-ci task from CI pipelines

core-ci (esbuild path) already includes cleanExtensionsBuildTask,
compileNonNativeExtensionsBuildTask, and compileExtensionMediaBuildTask.
Running extensions-ci in parallel caused a race condition where
core-ci's rimraf of .build/extensions clashed with extensions-ci
writing to the same directory.

Also removes dead code:
- extensions-ci and extensions-ci-pr task definitions (fully subsumed)
- core-ci-old task (useEsbuildTranspile is always true)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* remove VSCODE_RUN_COMPILE_EXTRAS

* address PR feedback regarding code duplication of `getGitCommitDate()` function by exporting a single helper function from `build/lib/date.ts` and importing it in `build/next/index.ts` to ensure consistent behavior and improve code maintainability.

* update readISODate function to return git commit date instead of current date

* add telemetry sorting script and integrate into build process for consistent output

* refactor telemetry extraction process: replace shell script with TypeScript implementation

* update skill

* update telemetry-extractor dependency to version 1.19.0

* fix build

* fix more duplicate telemetry definition issues

* cleanup

* refactor: consolidate validation checks into quality checks and remove obsolete tasks

* bust the cache

* undo cache bust

* fix expression

* fix

* fix: update Azure storage account name in quality checks

* fix: initialize stages set with 'Quality'

* fix: add VSCODE_BUILD_TYPE parameter with options for Product and CI builds

* fix: update Azure Pipeline CLI to use parameters instead of variables for queueing builds

* fix: update VSCODE_BUILD_TYPE parameter values for clarity

* fix: update default value for VSCODE_BUILD_TYPE parameter to 'Product'

* leaner

* even leaner

* only npm ci in build

* 💄

* run entire npm ci

* fix

* fix

* fix it

* Inline CompileCLI into platform stages

- Remove centralized CompileCLI stage
- Move CLI jobs into Windows, Linux, macOS stages as independent jobs
- CLI jobs now compile, publish unsigned mid-job, sign, and publish signed
- Platform compile jobs use deemon + waitForArtifacts for async CLI download
- Delete separate CLI sign jobs (now merged into CLI compile jobs)
- Remove CompileCLI from publish.ts stage tracking

* fix: macOS CLI signing - use proper directory structure for ESRP

* fix: add BUILDS_API_URL to Windows and Linux job templates

* fix: label Linux CLI jobs clearly

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: João Moreno <22350+joaomoreno@users.noreply.github.com>
2026-03-01 08:48:08 +01:00
Benjamin Pasero
fe85be6c2d Merge branch 'main' into mrleemurray/custom-menu-update 2026-03-01 08:08:21 +01:00
Benjamin Pasero
235c74ec78 Merge branch 'main' into copilot/remove-gray-background-single-button 2026-03-01 08:08:08 +01:00
RajeshKumar11
c30f1117b4 MCP gateway: apply grace period to Outdated servers same as Unknown
Per review feedback: Outdated servers should use the same per-server
startup grace period as Unknown servers. A prior fast startup does not
guarantee a fast restart, so both states now race startup against the
5s timeout before returning results.
2026-03-01 10:22:15 +05:30
RajeshKumar11
5cb3cc3a7a Merge branch 'main' into fix/mcp-gateway-nonblocking-297780-v2 2026-03-01 10:07:35 +05:30
Justin Chen
4ede078c26 fix non-edit codeblocks in thinking (#298519)
* fix non-edit codeblocks in thinking

* Address some comments
2026-02-28 19:20:07 -08:00
Alexandru Dima
a94e3bb9cf Fix potential listener leak in document semantic tokens (#298512)
* Fix potential listener leak in document semantic tokens

Hoist provider onDidChange and registry onDidChange subscriptions from
each ModelSemanticColoring instance into the singleton
DocumentSemanticTokensFeature.

Previously, every ModelSemanticColoring subscribed individually to both
the global LanguageFeatureRegistry.onDidChange and each provider's
onDidChange event, resulting in O(N*M) listeners (N models × M
providers). In scenarios like chat editing where many models are created
rapidly, these listeners accumulated and triggered leak detection.

Now the singleton subscribes once to the registry change and once per
provider (via allNoModel()), then fans out notifications to watchers.
Each watcher checks provider relevance via _provider.all(model).includes()
before acting on the event.

Also replaces manual IDisposable[] management with a DisposableStore for
proper lifecycle tracking.

* Review feedback
2026-03-01 00:43:11 +00:00
Alexandru Dima
b5d9e29098 Fix wrong current index in find widget if matches > 1000 (#298508)
* fix #288515: wrong current index in find widget if matches > 1000

When there are more than 1000 matches, decorations use
_FIND_MATCH_NO_OVERVIEW_DECORATION instead of _FIND_MATCH_DECORATION.
getCurrentMatchesPosition did not check for this decoration type,
causing it to return 0 and fall through to a fallback with an
off-by-one error.

* Address review feedback

* Fix unused error
2026-02-28 16:42:41 -08:00
Alexandru Dima
e10de4e406 Better handle event subscriptions (#298503)
Better handle event subscriptions (#293200)
2026-02-28 16:41:59 -08:00
Rob Lourens
e88a720637 Avoid flicker when checkpoint toolbar appears on request (#298501) 2026-02-28 23:10:34 +00:00
Alexandru Dima
f112245073 editor: add 'foldedLine' unit to cursorMove command (#296106)
* editor: add 'foldedLine' unit to cursorMove command

Add a new 'foldedLine' movement unit to the `cursorMove` command that moves
by model lines while treating each folded region as a single step.

When moving down/up by 'wrappedLine' the cursor skips folds naturally because
it operates in view space. When moving by 'line' it uses model coordinates and
can land inside a fold, causing VS Code to auto-unfold it. The new 'foldedLine'
unit moves in model space but queries `viewModel.getHiddenAreas()` to detect
folds and jump to the first visible line past each one, so folds are skipped
without being opened.

This is the semantics needed by vim's j/k motions (VSCodeVim/Vim#1004):
each fold counts as exactly one step, matching how real vim treats folds.

Fixes: https://github.com/VSCodeVim/Vim/issues/1004

* editor: simplify foldedLine movement using fold-walk algorithm

Replace the step-by-step simulation (O(count × folds)) with a single
pass over sorted hidden areas (O(folds in path)). Compute a naive
target, then extend it for each fold encountered, stopping before any
fold that reaches the document boundary.

Also extracts _targetFoldedDown/_targetFoldedUp helpers to eliminate
the duplicated loop structure between the two directions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* editor: fix foldedLine count movement at fold boundaries

---------

Co-authored-by: Jai <jai@jai.one>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
2026-03-01 00:06:13 +01:00
Rob Lourens
b094e2f7dd Fix inline reference at block start rendering on its own line (#298497)
Copilot-authored message: Fix inline reference at block start rendering on its own line

When an inlineReference is the first item in a chat response (no preceding
markdown), it creates a standalone markdownContent with default MarkdownString
properties. The subsequent markdown from the model has different properties
(e.g. isTrusted: true), causing canMergeMarkdownStrings to return false. This
leaves them as separate content parts, rendering the inline reference link on
its own line.

Fix by detecting when the previous item consists solely of synthesized
content-ref links (via isContentRefOnly check) and merging them by prepending
the reference text while adopting the incoming markdown's properties.

Fixes #278191
2026-03-01 00:04:28 +01:00