Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
9751 commits
Select commit Hold shift + click to select a range
c0c8316
Remove redundant border-radius inheritance from vertical action bars …
mrleemurray Feb 11, 2026
0749dc9
adds component explorer (#294548)
hediet Feb 11, 2026
a7cc092
Adding lineHeightsAdded array to onLinesInserted (#289634)
aiday-mar Feb 11, 2026
c600be4
Merge pull request #294145 from microsoft/joh/esbuild-the-things
jrieken Feb 11, 2026
66bcaa0
Ensure gulp min writes the ISO date file (#294615)
lramos15 Feb 11, 2026
1628f21
make chat tip screen reader friendly (#294205)
meganrogge Feb 11, 2026
3e2e658
Fix date reading logic in build scripts to handle missing files grace…
jrieken Feb 11, 2026
f179dbd
fix: resolve watcherPath definition for compatibility with ES modules…
jrieken Feb 11, 2026
6d68704
Merge branch 'main' into eli/workbench-motion
eli-w-king Feb 11, 2026
95fb438
Maintain chat accessible view on queued requests (#293936)
Copilot Feb 11, 2026
53b52ea
tweak tips (#294607)
meganrogge Feb 11, 2026
fe023c8
Fix contributed chat context issues found by CCR (#294622)
alexr00 Feb 11, 2026
bd0b2d3
Fix a few rendering issues with the chat context widget (#294630)
lramos15 Feb 11, 2026
abfdc25
Fix welcome page session grid layout to use ITEM_HEIGHT (#294309)
daviddossett Feb 11, 2026
04c6ff2
More verbose conpty, winpty related error message (#294193)
anthonykim1 Feb 11, 2026
19cc3d6
Merge pull request #294554 from microsoft/mrleemurray/medieval-violet…
mrleemurray Feb 11, 2026
9b64d3b
Use sequence as default terminal tab title
Tyriar Feb 11, 2026
de73ae3
feat: remove workbench.settings.scrollBehavior setting (#294641)
rzhao271 Feb 11, 2026
8c3168c
Enable kitty keyboard protocol by default
Tyriar Feb 11, 2026
f02acde
track and dispose listener (#294643)
amunger Feb 11, 2026
742dd34
Remove experiments code from kitty setting
Tyriar Feb 11, 2026
98280cf
Update src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts
Tyriar Feb 11, 2026
7af93d7
Merge branch 'main' into main
alexdima Feb 11, 2026
17ecf08
Hook menu title rename (#294645)
pwang347 Feb 11, 2026
bfa944f
Merge pull request #294227 from microsoft/dev/mjbvz/mid-rook
mjbvz Feb 11, 2026
375ea3d
Remove some legacy fallbacks (#294649)
lramos15 Feb 11, 2026
f60e8ae
Improve js/ts code lens settings descriptions
mjbvz Feb 11, 2026
eb20333
Merge pull request #293819 from SongXiaoXi/main
alexdima Feb 11, 2026
71e1f05
fix: restore context menu for explicit win10 mode (#294661)
deepak1556 Feb 11, 2026
a5f53a8
add tip for welcome view, first request per session, improve styling …
meganrogge Feb 11, 2026
8f86467
Merge pull request #294665 from mjbvz/dev/mjbvz/exceptional-skink
mjbvz Feb 11, 2026
d5354df
Fix provider to controller adapter
mjbvz Feb 11, 2026
87b1d2d
Merge pull request #294678 from mjbvz/dev/mjbvz/large-primate
mjbvz Feb 11, 2026
3079590
Merge pull request #294651 from microsoft/tyriar/kitty
Tyriar Feb 11, 2026
86aab8a
fix: customize user-agent sent via macOS updater path (#294646)
deepak1556 Feb 11, 2026
7b6fd2e
Initial plan
Copilot Feb 11, 2026
f6fbcd5
Fix terminal persistence test by setting stable title format
Copilot Feb 11, 2026
6576012
Initial OSC 99 implementation
Tyriar Feb 11, 2026
7065851
Enable tsgo by default in the workspace
mjbvz Feb 11, 2026
f103973
add `requiresAnyToolSetRegistered` condition for `tips` (#294680)
meganrogge Feb 11, 2026
0aba196
Merge pull request #294689 from mjbvz/dev/mjbvz/cognitive-pigeon
mjbvz Feb 11, 2026
5b7ca20
Merge branch 'main' into tyriar/291275
Tyriar Feb 11, 2026
73c3b14
Merge branch 'tyriar/291275' into copilot/fix-github-actions-workflow…
Tyriar Feb 11, 2026
c8f8ddc
Merge pull request #294683 from microsoft/copilot/fix-github-actions-…
Tyriar Feb 11, 2026
95c642f
Merge pull request #294647 from microsoft/tyriar/291275
Tyriar Feb 11, 2026
928687e
Test refactor
Tyriar Feb 11, 2026
797e995
Initial plan
Copilot Feb 11, 2026
83c7589
Updating no auth widget for agent welcome
cwebster-99 Feb 11, 2026
f8aa99f
Refactor quick input animations to use CSS classes instead of inline …
Copilot Feb 11, 2026
69cd1ec
Fix entrance animation cleanup to preserve visibility and remove trai…
Copilot Feb 11, 2026
bd3b736
Add comments to document CSS animation duration constants and display…
Copilot Feb 11, 2026
c4f5414
Advertise full context rather than just prompt (#294696)
lramos15 Feb 11, 2026
6fccacb
Merge pull request #294704 from microsoft/copilot/sub-pr-294021
eli-w-king Feb 11, 2026
e76d0c4
Merge branch 'main' into eli/workbench-motion
eli-w-king Feb 11, 2026
b714f06
Merge pull request #294706 from microsoft/evident-roundworm
cwebster-99 Feb 11, 2026
0356195
Clean up esbuilding of extensions
mjbvz Feb 11, 2026
438d64a
Improve tips styling and behavior (#294702)
meganrogge Feb 12, 2026
dd8c734
Simplify quick input animations with CSS @keyframes (#294737)
Copilot Feb 12, 2026
cb714c7
Addressing code review comments
mjbvz Feb 12, 2026
e77cb13
Merge branch 'main' into eli/workbench-motion
eli-w-king Feb 12, 2026
5423e1a
Update ignore file list
mjbvz Feb 12, 2026
5cf6aa6
slowed animations by 25ms
eli-w-king Feb 12, 2026
252f81c
Update hook settings (#294732)
pwang347 Feb 12, 2026
ff2c046
Refactor quick input exit animation cleanup to eliminate duplication …
Copilot Feb 12, 2026
849d938
fixed unused error
eli-w-king Feb 12, 2026
e8cc00b
restored codicon.ttf
eli-w-king Feb 12, 2026
d04bc91
Apply suggestion from @TylerLeonhardt
TylerLeonhardt Feb 12, 2026
3ce73d4
Apply suggestion from @TylerLeonhardt
TylerLeonhardt Feb 12, 2026
7566dfb
Switch to unified `js/ts` settings for inlay hints
mjbvz Feb 12, 2026
b288514
Merge branch 'main' into eli/workbench-motion
eli-w-king Feb 12, 2026
9134030
adjusted speed
eli-w-king Feb 12, 2026
2354a3c
add `chat.autoReply` (#294715)
meganrogge Feb 12, 2026
386be26
Fix vertical alignment of Last Synced label in Settings header (#294663)
Copilot Feb 12, 2026
7e632ad
Merge pull request #294021 from microsoft/eli/workbench-motion
eli-w-king Feb 12, 2026
6c1af3f
Add customizations telemetry (#294741)
pwang347 Feb 12, 2026
1824010
Fix restoring non-local chat session
mjbvz Feb 12, 2026
962b547
Hook parsing fixes (#294745)
pwang347 Feb 12, 2026
317a20c
Merge pull request #294742 from mjbvz/dev/mjbvz/wicked-boa
mjbvz Feb 12, 2026
5cc2b2a
Merge pull request #294716 from microsoft/dev/mjbvz/more-esbuild-ext-…
mjbvz Feb 12, 2026
4cc4087
Merge branch 'main' into dev/mjbvz/minimal-sawfish
dmitrivMS Feb 12, 2026
b9ed3e0
Fix tests
mjbvz Feb 12, 2026
4fbcb2b
Slight chat session controller optimization
mjbvz Feb 12, 2026
8eefef2
Make chat session item timing properties readonly
mjbvz Feb 12, 2026
a413cd5
Fix add vs update confusion
mjbvz Feb 12, 2026
fa16465
Merge pull request #294754 from mjbvz/dev/mjbvz/minimal-sawfish
mjbvz Feb 12, 2026
169261c
Merge pull request #294801 from mjbvz/dev/mjbvz/chosen-raven
mjbvz Feb 12, 2026
010803c
Chat maximzed, settings view on top, esc closes both (fix #294544) (#…
bpasero Feb 12, 2026
3d7ca25
Update update action button styles to match primary VS Code buttons (…
dmitrivMS Feb 12, 2026
37bde10
Merge pull request #294798 from mjbvz/dev/mjbvz/evident-tarsier
mjbvz Feb 12, 2026
23e2c6b
Merge branch 'main' into joh/successive-shrimp
jrieken Feb 12, 2026
b56a8fd
Make sure API team is aware of changes to contributes too (#294624)
alexr00 Feb 12, 2026
d233b14
Use unique ID for quick diff widget focus toggle command (#294790)
dmitrivMS Feb 12, 2026
e72a9f5
Sanity test updates (#294782)
dmitrivMS Feb 12, 2026
ac73dc7
Optimize ChatSessionController.replace
mjbvz Feb 12, 2026
576ddce
Merge pull request #294631 from microsoft/joh/successive-shrimp
jrieken Feb 12, 2026
e44773c
Show installation progress in update status bar entry on Windows (#29…
dmitrivMS Feb 12, 2026
56069ab
Add compact layout support for Activity Bar with adjustable dimensions
mrleemurray Feb 12, 2026
783fa8d
fixed view container locations for pane composite part service (#294859)
sandy081 Feb 12, 2026
5f6c0fa
Engineering - move Alpine CLI jobs into the Alpine stage (#294852)
lszomoru Feb 12, 2026
32ae76d
Refactor icon mask size to use CSS variable for activity bar
mrleemurray Feb 12, 2026
806a3a5
Update distro
isidorn Feb 12, 2026
3a8ad66
Refactor transpileFile function to remove unused parameter and update…
jrieken Feb 12, 2026
5bb327d
Color contrast ratio of tree view description text is 4.381:1 which i…
alexr00 Feb 12, 2026
5e43400
Add unit tests for ActivitybarPart dimensions and configuration changes
mrleemurray Feb 12, 2026
d39f3da
Update keybinding test to use dynamic UUID for command ID
mrleemurray Feb 12, 2026
b13dc5e
Remove backdrop-filter from minimap in dark theme for improved perfor…
mrleemurray Feb 12, 2026
b75669b
Apply suggestion from @Copilot
mrleemurray Feb 12, 2026
e4608e2
Fix git rm of codicon.ttf (#294882)
alexr00 Feb 12, 2026
c4d9d33
Merge pull request #294881 from microsoft/mrleemurray/psychological-p…
mrleemurray Feb 12, 2026
a948014
add name to default account (#294878)
sandy081 Feb 12, 2026
deacb3a
Merge pull request #294897 from microsoft/mrleemurray/planned-emerald…
mrleemurray Feb 12, 2026
6924a14
editors - also open MCP server back in editor and not modal (#294904)
bpasero Feb 12, 2026
855722a
Startup perf regression due to top level import of `http` (fix #29485…
bpasero Feb 12, 2026
261a959
fix account name (#294913)
sandy081 Feb 12, 2026
315525c
refactor(theme): update button border color and clean up unused shado…
mrleemurray Feb 12, 2026
78e3e77
style(theme): update button hover backgrounds and enhance quick input…
mrleemurray Feb 12, 2026
06583e2
Merge pull request #294874 from microsoft/isidor/update-distro
isidorn Feb 12, 2026
0791e86
style(theme): update menu separator background and refine quick input…
mrleemurray Feb 12, 2026
e23d2e9
Refactor notifications terminalcontrib
Tyriar Feb 12, 2026
f211ce8
style(theme): adjust backdrop filter for peek view widget to enhance …
mrleemurray Feb 12, 2026
61ce2a3
style(theme): adjust background property for quick input widget rows
mrleemurray Feb 12, 2026
b5b4ab1
Avoid download pop ups and include downlaoaded content in extraction …
dmitrivMS Feb 12, 2026
ba54343
Git - store repository root in the cache along with the workspace fol…
lszomoru Feb 12, 2026
53cdd09
Ask @vscode should never open Ask mode, only agent (#294060)
pierceboggan Feb 12, 2026
6fb9c86
grid - allow to exclude views from `maximizeView` (#294948)
bpasero Feb 12, 2026
f23e9ca
Git - Fix parent repository dialog in agent session workspace (#294967)
lszomoru Feb 12, 2026
19686c2
Chat tips edit pass (#294921)
ntrogh Feb 12, 2026
0beefd6
auto reply to free form input in terminal (#294719)
meganrogge Feb 12, 2026
14b8c70
Rename inlineCompletionItems to inlineSuggestionItems for consistency…
hediet Feb 12, 2026
27abe96
- support hiding title in a part (#294970)
sandy081 Feb 12, 2026
13ea41d
remove workbench mode concept (#294985)
sandy081 Feb 12, 2026
7244a46
include tool set in `when`, use for github tip (#294971)
meganrogge Feb 12, 2026
cc31878
fix layout/contrast issues with tip widget (#294984)
meganrogge Feb 12, 2026
cb4c710
Advertise context window as one unit (#294993)
lramos15 Feb 12, 2026
1763891
make update menu actions reusable (#294995)
sandy081 Feb 12, 2026
c13b565
Merge pull request #294821 from mjbvz/dev/mjbvz/prime-herring
mjbvz Feb 12, 2026
1443559
non-responsive panel content motion (#295011)
eli-w-king Feb 12, 2026
a701cdc
refactor views and pane composite parts (#295015)
sandy081 Feb 12, 2026
d6c955c
Browser: DevTools protocol support (#294019)
kycutler Feb 12, 2026
2e81391
Adopt esbuild instead of webpack for a few more extensions
mjbvz Feb 12, 2026
5d33f34
Merge branch 'main' into dev/mjbvz/legitimate-squirrel
mjbvz Feb 12, 2026
37cdd0e
Fixing errors
mjbvz Feb 12, 2026
b5f3937
chore: onboard onto new sysroot (#294988)
rzhao271 Feb 12, 2026
27ea56f
chore: bump electron@39.5.2 (#294238)
deepak1556 Feb 12, 2026
1c7d85c
chore: add telemetry for gpu fallback mode triggered by skia (#290476)
deepak1556 Feb 12, 2026
a3e466a
Bump qs from 6.14.1 to 6.14.2 in /test/mcp (#295038)
dependabot[bot] Feb 12, 2026
9738437
Fixing error reporting and resolution of jsonc
mjbvz Feb 12, 2026
c5fb366
Merge pull request #269779 from mjbvz/dev/mjbvz/legitimate-squirrel
mjbvz Feb 12, 2026
e371f13
add support for fetching active chat session (#294992)
bhavyaus Feb 12, 2026
dfc43c7
Adopt unified js/ts setting for suggest
mjbvz Feb 12, 2026
41a5154
Merge branch 'main' into dev/mjbvz/esbuild-gunt
mjbvz Feb 12, 2026
e987c52
chore: bump extension versions (#295040)
rzhao271 Feb 12, 2026
313730f
Use `browser` if it exists
mjbvz Feb 12, 2026
0370d00
chat: make prompt discovery overrideable for scoped workspaces (#294763)
joshspicer Feb 12, 2026
1ca6934
Merge pull request #295055 from mjbvz/dev/mjbvz/mighty-horse
mjbvz Feb 12, 2026
aad1561
Merge pull request #294774 from microsoft/josh/upstream-newpromptactions
joshspicer Feb 12, 2026
73a9d49
Merge pull request #294779 from microsoft/digitarald/explore-agent-de…
digitarald Feb 13, 2026
631230f
Merge pull request #295029 from microsoft/dev/mjbvz/esbuild-gunt
mjbvz Feb 13, 2026
104123a
Merge pull request #295063 from microsoft/dev/dmitriv/flaky-download-fix
dmitrivMS Feb 13, 2026
1531635
Merge pull request #295059 from microsoft/dev/dmitriv/fetch-prevent-a…
dmitrivMS Feb 13, 2026
92d3b37
Rename `user-invokable` to `user-invocable` (#295058)
pwang347 Feb 13, 2026
16e49a8
Support prompt file slash commands in background agents (#295070)
DonJayamanne Feb 13, 2026
2830eaf
Add /models and /tools slash commands
roblourens Feb 13, 2026
730cabf
Fix esbuilt web extensions
mjbvz Feb 13, 2026
8785fc5
Fix leak warning around events
mjbvz Feb 13, 2026
a0435f6
Merge pull request #295097 from mjbvz/dev/mjbvz/western-stoat
mjbvz Feb 13, 2026
27e0fca
Merge pull request #295099 from mjbvz/dev/mjbvz/enormous-kingfisher
mjbvz Feb 13, 2026
c4f3cc8
Add attachmentCapabilities to chat request parsing (background agents…
DonJayamanne Feb 13, 2026
423cba5
Merge pull request #295090 from microsoft/roblou/additional-gull
roblourens Feb 13, 2026
c4a50d5
Modal editor: double-click header to maximize, fix outline leak (#295…
Copilot Feb 13, 2026
1da341f
Show warning when claude code hooks are detected but disabled (#294724)
roblourens Feb 13, 2026
8f5888f
Fix watch-client-transpile script to use node instead of npx (#295118)
jrieken Feb 13, 2026
7687ea5
Add SVG resource patterns for transpile/dev builds (#295119)
jrieken Feb 13, 2026
d0061bb
Window control overlay does not dim when modal custom dialog shows (f…
bpasero Feb 13, 2026
3eb326e
Cmd + w closes the window when maximized chat (fix #293051) (#295133)
bpasero Feb 13, 2026
4d38837
Move usages tool (#295139)
jrieken Feb 13, 2026
970fb63
fix declare const enum not inlined by esbuild, fixes #295046 (#295149)
jrieken Feb 13, 2026
768af7b
notifications -> notification
Tyriar Feb 13, 2026
8d43dd6
Add support for reduced transparency in accessibility settings
mrleemurray Feb 13, 2026
8bc0e77
Enhance quick input widget styling for better visibility and interaction
mrleemurray Feb 13, 2026
9d1ba05
Update codicons version to 0.0.45-7 and add new icon 'openInWindow'
mrleemurray Feb 13, 2026
0d2c8e6
Merge pull request #295164 from microsoft/mrleemurray/driving-black-cod
mrleemurray Feb 13, 2026
71c0804
Merge pull request #295166 from microsoft/mrleemurray/double-bronze-g…
mrleemurray Feb 13, 2026
a5d1c2c
Merge pull request #295171 from microsoft/mrleemurray/dusty-azure-can…
mrleemurray Feb 13, 2026
d45ab2f
Fix question carousel reappearing after window reload (#295007)
Copilot Feb 13, 2026
e1f64b1
fix: memory leak in tunnel view (#287142)
SimonSiefke Feb 13, 2026
d0a3dbb
add signout to default account (#295174)
sandy081 Feb 13, 2026
60bf105
Suppress chat tips in terminal/editor inline chat (#295170)
Copilot Feb 13, 2026
0c797c5
clean up css + fix questions carousel reload (#295084)
justschen Feb 13, 2026
75c6849
Merge remote-tracking branch 'origin/main' into tyriar/osc_notifications
Tyriar Feb 13, 2026
3c0d80a
Deny git log --output in terminal auto approve
Tyriar Feb 13, 2026
1e6c729
fix: remove appx when windows10 context menu is forced (#295187)
deepak1556 Feb 13, 2026
6e326e9
Remove confusing GitHub repository tip from chat tips (#295177)
Copilot Feb 13, 2026
2a69f02
add tips toolbar (#295175)
meganrogge Feb 13, 2026
bf09717
editor - support toggled state for modal editor size (#295199)
bpasero Feb 13, 2026
71a9aaa
Use correct method for writing to proc
Tyriar Feb 13, 2026
7f21d02
layout - show toggled icons again for maximised panel/chat (#295189)
bpasero Feb 13, 2026
0366405
Merge pull request #295198 from microsoft/tyriar/295196
Tyriar Feb 13, 2026
3a64178
refacotring (#295213)
sandy081 Feb 13, 2026
d2f1885
Hide browser on settings overlay (#295214)
kycutler Feb 13, 2026
2e0ae5f
Merge pull request #294934 from microsoft/mrleemurray/lively-amethyst…
mrleemurray Feb 13, 2026
65bfb33
Improve body/title formatting
Tyriar Feb 13, 2026
5f24d1f
Bump distro
mjbvz Feb 13, 2026
48c9032
Fix custom buttons
Tyriar Feb 13, 2026
2d4622e
Clarify support in config
Tyriar Feb 13, 2026
e595eed
Merge pull request #295221 from mjbvz/dev/mjbvz/easy-bee
mjbvz Feb 13, 2026
c6636b6
Use type param in getValue
Tyriar Feb 13, 2026
7392f65
Revert "non-responsive panel content motion (#295011)"
eli-w-king Feb 13, 2026
a3fd9a0
Revert "Merge pull request #294021 from microsoft/eli/workbench-motion"
eli-w-king Feb 13, 2026
0165d77
Layout: regression in view actions placement (fix #292481) (#295226)
bpasero Feb 13, 2026
965d950
chore: run cargo update (#295062)
rzhao271 Feb 13, 2026
289061b
Dont hide context widget between requests (#295233)
lramos15 Feb 13, 2026
e000f65
Merge branch 'main' into eli/revert-motion
eli-w-king Feb 13, 2026
f378a5c
Merge pull request #295231 from microsoft/eli/revert-motion
eli-w-king Feb 13, 2026
08de9ad
Growth chat session for new users (#295229)
joshspicer Feb 13, 2026
e17015d
Strip markdown links from output
Tyriar Feb 13, 2026
ea22b34
Engineering - use sccache during the cli build (#295241)
lszomoru Feb 13, 2026
92de02a
Remove unwanted whitespace
Tyriar Feb 13, 2026
30cd06b
Address handle feedback
Tyriar Feb 13, 2026
c5a4f26
Merge branch 'main' into tyriar/osc_notifications
Tyriar Feb 13, 2026
a8cb96e
add `when` to fix kb for question carousel (#295244)
meganrogge Feb 13, 2026
8dd65cb
enable dismissing questions with steering message (#295039)
meganrogge Feb 13, 2026
8233bb9
Add generate commands for agent customization primitives and prompt r…
digitarald Feb 13, 2026
16f401a
chat tip toolbar and accessibility improvements (#295235)
meganrogge Feb 13, 2026
7e39612
chore: Update file size limits and adjust repo info configuration def…
zhichli Feb 13, 2026
be120cf
fix: revert MAX_FILE_SIZE_BYTES to 1 MB for consistency
zhichli Feb 13, 2026
46ba9b0
fix todo kb (#295245)
meganrogge Feb 13, 2026
b449680
Merge pull request #295253 from microsoft/frightened-cricket
zhichli Feb 13, 2026
098003e
Revert "Add 'view as tree' to chat edited files list (#294284)"
roblourens Feb 13, 2026
80ee2d8
Remove unused LoopbackAuthServer from microsoft-authentication (#295254)
TylerLeonhardt Feb 13, 2026
efe6157
Merge pull request #294703 from microsoft/tyriar/osc_notifications
Tyriar Feb 13, 2026
f51ae15
[WIP] Fix Restore Checkpoint tip for non-Local agents (#295190)
Copilot Feb 13, 2026
552db6b
Merge pull request #295260 from microsoft/roblou/slight-impala
roblourens Feb 13, 2026
9d91c02
Engineering - update cache key (#295259)
lszomoru Feb 13, 2026
651ef24
Hide chat tips when chat quota is exceeded (#295249)
Copilot Feb 13, 2026
3e3ac65
Engineering - another cache key update (#295268)
lszomoru Feb 13, 2026
f29c2f2
Updating documentation for chatSessions proposal
mjbvz Feb 13, 2026
5ded895
Adopt unified js/ts setting for preferences
mjbvz Feb 13, 2026
5a24d1e
Merge pull request #295275 from mjbvz/dev/mjbvz/odd-gayal
mjbvz Feb 13, 2026
ea2ac67
Merge pull request #295277 from mjbvz/dev/mjbvz/marked-parakeet
mjbvz Feb 13, 2026
93e553f
Enable scrolling in chat widget margins (#295276)
roblourens Feb 13, 2026
2d0b88e
Remember chat editor scroll position when switching tabs (#295278)
roblourens Feb 13, 2026
8336ee1
Fix chatSkills contribution intellisense (#295285)
pwang347 Feb 14, 2026
9450406
Fix memory leak in SCM artifact provider (#295282)
dmitrivMS Feb 14, 2026
e6e9958
add 'rename' command for chat sessions (#295298)
bhavyaus Feb 14, 2026
3fb465e
Shorten update message and use prominent background (#295287)
dmitrivMS Feb 14, 2026
4252a7a
Engineering - switch to thin LTO (#295313)
lszomoru Feb 14, 2026
fe46f04
Include model id in Request Model for contributed sesions (#295303)
DonJayamanne Feb 14, 2026
2ffe827
Add the ability to toggle context widget (#295186)
lramos15 Feb 14, 2026
bd6b93b
fix: selection of string literals when string contains escape charact…
RedCMD Feb 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .claude/CLAUDE.md
420 changes: 0 additions & 420 deletions .config/guardian/.gdnbaselines

This file was deleted.

52 changes: 37 additions & 15 deletions .config/guardian/.gdnsuppress
Original file line number Diff line number Diff line change
@@ -1,46 +1,68 @@
{
"hydrated": false,
"hydrated": true,
"properties": {
"helpUri": "https://eng.ms/docs/microsoft-security/security/azure-security/cloudai-security-fundamentals-engineering/security-integration/guardian-wiki/microsoft-guardian/general/suppressions"
},
"version": "1.0.0",
"suppressionSets": {
"default": {
"name": "default",
"createdDate": "2025-03-17 11:52:32Z",
"lastUpdatedDate": "2025-03-17 11:52:32Z"
"createdDate": "2025-01-28 06:29:05Z",
"lastUpdatedDate": "2025-08-25 17:55:20Z"
}
},
"results": {
"216e2ac9cb596796224b47799f656570a01fa0d9b5f935608b47d15ab613c8e8": {
"signature": "216e2ac9cb596796224b47799f656570a01fa0d9b5f935608b47d15ab613c8e8",
"6216d3477ad4f56cb4ec316a9aaff02e9530a10d56469a4ef4063b8d02fe344b": {
"signature": "6216d3477ad4f56cb4ec316a9aaff02e9530a10d56469a4ef4063b8d02fe344b",
"alternativeSignatures": [
"07746898f43afab7cc50931b33154c2d9e1a35f82a649dbe8aecf785b3d5a813"
"46ad210995b2ff199f3bee5f271938a4251ed7a60058041ace1beaa53e36b51c"
],
"target": "file:///D:/a/_work/1/vscode-server-win32-x64/node.exe",
"memberOf": [
"default"
],
"createdDate": "2025-03-17 11:52:32Z"
"tool": "binskim",
"ruleId": "BA2008",
"createdDate": "2025-08-25 17:54:06Z"
},
"77797a3e44634bb2994bd13ccc95ff4575bba474585dbd2cf3068a1c16bc0624": {
"signature": "77797a3e44634bb2994bd13ccc95ff4575bba474585dbd2cf3068a1c16bc0624",
"b8a4702fb4b855719e5e5033c3b629fbe6267d516ce8a18bd8f3be3b9962434b": {
"signature": "b8a4702fb4b855719e5e5033c3b629fbe6267d516ce8a18bd8f3be3b9962434b",
"alternativeSignatures": [
"4a6cb67bd4b401e9669c13a2162660aaefc0a94a4122e5b50c198414db545672"
"52d986be88f1c5696fc87d7794279d02f5084c645440e2dd2c3b5a2176b6bf52"
],
"target": "file:///D:/a/_work/1/vscode-server-win32-x64-web/node.exe",
"memberOf": [
"default"
],
"createdDate": "2025-03-17 11:52:32Z"
"tool": "binskim",
"ruleId": "BA2008",
"createdDate": "2025-08-25 17:54:06Z"
},
"30418bcc5269eaeb2832a2404465784431d4e72a2af332320c2b1db4768902ad": {
"signature": "30418bcc5269eaeb2832a2404465784431d4e72a2af332320c2b1db4768902ad",
"4dbc45d0405de2e83d53f10227e36b2a9d15eceb2c5e6934da5c4a1bffbfad89": {
"signature": "4dbc45d0405de2e83d53f10227e36b2a9d15eceb2c5e6934da5c4a1bffbfad89",
"alternativeSignatures": [
"b7b9eb974d7d3a4ae14df8695ca5a62592c8c9d20b7eda70a6535d50cbda3e7f"
"b6bab85ba5e97bc4e6ff2e8a7913cb9f4f3346f7bda435d176e0b1e3cfb883cf"
],
"target": "file:///D:/a/_work/1/vscode-server-win32-arm64/node.exe",
"memberOf": [
"default"
],
"createdDate": "2025-03-17 11:52:32Z"
"tool": "binskim",
"ruleId": "BA2008",
"createdDate": "2025-08-25 17:45:35Z"
},
"024ff37af329b63d2d9c83784cc071badf63b7729e3dd0969ab921d2f04d8e09": {
"signature": "024ff37af329b63d2d9c83784cc071badf63b7729e3dd0969ab921d2f04d8e09",
"alternativeSignatures": [
"b46b7d6ed331f3e62eff23c57d3a074f76ef618f108929851065904200f5a572"
],
"target": "file:///D:/a/_work/1/vscode-server-win32-arm64-web/node.exe",
"memberOf": [
"default"
],
"tool": "binskim",
"ruleId": "BA2008",
"createdDate": "2025-08-25 17:45:35Z"
}
}
}
16 changes: 8 additions & 8 deletions .devcontainer/devcontainer-lock.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"features": {
"ghcr.io/devcontainers/features/desktop-lite:1": {
"version": "1.0.8",
"resolved": "ghcr.io/devcontainers/features/desktop-lite@sha256:e7dc4d37ab9e3d6e7ebb221bac741f5bfe07dae47025399d038b17af2ed8ddb7",
"integrity": "sha256:e7dc4d37ab9e3d6e7ebb221bac741f5bfe07dae47025399d038b17af2ed8ddb7"
"ghcr.io/devcontainers/features/desktop-lite:": {
"version": "1.2.8",
"resolved": "ghcr.io/devcontainers/features/desktop-lite@sha256:14ac23fd59afab939e6562ba6a1f42a659a805e4c574a1be23b06f28eb3b0b71",
"integrity": "sha256:14ac23fd59afab939e6562ba6a1f42a659a805e4c574a1be23b06f28eb3b0b71"
},
"ghcr.io/devcontainers/features/rust:1": {
"version": "1.3.3",
"resolved": "ghcr.io/devcontainers/features/rust@sha256:2521a8eeb4911bfcb22557c8394870ea22eb790d8e52219ddc5182f62d388995",
"integrity": "sha256:2521a8eeb4911bfcb22557c8394870ea22eb790d8e52219ddc5182f62d388995"
"ghcr.io/devcontainers/features/rust:": {
"version": "1.5.0",
"resolved": "ghcr.io/devcontainers/features/rust@sha256:0c55e65f2e3df736e478f26ee4d5ed41bae6b54dac1318c443e31444c8ed283c",
"integrity": "sha256:0c55e65f2e3df736e478f26ee4d5ed41bae6b54dac1318c443e31444c8ed283c"
}
}
}
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"dockerfile": "Dockerfile"
},
"features": {
"ghcr.io/devcontainers/features/desktop-lite:1": {},
"ghcr.io/devcontainers/features/rust:1": {}
"ghcr.io/devcontainers/features/desktop-lite:": {},
"ghcr.io/devcontainers/features/rust:": {}
},
"containerEnv": {
"DISPLAY": "" // Allow the Dev Containers extension to set DISPLAY, post-create.sh will add it back in ~/.bashrc and ~/.zshrc if not set.
Expand Down
7 changes: 3 additions & 4 deletions .eslint-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
**/extensions/markdown-language-features/media/**
**/extensions/markdown-language-features/notebook-out/**
**/extensions/markdown-math/notebook-out/**
**/extensions/mermaid-chat-features/chat-webview-out/**
**/extensions/notebook-renderers/renderer-out/index.js
**/extensions/simple-browser/media/index.js
**/extensions/terminal-suggest/src/completions/upstream/**
Expand All @@ -24,16 +25,14 @@
**/extensions/vscode-api-tests/testWorkspace2/**
**/fixtures/**
**/node_modules/**
**/out-*/**/*.js
**/out-editor-*/**
**/out/**/*.js
**/out/**
**/out-*/**
**/src/**/dompurify.js
**/src/**/marked.js
**/src/**/semver.js
**/src/typings/**/*.d.ts
**/src/vs/*/**/*.d.ts
**/src/vs/base/test/common/filters.perf.data.js
**/src/vs/loader.js
**/test/unit/assert.js
**/test/automation/out/**
**/typings/**
Expand Down
125 changes: 125 additions & 0 deletions .eslint-plugin-local/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Custom ESLint rules

We use a set of custom [ESLint](http://eslint.org) to enforce repo specific coding rules and styles. These custom rules are run in addition to many standard ESLint rules we enable in the project. Some example custom rules includes:

- Enforcing proper code layering
- Preventing checking in of `test.only(...)`
- Enforcing conventions in `vscode.d.ts`

Custom rules are mostly used for enforcing or banning certain coding patterns. We tend to leave stylistic choices up to area owners unless there's a good reason to enforce something project wide.

This doc provides a brief overview of how these rules are setup and how you can add a new one.

# Resources
- [ESLint rules](https://eslint.org/docs/latest/extend/custom-rules) — General documentation about writing eslint rules
- [TypeScript ASTs and eslint](https://typescript-eslint.io/blog/asts-and-typescript-eslint/) — Look at how ESLint works with TS programs
- [ESTree selectors](https://eslint.org/docs/latest/extend/selectors) — Info about the selector syntax rules use to target specific nodes in an AST. Works similarly to css selectors.
- [TypeScript ESLint playground](https://typescript-eslint.io/play/#showAST=es) — Useful tool for figuring out the structure of TS programs and debugging custom rule selectors


# Custom Rule Configuration

Custom rules are defined in the `.eslint-plugin-local` folder. Each rule is defined in its own TypeScript file. These follow the naming convention:

- `code-RULE-NAME.ts` — General rules that apply to the entire repo.
- `vscode-dts-RULE-NAME.ts` — Rules that apply just to `vscode.d.ts`.

These rules are then enabled in the `eslint.config.js` file. This is the main eslint configuration for our repo. It defines a set of file scopes which rules should apply to files in those scopes.

For example, here's a configuration that enables the no `test.only` rule in all `*.test.ts` files in the VS Code repo:

```ts
{
// Define which files these rules apply to
files: [
'**/*.test.ts'
],
languageOptions: { parser: tseslint.parser, },
plugins: {
'local': pluginLocal,
},
rules: {
// Enable the rule from .eslint-plugin-local/code-no-test-only.ts
'local/code-no-test-only': 'error',
}
}
```

# Creating a new custom rule
This walks through the steps to create a new eslint rule:

1. Create a new rule file under `.eslint-plugin-local`. Generally you should call it `code-YOUR-RULE-NAME.ts`, for example, `.eslint-plugin-local/code-no-not-null-assertions-on-undefined-values.ts`

2. In this file, add the rule. Here's a template:

```ts
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import * as eslint from 'eslint';

export = new class YourRuleName implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
messages: {
customMessageName: 'message text shown in errors/warnings',
},
schema: false,
};

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
return {
[SELECTOR]: (node: any) => {
// Report errors if needed
return context.report({
node,
messageId: 'customMessageName'
});
}
};
}
};
```

- Update the name of the class to match the name of your rule
- Add message entries for any errors you want to report
- Update `SELECTOR` with the [ESTree selector](https://eslint.org/docs/latest/extend/selectors) needed to target the nodes you are interested in. Use the [TypeScript ESLint playground](https://typescript-eslint.io/play/#showAST=es) to figure out which nodes you need and debug selectors

3. Register the rule in `eslint.config.js`

Generally this is just turning on the rule in the rule list like so:

```js
rules: {
// Name should match file name
'local/code-no-not-null-assertions-on-undefined-values': 'warn',
...
}
```

Rules can also take custom arguments. For example, here's how we can pass arguments to a custom rule in the `eslint.config.js`:

```
rules: {
'local/code-no-not-null-assertions-on-undefined-values': ['warn', { testsOk: true }],
...
}
```

In these cases make sure to update the `meta.schema` property on your rule with the JSON schema for the arguments. You can access these arguments using `context.options` in the rule `create` function


## Adding fixes to custom rules
Fixes are a useful way to mechanically fix basic linting issues, such as auto inserting semicolons. These fixes typically work at the AST level, so they are a more reliable way to perform bulk fixes compared to find/replaces.

To add a fix for a custom rule:

1. On the `meta` for your rule, add `fixable: 'code'`

2. When reporting an error in the rule, also include a `fix`. This is a function that takes a `fixer` argument and returns one or more fixes.

See the [Double quoted to single quoted string covert fix](https://github.com/microsoft/vscode/blob/b074375e1884ae01033967bf0bbceeaa4795354a/.eslint-plugin-local/code-no-unexternalized-strings.ts#L128) for an example. The ESLint docs also have [details on adding fixes and the fixer api](https://eslint.org/docs/latest/extend/custom-rules#applying-fixes)

The fixes can be run using `npx eslint --fix` in the VS Code repo
13 changes: 8 additions & 5 deletions .eslint-plugin-local/code-amd-node-module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
*--------------------------------------------------------------------------------------------*/

import * as eslint from 'eslint';
import type * as ESTree from 'estree';
import { readFileSync } from 'fs';
import { join } from 'path';


export = new class ApiProviderNaming implements eslint.Rule.RuleModule {
export default new class ApiProviderNaming implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
messages: {
Expand All @@ -21,7 +23,8 @@ export = new class ApiProviderNaming implements eslint.Rule.RuleModule {
const modules = new Set<string>();

try {
const { dependencies, optionalDependencies } = require(join(__dirname, '../package.json'));
const packageJson = JSON.parse(readFileSync(join(import.meta.dirname, '../package.json'), 'utf-8'));
const { dependencies, optionalDependencies } = packageJson;
const all = Object.keys(dependencies).concat(Object.keys(optionalDependencies));
for (const key of all) {
modules.add(key);
Expand All @@ -33,13 +36,13 @@ export = new class ApiProviderNaming implements eslint.Rule.RuleModule {
}


const checkImport = (node: any) => {
const checkImport = (node: ESTree.Literal & { parent?: ESTree.Node & { importKind?: string } }) => {

if (node.type !== 'Literal' || typeof node.value !== 'string') {
if (typeof node.value !== 'string') {
return;
}

if (node.parent.importKind === 'type') {
if (node.parent?.type === 'ImportDeclaration' && node.parent.importKind === 'type') {
return;
}

Expand Down
5 changes: 3 additions & 2 deletions .eslint-plugin-local/code-declare-service-brand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
*--------------------------------------------------------------------------------------------*/

import * as eslint from 'eslint';
import type * as ESTree from 'estree';

export = new class DeclareServiceBrand implements eslint.Rule.RuleModule {
export default new class DeclareServiceBrand implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
fixable: 'code',
Expand All @@ -14,7 +15,7 @@ export = new class DeclareServiceBrand implements eslint.Rule.RuleModule {

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
return {
['PropertyDefinition[key.name="_serviceBrand"][value]']: (node: any) => {
['PropertyDefinition[key.name="_serviceBrand"][value]']: (node: ESTree.PropertyDefinition) => {
return context.report({
node,
message: `The '_serviceBrand'-property should not have a value`,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
*--------------------------------------------------------------------------------------------*/

import * as eslint from 'eslint';
import { Node } from 'estree';
import type * as estree from 'estree';

export = new class EnsureNoDisposablesAreLeakedInTestSuite implements eslint.Rule.RuleModule {
export default new class EnsureNoDisposablesAreLeakedInTestSuite implements eslint.Rule.RuleModule {

readonly meta: eslint.Rule.RuleMetaData = {
type: 'problem',
Expand All @@ -18,15 +18,15 @@ export = new class EnsureNoDisposablesAreLeakedInTestSuite implements eslint.Rul
};

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
const config = <{ exclude: string[] }>context.options[0];
const config = context.options[0] as { exclude: string[] };

const needle = context.getFilename().replace(/\\/g, '/');
if (config.exclude.some((e) => needle.endsWith(e))) {
return {};
}

return {
[`Program > ExpressionStatement > CallExpression[callee.name='suite']`]: (node: Node) => {
[`Program > ExpressionStatement > CallExpression[callee.name='suite']`]: (node: estree.Node) => {
const src = context.getSourceCode().getText(node);
if (!src.includes('ensureNoDisposablesAreLeakedInTestSuite(')) {
context.report({
Expand Down
Loading