Skip to content

[mirror] microsoft/vscode#298570 Fix PowerShell highlighting of built-in constant variables#322

Open
austindyoung wants to merge 460 commits intomainfrom
driftfence/mirror/pr-298570/latest
Open

[mirror] microsoft/vscode#298570 Fix PowerShell highlighting of built-in constant variables#322
austindyoung wants to merge 460 commits intomainfrom
driftfence/mirror/pr-298570/latest

Conversation

@austindyoung
Copy link
Copy Markdown
Owner

Automated mirror PR for DriftFence counterfactual telemetry.

Source PR: microsoft#298570
Source URL: microsoft#298570
Mirror branch: driftfence/mirror/pr-298570/latest

This PR is maintained by automation for telemetry and review links.

roblourens and others added 30 commits February 25, 2026 18:34
…026-02-25T18-10-35

Sessions window: delegation picker fixes
* ai customizations: CLI compatibility - filter profile files, show agent instructions

- Remove Prompts from sessions managementSections
- Show AGENTS.md, CLAUDE.md, copilot-instructions.md in Instructions section
- Add excludedUserFileRoots to hide VS Code profile files in sessions
- Filter excluded roots in badge counts and total counts

Refs microsoft#297343

* ai customizations: user storage path override for CLI compatibility

- Add chat.customizationsMenu.userStoragePath setting (experimental)
- When set, user-level file creation targets the override path
  (e.g. ~/.copilot/instructions/ instead of VS Code profile)
- Sessions config sets override to ~/.copilot
- Agents and hooks skip the override (no CLI convention for those)
- Add tests for resolveUserTargetDirectory

Refs microsoft#297343

* ai customizations: hide MCP Servers from sessions view

MCP configuration in the CLI is being unified separately.
Re-enable once CLI MCP config is aligned with VS Code.

Refs microsoft#297343

* tidy

* ai customizations: restore Prompts section in sessions view

* fix prompts
)

* feat(chat): add experimental icons for new chat button

* resolve comments

* 💄
…oft#297881)

* sessions: force creating a "github cli"-compatible hooks file

* seed with events
…ft#297742)

* Naming of instruction files, use constants, make consistent

* update

* update
…7955)

* feat - add product service to launch main service

* refactor - rearrange sessions window logic in `startOpenWindow`
…igation

Co-authored-by: Copilot <copilot@github.com>
…ft#297958)

feat - add `SessionsWelcomeVisibleContext` for overlays
…osoft#297966)

Revert "sessions - show file changes summary in changes window (microsoft#297656)"

This reverts commit b9a94fe.
sandy081 and others added 30 commits February 28, 2026 08:21
As no editor can open non-modal, this is not helping much.
…8409)

* sessions - show command in toast and show it more often

* Update src/vs/workbench/contrib/chat/browser/chatWindowNotifier.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* sessions - tweaks to chat input to make it larger

* Update src/vs/sessions/browser/media/style.css

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…opened (microsoft#297783)

* Git - file-system provider should open the repository if not already opened

* Git - only open the repository in the empty/session window

* Add logging
* Clean up model picker input styles: remove background, add filter spacing

* Use CSS :has() instead of imperative class for filter container
* Chat input refinements: increase height and update placeholder text

* Extract shared constants for input editor line height and padding
* Report Event.Buffer leaks when running from source

* Address feedback
…leted and changed (microsoft#298272)

* updating the edit context on content change not on lines inserted, deleted and changed

* saving the previous edit context text
Inserting `text-spacing-trim: space-all;` for `.monaco-editor`
…vers (microsoft#298484)

Add a new setting `editor.hover.showLongLineWarning` (default: true) that
controls whether the "Tokenization is skipped..." and "Rendering paused..."
hover messages are shown on long lines.

When these hovers are shown, they now include a "Don'\''t Show Again" link
that sets the setting to false, letting users dismiss them permanently
while keeping all other hover functionality intact.

Fixes microsoft#172713
…oft#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 microsoft#278191
* 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: VSCodeVim/Vim#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>
…98508)

* fix microsoft#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
…8512)

* 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
* fix non-edit codeblocks in thinking

* Address some comments
…soft#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>
…-menu-update

Add separator option to select box
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.