Skip to content
This repository has been archived by the owner on Feb 25, 2025. It is now read-only.

Fetch upstream 17/09/24 #775

Closed
wants to merge 2,679 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2679 commits
Select commit Hold shift + click to select a range
a8cef90
Update cancel request string
daviddossett Sep 12, 2024
649cd43
Merge pull request #228366 from microsoft/ddossett/additional-amphibian
daviddossett Sep 12, 2024
ac39f50
Merge pull request #228369 from microsoft/ddossett/medieval-hedgehog
daviddossett Sep 12, 2024
c507fa1
skip workspace scoped extensions (#228375)
sandy081 Sep 12, 2024
361389a
Polish inline chat widget
daviddossett Sep 12, 2024
fbbda59
:up: watcher (#228376)
bpasero Sep 12, 2024
fb19ae9
Fix syntax highlighting with tree sitter for nested scopes (#228378)
alexr00 Sep 12, 2024
c5ec4d8
Merge pull request #228379 from microsoft/ddossett/collective-mollusk
daviddossett Sep 12, 2024
adc7335
SCM Graph - fix action item title and order (#228380)
lszomoru Sep 12, 2024
4061d3b
Catch errors in the tree sitter parse callback (#228381)
alexr00 Sep 12, 2024
09ff312
Update GettingStartedAccessibleView to support navigating between ste…
bhavyaus Sep 12, 2024
1fe6644
Polish styling of inline anchors
mjbvz Sep 12, 2024
77090e7
Merge pull request #228387 from mjbvz/faint-reindeer
mjbvz Sep 12, 2024
6989ae8
Merge branch 'main' into querulous-takin
mjbvz Sep 12, 2024
f0fe13e
Merge pull request #228173 from mjbvz/querulous-takin
mjbvz Sep 12, 2024
ffcdf47
View Notebook Metadata changes in Notebook Diff Editor (#228279)
DonJayamanne Sep 12, 2024
c4645ea
Restore changes to ipynb extension to serialize notebook in node work…
DonJayamanne Sep 12, 2024
decdaa6
override icon for repl editor (#228395)
amunger Sep 12, 2024
59123b9
Adding some more commands to chat anchors
mjbvz Sep 12, 2024
9148684
Merge pull request #228398 from mjbvz/formidable-swift
mjbvz Sep 12, 2024
db2a1df
Use an EventBufferer to ensure only one event across PCAs (#228400)
TylerLeonhardt Sep 12, 2024
a512ad3
Polish chat code block toolbar
daviddossett Sep 12, 2024
9f3178d
Improved accuracy in calculating cell editor lines for nb diff editor…
DonJayamanne Sep 13, 2024
0f2728b
Merge pull request #228402 from microsoft/ddossett/gigantic-bug
daviddossett Sep 13, 2024
87f45b9
Fixing inline anchor for minimal icon theme
mjbvz Sep 13, 2024
82280a7
Merge pull request #228404 from mjbvz/nutritious-sparrow
mjbvz Sep 13, 2024
e70d44e
notebook accept all changes and run (#228405)
rebornix Sep 13, 2024
f4746c9
Add tests for calculation of editor heights in nb diff viewer (#228408)
DonJayamanne Sep 13, 2024
d916e3c
Add gpu fallback
tisilent Sep 13, 2024
a86459a
Engineering - update DownloadPipelineArtifact task (#228419)
lszomoru Sep 13, 2024
fa28177
keybindings - gather command labels from all menus (#228372)
bpasero Sep 13, 2024
8a9caf3
SCM Graph - Add "Create Tag" action to history item context menu (#22…
lszomoru Sep 13, 2024
d0bd185
move extension signature verification to main process in insider (#22…
sandy081 Sep 13, 2024
2053fb8
Fix positioning of DND overlay in inline chat widget (#228441)
benibenj Sep 13, 2024
5d55ab4
Fix error when element index is not found (#228444)
benibenj Sep 13, 2024
7dd4d72
watcher - make configuration to use next watcher support remote as we…
bpasero Sep 13, 2024
8f58b1a
SCM Graph - maintain history item filter references state when view i…
lszomoru Sep 13, 2024
4376d38
SCM Graph - Add "Create Branch..." command to the history item contex…
lszomoru Sep 13, 2024
61f6fbf
SCM Graph - save history item references filter to workspace storage …
lszomoru Sep 13, 2024
b846e4e
:up: watcher (#228457)
bpasero Sep 13, 2024
9cff170
Merge remote-tracking branch 'origin/main' into tyriar/227097
Tyriar Sep 13, 2024
637ffc6
Support multiple comment widgets per notebook cell. (#226770)
rehmsen Sep 13, 2024
597b5e9
SCM Graph - Add more commands to the context menu (#228480)
lszomoru Sep 13, 2024
ee90f64
Remove view from tree find controller (#228482)
benibenj Sep 13, 2024
f4eeb61
Fix setting of canvas dims, improve handling of atlas event
Tyriar Sep 13, 2024
300858b
Merge commit 'd916e3c' into tyriar/gpu_improve
Tyriar Sep 13, 2024
c709bd5
Merge pull request #228342 from microsoft/tyriar/227097
Tyriar Sep 13, 2024
e35d7a6
untangle the insert and apply codeblock actions (#228492)
aeschli Sep 13, 2024
9e55a72
Merge branch 'main' into gpu-fallback
Tyriar Sep 13, 2024
5c0f7b7
Edit Context: reverting the long-press E fix to fix copy-paste (#228494)
aiday-mar Sep 13, 2024
383552e
Use tab size to calculate renderer tab advance
Tyriar Sep 13, 2024
86cd74e
Merge pull request #228414 from tisilent/gpu-fallback
Tyriar Sep 13, 2024
8a079a7
Merge remote-tracking branch 'origin/main' into tyriar/gpu_improve
Tyriar Sep 13, 2024
6247179
Merge branch 'main' into tyriar/gpu_improve
Tyriar Sep 13, 2024
6f98ee1
Move tests to expected loc, add missing tests, share impl
Tyriar Sep 13, 2024
6f09c5a
Merge pull request #228490 from microsoft/tyriar/gpu_improve
Tyriar Sep 13, 2024
03dc521
fix: support creating files from Apply in Editor (#228513)
joyceerhl Sep 13, 2024
5503abe
watcher - log `useNext` condition (#228514)
bpasero Sep 13, 2024
9f268f6
Merge branch 'main' into tyriar/227109
Tyriar Sep 13, 2024
365d0be
#223942 Feedback on blocking extension installation when verification…
sandy081 Sep 13, 2024
21aedd9
Add any to support.type.primitive (#228515)
alexr00 Sep 13, 2024
e8a419d
Merge pull request #228506 from microsoft/tyriar/227109
Tyriar Sep 13, 2024
aae780b
fix local file search for vscode.dev (#228519)
andreamah Sep 13, 2024
bfc1636
Merge pull request #228512 from microsoft/tyriar/228498
Tyriar Sep 13, 2024
ac405f3
Support multiple font size and family rendering
Tyriar Sep 13, 2024
798e881
Revert "Update the import paths for media files in gettingStartedServ…
bhavyaus Sep 13, 2024
dd25af5
Polish getting started page (fix #226991) (#226994)
PhantomPower82 Sep 13, 2024
ac65d51
Merge pull request #228536 from microsoft/tyriar/227088
Tyriar Sep 13, 2024
3fd5eb3
apply in editor: check for pending changes (#228585)
aeschli Sep 13, 2024
6bd8e90
Misc fixes for Sovereign Clouds (#228591)
TylerLeonhardt Sep 13, 2024
609eac3
re #227087. update editor jsdocs (#228580)
rebornix Sep 13, 2024
1e71f99
Reverse focus keybindings for QuickChat (#228602)
TylerLeonhardt Sep 13, 2024
4b10d94
Nb multiselect support for core editor actions + arrow navigation (#2…
Yoyokrazy Sep 13, 2024
056af29
SCM Graph - Add "Go to Current History Item" action (#228600)
lszomoru Sep 13, 2024
7d966aa
Add ChatGettingStartedContribution to chat.contribution.ts (#228603)
bhavyaus Sep 13, 2024
561cf00
add screen reader, windows, default keybindings for navigating words …
meganrogge Sep 13, 2024
a8343f1
Git - retrieve references as part of updating the model (#228609)
lszomoru Sep 13, 2024
31e597c
Git - only compute incoming changes decorations when needed (#228611)
lszomoru Sep 13, 2024
d3e927d
Add `attach as context` context menu option to inline resource anchor…
mjbvz Sep 13, 2024
94d1200
Slightly reduce overall chat padding
daviddossett Sep 13, 2024
a110651
More tweaks
daviddossett Sep 13, 2024
83285ac
Merge pull request #228614 from microsoft/ddossett/public-trout
daviddossett Sep 14, 2024
6cf7a47
Revert "add screen reader, windows, default keybindings for navigatin…
Tyriar Sep 14, 2024
5affce6
Add keybinding rules to output
Tyriar Sep 14, 2024
4eb785e
Rectangles initial
Tyriar Sep 14, 2024
26ae451
Git - truncate commit hashes before running git log (#228643)
lszomoru Sep 15, 2024
00eda6b
watcher - log failed recursive requests (#228653)
bpasero Sep 15, 2024
07bd3cf
Make Tree Find Toggles Contributable (#228516)
benibenj Sep 15, 2024
f0cdaab
[html] Pasting HTML code adds extra closing tag on first line (#228662)
aeschli Sep 15, 2024
044eb11
code block apply improvements: more dialogs, reveal code block and pr…
aeschli Sep 15, 2024
8732ffb
registerMappedEditsProvider2
aeschli Sep 15, 2024
b1d9889
Move ChatRequest#toolInvocationToken to lmTools proposal (#228687)
roblourens Sep 15, 2024
3be54cc
Split input actions, move attachments inside chat input (#228684)
roblourens Sep 15, 2024
e34ecab
easier to use show options, notebook repl editor helper (#228577)
amunger Sep 16, 2024
e6228eb
[Refactoring] refactoring color picker code - removing cyclic depende…
aiday-mar Sep 16, 2024
0417a90
check for dependency exports (#228704)
sandy081 Sep 16, 2024
3645d2d
disallow installing unsigned extensions (#228701)
sandy081 Sep 16, 2024
88b706b
watcher - support suspend/resume for non-correlated requests (#228703)
bpasero Sep 16, 2024
5b7824b
fix updating log level for main (#228707)
sandy081 Sep 16, 2024
2c08afe
fix buffer logger to listen to logger log level changes (#228709)
sandy081 Sep 16, 2024
97e1247
Adjust position of featured icon in gettingStarted.css (#228716)
bhavyaus Sep 16, 2024
36e764a
Separate enablment of ports view and featues (#228358)
alexr00 Sep 16, 2024
5a26cbb
Fixing the IME window jumping on composition (#228004)
aiday-mar Sep 16, 2024
88fd73d
Add IObjectCollectionBuffer.entryCount
Tyriar Sep 16, 2024
19e8f35
Git Graph - history item badges should look like pills (#228728)
lszomoru Sep 16, 2024
e00035b
watcher - massage requests in the extension host instead of window (#…
bpasero Sep 16, 2024
8ac4186
Use pixel coordinates for rectangles
Tyriar Sep 16, 2024
330004b
Add rectangle color
Tyriar Sep 16, 2024
b10b656
Simplify wgsl position calculation
Tyriar Sep 16, 2024
2cd41ff
Create gpu rulers
Tyriar Sep 16, 2024
2c25274
Git Graph - truncate editor title for history items (#228738)
lszomoru Sep 16, 2024
5145052
Add rulers GPU component
Tyriar Sep 16, 2024
4ea803a
Refactor gettingStarted.ts to support going back to previous walkthro…
bhavyaus Sep 16, 2024
bd32443
Bump default target to es2022 (#228744)
mjbvz Sep 16, 2024
6a81a01
WIP
joyceerhl Sep 16, 2024
37f77b1
Merge pull request #228630 from microsoft/tyriar/fix-output-cleanup
Tyriar Sep 16, 2024
88184c6
Scaffolding
alexdima Sep 16, 2024
f198a57
Register empty media for accessibility walkthrough (#228747)
bhavyaus Sep 16, 2024
bcd0388
Support `setting(my-setting-id)` in release notes (#228749)
alexr00 Sep 16, 2024
31d2f01
Git Graph - do not show the view in serverless (#228754)
lszomoru Sep 16, 2024
bc79894
Don't show `Go Back` button when the walkthrough is opened from cmd (…
bhavyaus Sep 16, 2024
9d7e4e9
Use viewport content left in rectangle renderer
Tyriar Sep 16, 2024
6f286b8
Revert "Reverse focus keybindings for QuickChat" (#228756)
meganrogge Sep 16, 2024
b2e8842
debug: ensure ansi colors for debug output have appropriate contrast …
connor4312 Sep 16, 2024
4e87d2a
Register service and implement Apply All command on top of new API
joyceerhl Sep 16, 2024
60012f8
setRaw data in rulers and use observables
Tyriar Sep 16, 2024
9eeccd1
Apply auto synthesize setting to textual input for chat requests for …
meganrogge Sep 16, 2024
ec3c394
Start of scroll support
Tyriar Sep 16, 2024
3017a19
Add scope for `of` in typescript.scm (#228764)
alexr00 Sep 16, 2024
b3a0c63
Add missing main thread import
alexdima Sep 16, 2024
a9d2b65
re-organize Search Model for new AI results branch of workbench tree …
andreamah Sep 16, 2024
dc8e741
Allow specific comments to be focused on (#228770)
alexr00 Sep 16, 2024
853a5c9
dont create a run menu for IW cells (#228760)
amunger Sep 16, 2024
b21bcd3
Tackling multiple problems:
alexdima Sep 16, 2024
10dd5c6
Allow pushing an array of edits
alexdima Sep 16, 2024
777f691
Fix filtering multiple compressed nodes (#228775)
benibenj Sep 16, 2024
c3eed3f
Fix problem with yielding too quickly from the `mapCode` method
alexdima Sep 16, 2024
090ec63
Turn on preview for applying edits
alexdima Sep 16, 2024
9220dbe
Remove unused interface
alexdima Sep 16, 2024
c4efe1d
Merge pull request #228683 from microsoft/aeschli/respectable-sailfis…
alexdima Sep 16, 2024
77bf09a
amd - fix compile error (#228789)
bpasero Sep 17, 2024
a7c9ee5
SCM - 💄 remove negative view order (#228795)
lszomoru Sep 17, 2024
b15d1a9
config - reduce work from file changes events (#228794)
bpasero Sep 17, 2024
1ffdce9
SCM Graph - sort history item references based on current/remote/base…
lszomoru Sep 17, 2024
1d10fa2
Git - terminal shell integration to handle missing sub command (#228809)
lszomoru Sep 17, 2024
796ec12
Edit Context: Force blur on disposal of editor with native edit conte…
aiday-mar Sep 17, 2024
5dc2ffa
Abstract find controller (#228812)
benibenj Sep 17, 2024
ab6a102
Refactoring `_getNewEditContextState` (#228730)
aiday-mar Sep 17, 2024
dea6413
Set input of relay of splice (#228813)
benibenj Sep 17, 2024
491bc04
Scorch old aideProbe implementation
ghostwriternr Sep 17, 2024
dfa3888
Git - use --stdin when running git log (#228817)
lszomoru Sep 17, 2024
1d39939
Implement chat model picker (#228784)
roblourens Sep 17, 2024
f962d91
Set correct buffer length based on instance capacity
Tyriar Sep 17, 2024
61f3f97
Set ruler height to max height
Tyriar Sep 17, 2024
c6c2868
Merge branch 'main' into tyriar/221211
Tyriar Sep 17, 2024
2ecac35
Only update scroll buffer on scroll
Tyriar Sep 17, 2024
6a3435c
Update scroll left in main render strategy
Tyriar Sep 17, 2024
26dbb88
Track dirty indices in objcollectionbuffer
Tyriar Sep 17, 2024
951a15e
Tests for BufferDirtyTracker
Tyriar Sep 17, 2024
516ec31
Merge pull request #228632 from microsoft/tyriar/221211
Tyriar Sep 17, 2024
04ef655
Merge branch 'main' into tyriar/221211__228833
Tyriar Sep 17, 2024
c87cfaf
Improve port setting descriptions (#228839)
alexr00 Sep 17, 2024
1740abb
nls - stricter check for `document.location.hash` (#228847)
bpasero Sep 17, 2024
2a6d7ff
chore: update [email protected] (#228849)
deepak1556 Sep 17, 2024
0ebeb22
Expand object collection buffer when capacity hit
Tyriar Sep 17, 2024
b94e29f
Merge pull request #228843 from microsoft/tyriar/221211__228833
Tyriar Sep 17, 2024
31cde11
Merge remote-tracking branch 'origin/main' into tyriar/228834
Tyriar Sep 17, 2024
6c478a6
Fix test to no longer expect exception
Tyriar Sep 17, 2024
5a02744
Merge pull request #228855 from microsoft/tyriar/228834
Tyriar Sep 17, 2024
cca0d7c
notebook variable view updates (#228856)
amunger Sep 17, 2024
c757c1e
Basic wire-up
ghostwriternr Sep 17, 2024
0e5b902
Add telemetry for inline anchor links (#228859)
mjbvz Sep 17, 2024
faf91f4
Merge remote-tracking branch 'origin/cs-main' into zed-like-aidecontrols
ghostwriternr Sep 17, 2024
f4920de
Revert "Abstract find controller" (#228861)
rzhao271 Sep 17, 2024
5b16491
Notebook multi select -- decorations + general improvements (#228779)
Yoyokrazy Sep 17, 2024
dafdad8
extensions: wrap table cell content in paragraph element (#228365)
sunnylost Sep 17, 2024
d9199ab
Add a chat editing service to show edits (#228854)
alexdima Sep 17, 2024
54ef500
Add dummy codeEdit API
ghostwriternr Sep 17, 2024
e479401
Merge remote-tracking branch 'upstream/main' into fetch-upstream-170924
ghostwriternr Sep 18, 2024
7525a00
Purge aideChat
ghostwriternr Sep 18, 2024
c626678
Fix model selection service initialisation
ghostwriternr Sep 18, 2024
47fb3f4
Fix window controls position in titlebar
ghostwriternr Sep 18, 2024
61d180b
Merge remote-tracking branch 'origin/cs-main' into fetch-upstream-170924
ghostwriternr Sep 18, 2024
8ab43a1
Merge remote-tracking branch 'origin/cs-main' into fetch-upstream-170924
ghostwriternr Sep 18, 2024
75dd68c
Merge remote-tracking branch 'origin/cs-main' into fetch-upstream-170924
ghostwriternr Sep 18, 2024
58208cb
Merge branch 'fetch-upstream-170924' into refactor-probe-flow
ghostwriternr Sep 18, 2024
b810d82
Merge remote-tracking branch 'origin/cs-main' into actually-refactor-…
ghostwriternr Sep 18, 2024
ece2670
Scaffold new aideAgent layer from upstream chat
ghostwriternr Sep 19, 2024
f248447
Move pinned context below file explorer due to height
ghostwriternr Sep 19, 2024
bf59232
Make aide view the default and exclusive member of auxbar
ghostwriternr Sep 19, 2024
c67bc74
Cleanup input actions and default to anysphere theme
ghostwriternr Sep 19, 2024
35bf32d
Fix welcome message icon & name rendering
ghostwriternr Sep 20, 2024
9de39f6
WIP, broken: Bring back cursor-style input suggestions
ghostwriternr Sep 20, 2024
c1ee432
Get selection secondary state filtering working
ghostwriternr Sep 21, 2024
f3d35ee
Show keybindings for chat execute actions
ghostwriternr Sep 21, 2024
2ee54d0
Use subtler highlight for AST navigation
ghostwriternr Sep 24, 2024
9cd9ed2
Remove unnecessary sidebar left border
ghostwriternr Sep 24, 2024
217da5a
Add dummy mode toggle (not a fan)
ghostwriternr Sep 24, 2024
9a16d07
[WIP] Scaffold async chat messages
ghostwriternr Sep 24, 2024
f7816b3
Revert mode-switcher changes
ghostwriternr Sep 26, 2024
67885be
Add new mode picker in aide agent input
ghostwriternr Sep 26, 2024
26ad4b7
Merge remote-tracking branch 'origin/cs-main' into actually-refactor-…
ghostwriternr Sep 26, 2024
5a0e570
Pass mode to extension to choose between chat & edits
ghostwriternr Sep 26, 2024
3432d59
Delete unnecessary action
ghostwriternr Sep 26, 2024
e2949ec
Merge remote-tracking branch 'origin/cs-main' into refactor-probe-flow
ghostwriternr Sep 27, 2024
e30a111
Set scope for edits and pass them to extension
ghostwriternr Sep 27, 2024
f84b59a
Merge remote-tracking branch 'origin/cs-main' into refactor-probe-flow
ghostwriternr Sep 30, 2024
bcc5bb3
Apply probeProvider changes to aideAgentProvider
ghostwriternr Sep 30, 2024
c502b13
Deduplicate used references in response
ghostwriternr Sep 30, 2024
9d3397b
Merge remote-tracking branch 'origin/cs-main' into refactor-probe-flow
ghostwriternr Sep 30, 2024
35bf6b9
Bring back rudimentary codeEdit API with no decorations or states
ghostwriternr Sep 30, 2024
2df2664
Fix undo behaviour when applying edits
ghostwriternr Sep 30, 2024
ad695df
WIP: Bring back aideControls using chat widget
ghostwriternr Sep 30, 2024
f59082d
Experiment with floating bottombar
ghostwriternr Sep 30, 2024
a7c903c
Revert "Experiment with floating bottombar"
ghostwriternr Sep 30, 2024
120469c
Better minimum height for aide controls
ghostwriternr Sep 30, 2024
9c4637b
Reapply "Experiment with floating bottombar"
ghostwriternr Sep 30, 2024
73b51fd
Merge remote-tracking branch 'origin/cs-main' into refactor-probe-flow
ghostwriternr Sep 30, 2024
8d464f6
Revert "Reapply "Experiment with floating bottombar""
ghostwriternr Sep 30, 2024
8e6a44e
Revert "WIP: Bring back aideControls using chat widget"
ghostwriternr Sep 30, 2024
bf9b958
WIP: Bring back floating aide widget
ghostwriternr Oct 1, 2024
455b835
Support initiating an edit from floating widget
ghostwriternr Oct 1, 2024
5488b6e
Toggle floating widget using the keyboard
ghostwriternr Oct 2, 2024
165f125
Fix floating widget resizing when input size changes
ghostwriternr Oct 2, 2024
a617496
Fix cancellation of responses
ghostwriternr Oct 2, 2024
7b0fcef
Merge remote-tracking branch 'origin/cs-main' into refactor-probe-flow
ghostwriternr Oct 2, 2024
eafe2a8
Remove open files variable temporarily
ghostwriternr Oct 2, 2024
4fa4b1e
Get rid of rendering rate limit in chat
ghostwriternr Oct 2, 2024
a6108b3
WIP: Get file references to work (sidecar is crashing)
ghostwriternr Oct 4, 2024
814cfb4
Prototype v1 of accept/reject flows for codeEdits
ghostwriternr Oct 4, 2024
9729005
[ide] start timer and toggle deep reasoning
theskcd Oct 3, 2024
f03ede1
[sidecar] bundle quick fix and suggestions
sartoshi-foot-dao Oct 4, 2024
ef63a46
[ide] diagnostics from editor, concurrently
sartoshi-foot-dao Oct 4, 2024
1dbdc0d
[ide] stabilise enhanced diags
sartoshi-foot-dao Oct 4, 2024
a9a31a2
[ide] merging trying
theskcd Oct 5, 2024
1d7df5a
[ide] fixing merge conflicts
theskcd Oct 4, 2024
908438e
[ide] fix extra import
theskcd Oct 4, 2024
87287b6
[ide] fixing merge conflicts
sartoshi-foot-dao Oct 4, 2024
e7d8ba1
[ide] time performance
sartoshi-foot-dao Oct 4, 2024
2d30117
[ide] fix name
sartoshi-foot-dao Oct 4, 2024
52cd0e0
[ide] add endpoint for go to type definition
theskcd Oct 4, 2024
d9c6145
[ide] bring this branch to cs-main equivalent
theskcd Oct 5, 2024
4bc2156
[ide] run providers for file and code in parallel
theskcd Oct 5, 2024
e4ec658
[ide] make probe flow hit the sidecar
theskcd Oct 6, 2024
61428ba
wiring wip
g-danna Oct 6, 2024
17b2445
[ide] add planstep to dto for response
theskcd Oct 6, 2024
6432a9e
[ide] fix the off by 1 error in range calculations
theskcd Oct 6, 2024
491e4c0
removed useless type
g-danna Oct 6, 2024
2ea6900
ui scaffolding
g-danna Oct 6, 2024
72f7752
[ide] fix the anchored editing flow
theskcd Oct 6, 2024
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.
13 changes: 1 addition & 12 deletions .configurations/configuration.dsc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,6 @@ properties:
id: OpenJS.NodeJS.LTS
version: "20.14.0"
source: winget
- resource: NpmDsc/NpmPackage
id: yarn
dependsOn:
- npm
directives:
description: Install Yarn
allowPrerelease: true
settings:
Name: 'yarn'
Global: true
PackageDirectory: '${WinGetConfigRoot}\..\'
- resource: Microsoft.WinGet.DSC/WinGetPackage
directives:
description: Install Python 3.10
Expand Down Expand Up @@ -56,7 +45,7 @@ properties:
includeRecommended: true
components:
- Microsoft.VisualStudio.Workload.VCTools
- resource: YarnDsc/YarnInstall
- resource: NpmDsc/NpmInstall
dependsOn:
- npm
directives:
Expand Down
4 changes: 2 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ RUN git config --system codespaces-theme.hide-status 1

USER node
RUN npm install -g node-gyp
RUN YARN_CACHE="$(yarn cache dir)" && rm -rf "$YARN_CACHE" && ln -s /vscode-dev/yarn-cache "$YARN_CACHE"
RUN NPM_CACHE="$(npm config get cache)" && rm -rf "$NPM_CACHE" && ln -s /vscode-dev/npm-cache "$NPM_CACHE"
RUN echo 'export DISPLAY="${DISPLAY:-:1}"' | tee -a ~/.bashrc >> ~/.zshrc

USER root
CMD chown node:node /vscode-dev && sudo -u node mkdir -p /vscode-dev/yarn-cache && sleep inf
CMD chown node:node /vscode-dev && sudo -u node mkdir -p /vscode-dev/npm-cache && sleep inf
4 changes: 2 additions & 2 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ If you already have VS Code and Docker installed, you can click the badge above

4. Press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Dev Containers: Clone Repository in Container Volume...**.

> **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend using the WSL filesystem on Windows or the "clone repository in container" approach on Windows and macOS instead since it uses "named volume" rather than the local filesystem.
> **Tip:** While you can use your local source tree instead, operations like `npm i` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend using the WSL filesystem on Windows or the "clone repository in container" approach on Windows and macOS instead since it uses "named volume" rather than the local filesystem.

5. Type `https://github.com/microsoft/vscode` (or a branch or PR URL) in the input box and press <kbd>Enter</kbd>.

Expand Down Expand Up @@ -85,7 +85,7 @@ To start working with Code - OSS, follow these steps:
1. In your local VS Code client, open a terminal (<kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>\`</kbd>) and type the following commands:

```bash
yarn install
npm i
bash scripts/code.sh
```

Expand Down
5 changes: 5 additions & 0 deletions .devcontainer/devcontainer-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
"version": "1.0.8",
"resolved": "ghcr.io/devcontainers/features/desktop-lite@sha256:e7dc4d37ab9e3d6e7ebb221bac741f5bfe07dae47025399d038b17af2ed8ddb7",
"integrity": "sha256:e7dc4d37ab9e3d6e7ebb221bac741f5bfe07dae47025399d038b17af2ed8ddb7"
},
"ghcr.io/devcontainers/features/rust:1": {
"version": "1.1.3",
"resolved": "ghcr.io/devcontainers/features/rust@sha256:aba6f47303b197976902bf544c786b5efecc03c238ff593583e5e74dfa9c7ccb",
"integrity": "sha256:aba6f47303b197976902bf544c786b5efecc03c238ff593583e5e74dfa9c7ccb"
}
}
}
3 changes: 2 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"dockerfile": "Dockerfile"
},
"features": {
"ghcr.io/devcontainers/features/desktop-lite:1": {}
"ghcr.io/devcontainers/features/desktop-lite:1": {},
"ghcr.io/devcontainers/features/rust:1": {}
},
"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
4 changes: 2 additions & 2 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh

yarn install --network-timeout 180000
yarn electron
npm i
npm run electron
8 changes: 8 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,15 @@
**/src/vs/*/**/*.d.ts
**/src/vs/base/test/common/filters.perf.data.js
**/src/vs/loader.js
**/src2/**/dompurify.js
**/src2/**/marked.js
**/src2/**/semver.js
**/src2/typings/**/*.d.ts
**/src2/vs/*/**/*.d.ts
**/src2/vs/base/test/common/filters.perf.data.js
**/src2/vs/loader.js
**/test/unit/assert.js
**/test/unit/assert-esm.js
**/test/automation/out/**
**/typings/**
!.vscode
7 changes: 6 additions & 1 deletion .eslintplugin/code-ensure-no-disposables-leak-in-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ export = new class EnsureNoDisposablesAreLeakedInTestSuite implements eslint.Rul
type: 'problem',
messages: {
ensure: 'Suites should include a call to `ensureNoDisposablesAreLeakedInTestSuite()` to ensure no disposables are leaked in tests.'
}
},
fixable: 'code'
};

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
Expand All @@ -30,6 +31,10 @@ export = new class EnsureNoDisposablesAreLeakedInTestSuite implements eslint.Rul
context.report({
node,
messageId: 'ensure',
fix: (fixer) => {
const updatedSrc = src.replace(/(suite\(.*\n)/, '$1\n\tensureNoDisposablesAreLeakedInTestSuite();\n');
return fixer.replaceText(node, updatedSrc);
}
});
}
},
Expand Down
49 changes: 40 additions & 9 deletions .eslintplugin/code-import-patterns.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ import { createImportRuleListener } from './utils';
const REPO_ROOT = path.normalize(path.join(__dirname, '../'));

interface ConditionalPattern {
when?: 'hasBrowser' | 'hasNode' | 'test';
when?: 'hasBrowser' | 'hasNode' | 'hasElectron' | 'test';
pattern: string;
}

interface RawImportPatternsConfig {
target: string;
layer?: 'common' | 'worker' | 'browser' | 'electron-sandbox' | 'node' | 'electron-main';
layer?: 'common' | 'worker' | 'browser' | 'electron-sandbox' | 'node' | 'electron-utility' | 'electron-main';
test?: boolean;
restrictions: string | (string | ConditionalPattern)[];
}

interface LayerAllowRule {
when: 'hasBrowser' | 'hasNode' | 'test';
when: 'hasBrowser' | 'hasNode' | 'hasElectron' | 'test';
allow: string[];
}

Expand All @@ -44,7 +44,9 @@ export = new class implements eslint.Rule.RuleModule {
readonly meta: eslint.Rule.RuleMetaData = {
messages: {
badImport: 'Imports violates \'{{restrictions}}\' restrictions. See https://github.com/microsoft/vscode/wiki/Source-Code-Organization',
badFilename: 'Missing definition in `code-import-patterns` for this file. Define rules at https://github.com/microsoft/vscode/blob/main/.eslintrc.json'
badFilename: 'Missing definition in `code-import-patterns` for this file. Define rules at https://github.com/microsoft/vscode/blob/main/.eslintrc.json',
badAbsolute: 'Imports have to be relative to support ESM',
badExtension: 'Imports have to end with `.js` or `.css` to support ESM',
},
docs: {
url: 'https://github.com/microsoft/vscode/wiki/Source-Code-Organization'
Expand Down Expand Up @@ -77,13 +79,14 @@ export = new class implements eslint.Rule.RuleModule {
return this._optionsCache.get(options)!;
}

type Layer = 'common' | 'worker' | 'browser' | 'electron-sandbox' | 'node' | 'electron-main';
type Layer = 'common' | 'worker' | 'browser' | 'electron-sandbox' | 'node' | 'electron-utility' | 'electron-main';

interface ILayerRule {
layer: Layer;
deps: string;
isBrowser?: boolean;
isNode?: boolean;
isElectron?: boolean;
}

function orSegment(variants: Layer[]): string {
Expand All @@ -96,18 +99,22 @@ export = new class implements eslint.Rule.RuleModule {
{ layer: 'browser', deps: orSegment(['common', 'browser']), isBrowser: true },
{ layer: 'electron-sandbox', deps: orSegment(['common', 'browser', 'electron-sandbox']), isBrowser: true },
{ layer: 'node', deps: orSegment(['common', 'node']), isNode: true },
{ layer: 'electron-main', deps: orSegment(['common', 'node', 'electron-main']), isNode: true },
{ layer: 'electron-utility', deps: orSegment(['common', 'node', 'electron-utility']), isNode: true, isElectron: true },
{ layer: 'electron-main', deps: orSegment(['common', 'node', 'electron-utility', 'electron-main']), isNode: true, isElectron: true },
];

let browserAllow: string[] = [];
let nodeAllow: string[] = [];
let electronAllow: string[] = [];
let testAllow: string[] = [];
for (const option of options) {
if (isLayerAllowRule(option)) {
if (option.when === 'hasBrowser') {
browserAllow = option.allow.slice(0);
} else if (option.when === 'hasNode') {
nodeAllow = option.allow.slice(0);
} else if (option.when === 'hasElectron') {
electronAllow = option.allow.slice(0);
} else if (option.when === 'test') {
testAllow = option.allow.slice(0);
}
Expand Down Expand Up @@ -135,9 +142,13 @@ export = new class implements eslint.Rule.RuleModule {
restrictions.push(...nodeAllow);
}

if (layerRule.isElectron) {
restrictions.push(...electronAllow);
}

for (const rawRestriction of rawRestrictions) {
let importPattern: string;
let when: 'hasBrowser' | 'hasNode' | 'test' | undefined = undefined;
let when: 'hasBrowser' | 'hasNode' | 'hasElectron' | 'test' | undefined = undefined;
if (typeof rawRestriction === 'string') {
importPattern = rawRestriction;
} else {
Expand All @@ -147,6 +158,7 @@ export = new class implements eslint.Rule.RuleModule {
if (typeof when === 'undefined'
|| (when === 'hasBrowser' && layerRule.isBrowser)
|| (when === 'hasNode' && layerRule.isNode)
|| (when === 'hasElectron' && layerRule.isElectron)
) {
restrictions.push(importPattern.replace(/\/\~$/, `/${layerRule.deps}/**`));
testRestrictions.push(importPattern.replace(/\/\~$/, `/test/${layerRule.deps}/**`));
Expand Down Expand Up @@ -181,8 +193,8 @@ export = new class implements eslint.Rule.RuleModule {

if (targetIsVS) {
// Always add "vs/nls" and "vs/amdX"
restrictions.push('vs/nls');
restrictions.push('vs/amdX'); // TODO@jrieken remove after ESM is real
restrictions.push('vs/nls.js');
restrictions.push('vs/amdX.js'); // TODO@jrieken remove after ESM is real
}

if (targetIsVS && option.layer) {
Expand Down Expand Up @@ -212,6 +224,25 @@ export = new class implements eslint.Rule.RuleModule {
}

private _checkImport(context: eslint.Rule.RuleContext, config: ImportPatternsConfig, node: TSESTree.Node, importPath: string) {
const targetIsVS = /^src\/vs\//.test(getRelativeFilename(context));
if (targetIsVS) {

// ESM: check for import ending with ".js" or ".css"
if (importPath[0] === '.' && !importPath.endsWith('.js') && !importPath.endsWith('.css')) {
context.report({
loc: node.loc,
messageId: 'badExtension',
});
}

// check for import being relative
if (importPath.startsWith('vs/')) {
context.report({
loc: node.loc,
messageId: 'badAbsolute',
});
}
}

// resolve relative paths
if (importPath[0] === '.') {
Expand Down
50 changes: 0 additions & 50 deletions .eslintplugin/code-no-look-behind-regex.ts

This file was deleted.

56 changes: 56 additions & 0 deletions .eslintplugin/code-no-static-self-ref.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*---------------------------------------------------------------------------------------------
* 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';
import { TSESTree } from '@typescript-eslint/experimental-utils';

/**
* WORKAROUND for https://github.com/evanw/esbuild/issues/3823
*/
export = new class implements eslint.Rule.RuleModule {

create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {

function checkProperty(inNode: any) {

const classDeclaration = context.getAncestors().find(node => node.type === 'ClassDeclaration');
const propertyDefinition = <TSESTree.PropertyDefinition>inNode;

if (!classDeclaration || !classDeclaration.id?.name) {
return;
}

if (!propertyDefinition.value) {
return;
}

const classCtor = classDeclaration.body.body.find(node => node.type === 'MethodDefinition' && node.kind === 'constructor')

if (!classCtor) {
return;
}

const name = classDeclaration.id.name;
const valueText = context.getSourceCode().getText(<any>propertyDefinition.value)

if (valueText.includes(name + '.')) {

if (classCtor.value?.type === 'FunctionExpression' && !classCtor.value.params.find((param: any) => param.type === 'TSParameterProperty' && param.decorators?.length > 0)) {
return
}

context.report({
loc: propertyDefinition.value.loc,
message: `Static properties in decorated classes should not reference the class they are defined in. Use 'this' instead. This is a workaround for https://github.com/evanw/esbuild/issues/3823.`
});
}

}

return {
'PropertyDefinition[static=true]': checkProperty,
};
}
};
Loading