Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
773 commits
Select commit Hold shift + click to select a range
334d4c7
Fix debugging of build tasks (#78271)
jjonescz Jul 8, 2025
e67216c
Fix up tests
JoeRobich Jul 8, 2025
d8d0028
Tweak 'add required parens' to recognize a common C# idiom
CyrusNajmabadi Jul 8, 2025
ab3f38c
Merge remote-tracking branch 'upstream/main' into removeAsyncTests
CyrusNajmabadi Jul 7, 2025
1721a25
Lint
CyrusNajmabadi Jul 8, 2025
c0ea481
Revert compiler change (#79288)
CyrusNajmabadi Jul 8, 2025
c6f7671
Extensions: extension grouping type names (#79217)
Jul 8, 2025
d6f726a
Fix ref safety of user-defined increment operators (#79034)
jjonescz Jul 8, 2025
aae13ec
Add the "experimental feature" string back (#79280)
jasonmalinowski Jul 8, 2025
c410bf5
Inline test code
CyrusNajmabadi Jul 8, 2025
fc7751d
Merge branch 'inlineCode' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
9acf982
Merge branch 'inlineCode' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
542bfda
Make tests synchronous
CyrusNajmabadi Jul 8, 2025
1b70452
Merge branch 'removeAsyncTests' of https://github.com/CyrusNajmabadi/…
CyrusNajmabadi Jul 8, 2025
c9787f3
Remove unnecessary await
CyrusNajmabadi Jul 8, 2025
1abc96c
Enable C# classification in more tests
CyrusNajmabadi Jul 8, 2025
3340e4d
Fix unit tests
jasonmalinowski Jul 8, 2025
5cfde68
Use collection expressions
CyrusNajmabadi Jul 8, 2025
ba81203
Tweak 'add required parens' to recognize a common C# idiom (#79287)
CyrusNajmabadi Jul 8, 2025
8131710
Explicitly document that ITaggerEventSource.Changed can be on any thread
jasonmalinowski May 30, 2025
578c6a3
Document that LspSolutionChanged may happen on any thread
jasonmalinowski May 30, 2025
291e1e7
Remove subscription from WorkspaceChanged in the StackTraceExplorer
jasonmalinowski May 30, 2025
92ec31e
Avoid checking the CanonicalName each time for the analyzer
jasonmalinowski May 30, 2025
c6c55d5
Remove thread requirement from CodeAnalysisDiagnosticAnalyzerService
jasonmalinowski May 31, 2025
080d4df
Reduce probability of stack overflow during exception handling in Mod…
ToddGrun Jul 8, 2025
6607763
Remove synchronous rename (#78839)
akhera99 Jul 8, 2025
83124eb
Remove unnecessary await (#79294)
CyrusNajmabadi Jul 8, 2025
f2649bb
Allow rename to (optionally) process source generated documents (#78984)
davidwengier Jul 8, 2025
5cd038c
Merge remote-tracking branch 'upstream/main' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
3dcefad
Update
CyrusNajmabadi Jul 8, 2025
f6d4d97
Add test demonstrating issue
dibarbet Jul 8, 2025
9af5f43
Use collection expressions (#79296)
CyrusNajmabadi Jul 8, 2025
7698b4e
Merge remote-tracking branch 'upstream/main' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
c31bf78
inline
CyrusNajmabadi Jul 8, 2025
2241278
Merge remote-tracking branch 'upstream/main' into testClassification
CyrusNajmabadi Jul 8, 2025
42ba8b9
Fix Rename adornment positioning after scrolling (#79284)
jasonmalinowski Jul 8, 2025
7e36f8d
Move telemetry initialization out of our UI-thread bound helper (#79282)
jasonmalinowski Jul 8, 2025
805447c
fix casing mismatch when using non-unc file paths
dibarbet Jul 8, 2025
f8b9e1f
Merge remote-tracking branch 'origin/main' into dev/jorobich/cleanup-…
JoeRobich Jul 9, 2025
7283fc6
Enable C# classification in more tests (#79295)
CyrusNajmabadi Jul 9, 2025
c426853
Collection expressions
CyrusNajmabadi Jul 8, 2025
c669171
Skip failing tests
JoeRobich Jul 9, 2025
aafd6eb
Add cookbook section for avoiding inheritance (#79276)
333fred Jul 9, 2025
67cce50
Remove most remaining uses of WorkspaceChanged off the UI thread (#78…
jasonmalinowski Jul 9, 2025
41d1330
Make tests non-async (#79278)
CyrusNajmabadi Jul 9, 2025
39d173c
Make 'convert to raw string' a syntax-only refactoring
CyrusNajmabadi Jul 9, 2025
1261952
Fix issue with use-raw-string and fix-all
CyrusNajmabadi Jul 9, 2025
2b5ae45
Fix bad merge
JoeRobich Jul 9, 2025
7ef7c59
Make 'convert to raw string' a syntax-only refactoring (#79304)
CyrusNajmabadi Jul 9, 2025
f265dce
Use raw strings in tests
CyrusNajmabadi Jul 9, 2025
701cb07
[main] Source code updates from dotnet/dotnet (#79313)
dotnet-maestro[bot] Jul 9, 2025
3635db8
Fix document diagnostics document open check (#79298)
dibarbet Jul 9, 2025
1f1ecdb
Remove duplicate code for processing arrays vs strings (#79233)
CyrusNajmabadi Jul 9, 2025
5cbd302
Fix argument indentation
CyrusNajmabadi Jul 9, 2025
cc1869f
REvert
CyrusNajmabadi Jul 9, 2025
a4ec594
Merge branch 'main' into testRawStrings
CyrusNajmabadi Jul 9, 2025
31b74cd
Merge branch 'main' into revertRevert
CyrusNajmabadi Jul 9, 2025
ad2eb92
Merge remote-tracking branch 'origin/indentation' into testRawStrings
CyrusNajmabadi Jul 9, 2025
5622568
Move to .NET 10 P5 SDK and Arcade 10 SDK (#78925)
JoeRobich Jul 9, 2025
2193401
Simplify initialization of OpenFileTracker
jasonmalinowski Jul 8, 2025
69b7d22
Revert
CyrusNajmabadi Jul 9, 2025
db98c69
Fix argument indentation (#79316)
CyrusNajmabadi Jul 9, 2025
5cc083a
Merge branch 'main' into revertRevert2
CyrusNajmabadi Jul 10, 2025
086dab6
Merge branch 'revertRevert2' of https://github.com/CyrusNajmabadi/ros…
CyrusNajmabadi Jul 10, 2025
147011a
Merge remote-tracking branch 'upstream/main' into revertRevert3
CyrusNajmabadi Jul 10, 2025
431f5b8
Merge branch 'main' into actuallyUseAutoProps
CyrusNajmabadi Jul 10, 2025
1c3b871
Merge remote-tracking branch 'upstream/main' into testRawStrings
CyrusNajmabadi Jul 9, 2025
61f9028
Simplify initialization of OpenFileTracker (#79281)
jasonmalinowski Jul 10, 2025
7143256
Reapply "Update to using unbound nameof(X<>) expressions (#78731)" (#…
CyrusNajmabadi Jul 10, 2025
24e1752
revise
CyrusNajmabadi Jul 10, 2025
e9787bc
Reapply "Update to using simple untyped lambdas (#78941)
CyrusNajmabadi Jul 10, 2025
01e9518
Use raw strings in tests (#79305)
CyrusNajmabadi Jul 10, 2025
bfc6299
NRT
CyrusNajmabadi Jul 10, 2025
62147ce
Auto prop
CyrusNajmabadi Jul 10, 2025
0024c42
nrt
CyrusNajmabadi Jul 10, 2025
982151e
Fix
CyrusNajmabadi Jul 10, 2025
4c6cc87
Update src/Compilers/Core/Portable/AdditionalTextFile.cs
CyrusNajmabadi Jul 10, 2025
b9cc05a
better fix
CyrusNajmabadi Jul 10, 2025
c0e084c
Merge branch 'actuallyUseAutoProps' of https://github.com/CyrusNajmab…
CyrusNajmabadi Jul 10, 2025
c12f205
better fix
CyrusNajmabadi Jul 10, 2025
688c9e1
better fix
CyrusNajmabadi Jul 10, 2025
d3a88ce
Switch to using field+auto-prop (#76906)
CyrusNajmabadi Jul 10, 2025
f71444b
Set DeployExtension for all the extensions we expect to deploy
jasonmalinowski Jul 11, 2025
be0277d
Set RoslynCompilerType=Custom in all toolset package flavors (#79327)
jjonescz Jul 11, 2025
604c176
Set DeployExtension for all the extensions we expect to deploy (#79334)
jasonmalinowski Jul 11, 2025
b02cec8
Fix code gen for some increment/compound assignment scenarios involvi…
AlekseyTs Jul 11, 2025
b0d2365
In progress
CyrusNajmabadi Jul 11, 2025
06bdcd7
In progress
CyrusNajmabadi Jul 11, 2025
2daaf62
Hook up
CyrusNajmabadi Jul 11, 2025
2da3470
Add work item
CyrusNajmabadi Jul 11, 2025
2d241b7
Cleanup
CyrusNajmabadi Jul 11, 2025
0ff19de
Simplify
CyrusNajmabadi Jul 11, 2025
f9b16de
Update to xunit.runner.visualstudio 3.1.1
333fred Jul 11, 2025
d3571ef
Fix crash in use-null-prop fixer (#79340)
CyrusNajmabadi Jul 11, 2025
32388fc
Temporarily increase timeout of helix items to see if it resolves tim…
dibarbet Jul 11, 2025
9332058
Update resx generator test resources to assert new behavior, and fix …
dibarbet Jul 11, 2025
4cb5252
Revert broken raw string changes in PropertySetAnalysisTests
dibarbet Jul 11, 2025
b264377
Fix 'use var' with spans
CyrusNajmabadi Jul 12, 2025
041d768
Skip tests affected by https://github.com/dotnet/runtime/issues/117566.
333fred Jul 12, 2025
c0dfb06
Disable tests for https://github.com/dotnet/roslyn/issues/79351
333fred Jul 12, 2025
6157747
Disable tests for https://github.com/dotnet/roslyn/issues/79352.
333fred Jul 12, 2025
00ecf98
Make tests more consistent
CyrusNajmabadi Jul 12, 2025
367800a
Fix issue offering to remove nullable cast in a ternary expression
CyrusNajmabadi Jul 13, 2025
e8f489e
Fix not offering to remove unnecessary nullable pragmas
CyrusNajmabadi Jul 13, 2025
642bbb7
Fix issue with remove unnecessary parens in vb
CyrusNajmabadi Jul 13, 2025
20e09ec
Fix crash in replace property with methods
CyrusNajmabadi Jul 13, 2025
a435db3
Merge branch 'main' into revertRevert
CyrusNajmabadi Jul 14, 2025
c2a8957
Fix not offering to remove unnecessary nullable pragmas (#79356)
CyrusNajmabadi Jul 14, 2025
985e376
Fix 'use var' with spans (#79348)
CyrusNajmabadi Jul 14, 2025
3746ae5
Fix issue offering to remove nullable cast in a ternary expression (#…
CyrusNajmabadi Jul 14, 2025
af07f75
Fix
CyrusNajmabadi Jul 14, 2025
b141c57
Merge remote-tracking branch 'upstream/main' into revertRevert
CyrusNajmabadi Jul 14, 2025
5f69814
Fix issue with remove unnecessary parens in vb (#79357)
CyrusNajmabadi Jul 14, 2025
bbd4558
Track assembly names, not counts
333fred Jul 14, 2025
4467291
Disable more tests for https://github.com/dotnet/roslyn/issues/79352
333fred Jul 14, 2025
10d5edf
Make tests more consistent (#79353)
CyrusNajmabadi Jul 14, 2025
4a90b62
Fix crash in replace property with methods (#79358)
CyrusNajmabadi Jul 14, 2025
301ab55
Add test
CyrusNajmabadi Jul 14, 2025
dad51bf
Add test showing issue no longer reproes
CyrusNajmabadi Jul 14, 2025
b08ec30
Reapply "Update code to use null propagation (#78733)" (#78930)
CyrusNajmabadi Jul 14, 2025
5b6cdb1
Fix issue where typeof/sizeof weren't classified properly in FindRefs
CyrusNajmabadi Jul 14, 2025
50038ad
Add test showing issue no longer repros. (#79367)
CyrusNajmabadi Jul 14, 2025
2d85833
Allow user to still create a new field/prop when offering to initiali…
CyrusNajmabadi Jul 14, 2025
3e2cadf
Add test showing issue no longer reproes (#79368)
CyrusNajmabadi Jul 14, 2025
84d0d4b
Merge remote-tracking branch 'upstream/main' into initializeFieldOrProp
CyrusNajmabadi Jul 14, 2025
0ecb736
Ensure generated types come after top level statements
CyrusNajmabadi Jul 14, 2025
881be8f
Null tolerance
CyrusNajmabadi Jul 14, 2025
432586c
Ensure we collect dumps on hangs/crashes
dibarbet Jul 14, 2025
5c849d2
Refactor implement interface to push code into service
CyrusNajmabadi Jul 14, 2025
9d2672f
Tests
CyrusNajmabadi Jul 14, 2025
8cec0d0
Allow user to still create a new field/prop when offering to initiali…
CyrusNajmabadi Jul 14, 2025
4060745
nrt
CyrusNajmabadi Jul 14, 2025
21db766
Add test
CyrusNajmabadi Jul 14, 2025
f935ca8
Fix issue where typeof/sizeof weren't classified properly in FindRefs…
CyrusNajmabadi Jul 14, 2025
2348ef1
Add test
CyrusNajmabadi Jul 14, 2025
23dd322
Update configs for snap
dibarbet Jul 14, 2025
c1794aa
Ensure generated types come after top level statements (#79378)
CyrusNajmabadi Jul 14, 2025
2d825d8
Add predefined name
CyrusNajmabadi Jul 14, 2025
6783c14
Update configs for snap (#79383)
dibarbet Jul 14, 2025
5451e96
*** DO NOT MERGE: Revert "Remove most remaining uses of WorkspaceChan…
dibarbet Jul 14, 2025
7292c46
Fix make-readonly with spans.
CyrusNajmabadi Jul 15, 2025
5f363c0
Tweak
CyrusNajmabadi Jul 15, 2025
56cc8e9
Remove members from interface
CyrusNajmabadi Jul 15, 2025
d929a49
Delete unnecessary GetServiceAsync calls
jasonmalinowski Jul 15, 2025
4f87c40
Disable Assert that is causing hangs
jaredpar Jul 15, 2025
ed75393
Add console logger to ensure helix console log has detailed info
dibarbet Jul 15, 2025
359a762
Replace Assert.False call
jaredpar Jul 15, 2025
6cd2b95
Fix issue where we weren't properly preserving indentation when pasti…
CyrusNajmabadi Jul 15, 2025
11eed0e
Fix helix timeout
dibarbet Jul 15, 2025
fb701f0
Indent test arguments
CyrusNajmabadi Jul 15, 2025
88efbf5
IN progress
CyrusNajmabadi Jul 15, 2025
9ac8acd
more cleanup work of feature
CyrusNajmabadi Jul 15, 2025
7c6d626
Qualify access
CyrusNajmabadi Jul 15, 2025
de078d3
Distinct
CyrusNajmabadi Jul 15, 2025
c5926c6
Add tests
CyrusNajmabadi Jul 15, 2025
63b8efa
Delete
CyrusNajmabadi Jul 15, 2025
1c4c214
Simplify
CyrusNajmabadi Jul 15, 2025
824ac4b
Simplify
CyrusNajmabadi Jul 15, 2025
0c608d3
Revert
CyrusNajmabadi Jul 15, 2025
bcdf869
Indent test arguments
CyrusNajmabadi Jul 15, 2025
40956b5
Use new dll name for hooking xunit dispose
dibarbet Jul 16, 2025
bed8b9e
Merge remote-tracking branch 'upstream/main' into implementInterfaceI…
CyrusNajmabadi Jul 16, 2025
830de00
Fix EA entrypoint
CyrusNajmabadi Jul 16, 2025
ef0e2a9
Preserve comments when switching to auto props
CyrusNajmabadi Jul 16, 2025
f75dade
Remove parameter
CyrusNajmabadi Jul 16, 2025
7461ad2
Update to xunit.runner.visualstudio 3.1.1 (#79343)
dibarbet Jul 16, 2025
edc6c7b
Put revert in main too (#79390)
dibarbet Jul 16, 2025
f91b845
Special case a few well-known immutable types in use-auto-prop
CyrusNajmabadi Jul 16, 2025
6642f87
Fix tests
CyrusNajmabadi Jul 16, 2025
7593e97
Docs
CyrusNajmabadi Jul 16, 2025
de37ee9
Merge branch 'main' into useAutoPropPreserveComment
CyrusNajmabadi Jul 16, 2025
9e2c553
Change how trailing trivia is preserved in use-auto-prop
CyrusNajmabadi Jul 16, 2025
69308cf
Only touch properties
CyrusNajmabadi Jul 16, 2025
3e5c78b
Merge branch 'main' into copyPasteIndentation
CyrusNajmabadi Jul 16, 2025
54155aa
Add test
CyrusNajmabadi Jul 16, 2025
4596fee
Merge branch 'main' into spanReadOnly
CyrusNajmabadi Jul 16, 2025
e7af5dc
Handle new extension foreach nullability (#79319)
RikkiGibson Jul 16, 2025
c5325ab
EnC support for project level changes (#79239)
tmat Jul 16, 2025
52a972a
Delete unused types (#79317)
tmat Jul 16, 2025
462275d
Offer 'implement interface' when inside a type's body (#79382)
CyrusNajmabadi Jul 16, 2025
6c67a00
Delete unnecessary GetServiceAsync calls (#79396)
jasonmalinowski Jul 16, 2025
52f3f1c
Merge branch 'main' into useAutoPropPreserveComment
CyrusNajmabadi Jul 16, 2025
6021f05
Merge branch 'main' into copyPasteIndentation
CyrusNajmabadi Jul 17, 2025
df9c10a
Merge branch 'main' into useAutoPropWellKnownTypes
CyrusNajmabadi Jul 17, 2025
ac1740d
Merge branch 'main' into spanReadOnly
CyrusNajmabadi Jul 17, 2025
9d04d42
Merge branch 'main' into usePropTrailingTrivia
CyrusNajmabadi Jul 17, 2025
b7159b0
Merge branch 'main' into useAutoPropResolution
CyrusNajmabadi Jul 17, 2025
05aa085
Merge branch 'main' into indentTestArgs
CyrusNajmabadi Jul 17, 2025
abd8aba
Support interpolated string handlers in extension blocks (#78425)
333fred Jul 17, 2025
c458836
Fix loss of nullability attributes when getting the 'constructed redu…
CyrusNajmabadi Jul 17, 2025
cd1ee88
Add tracking issue for disabled assert (#79427)
333fred Jul 17, 2025
c2d43dd
Preserve comments when switching to auto props (#79420)
CyrusNajmabadi Jul 17, 2025
c85f4e4
Special case a few well-known immutable types in use-auto-prop (#79422)
CyrusNajmabadi Jul 17, 2025
f0f223d
Indent test arguments (#79403)
CyrusNajmabadi Jul 17, 2025
0fa8456
Change how trailing trivia is preserved in use-auto-prop (#79425)
CyrusNajmabadi Jul 17, 2025
e11f53e
Fix make-readonly with spans. (#79393)
CyrusNajmabadi Jul 17, 2025
05dd8e6
Fix code gen for some compound assignment scenarios involving extensi…
AlekseyTs Jul 17, 2025
1d8a729
Extensions: extension marker type name (#79308)
Jul 17, 2025
24ab192
Fix issue where we weren't properly preserving indentation when pasti…
CyrusNajmabadi Jul 17, 2025
4d2d314
Move to xunit.runner.visualstudio 3.1.3
JoeRobich Jul 17, 2025
06f095f
Update 'use auto property' to respect user options around `this.` for…
CyrusNajmabadi Jul 17, 2025
5db3521
Avoid eliding pointer-to-ref conversions (#79311)
jjonescz Jul 17, 2025
bf18293
Avoid reusing temps whose refs might be captured (#76009)
jjonescz Jul 17, 2025
1417783
[main] Update dependencies from dotnet/arcade (#79385)
dotnet-maestro[bot] Jul 17, 2025
53e743b
Move to xunit.runner.visualstudio 3.1.3 (#79434)
JoeRobich Jul 17, 2025
3e26030
Fixes rename attribute bug (#79418)
akhera99 Jul 17, 2025
e15133d
Adds EqualityComparer<T>.Create polyfill
tmat Jul 11, 2025
c2e6539
Revert compiler changes
tmat Jul 16, 2025
49e3b4c
Adds EqualityComparer<T>.Create polyfill (#79345)
tmat Jul 17, 2025
4fab744
Move to .NET 10p6 (#79438)
333fred Jul 17, 2025
37a47b7
Allow razor to use SolutionChecksumUpdater (#79373)
ToddGrun Jul 17, 2025
7f995b8
Remove dependency on ClassificationOptions and DefinitionItem from Se…
tmat Jul 17, 2025
32fa948
Update insertions for VS release changes
dibarbet Jul 17, 2025
36e32a7
Fix static extension method not showing up on enum type
CyrusNajmabadi Jul 17, 2025
76f8db4
Add workitem
CyrusNajmabadi Jul 17, 2025
a973839
cleanup
CyrusNajmabadi Jul 18, 2025
de36829
Use ConfigureAwait(true) when in a blocking JTF run call
CyrusNajmabadi Jul 18, 2025
70605ed
GetTextSynchronously
CyrusNajmabadi Jul 18, 2025
fe13914
Update src/VisualStudio/Core/Def/LanguageService/AbstractLanguageServ…
CyrusNajmabadi Jul 18, 2025
d6a1e94
Make synchronous
CyrusNajmabadi Jul 18, 2025
ca30655
Merge branch 'resolveNameCA' of https://github.com/CyrusNajmabadi/ros…
CyrusNajmabadi Jul 18, 2025
a08551e
Docs
CyrusNajmabadi Jul 18, 2025
8487180
Fix static extension method not showing up on enum type (#79454)
CyrusNajmabadi Jul 18, 2025
d903f6c
Allow Razor to create a formatting options, and send it to OOP
davidwengier Jul 18, 2025
a327c20
Use ConfigureAwait(true) when in a blocking JTF run call (#79456)
CyrusNajmabadi Jul 18, 2025
d26e727
Remove assumption about a tree shape that compound assignment produce…
AlekseyTs Jul 18, 2025
0e6493c
Skip GetProjectXml_FileBasedProgram_SdkTooOld_01 test
JoeRobich Jul 18, 2025
18633f1
Update insertions for VS release changes (#79453)
dibarbet Jul 18, 2025
6136b95
Skip GetProjectXml_FileBasedProgram_SdkTooOld_01 test (#79465)
JoeRobich Jul 18, 2025
ed4ca0d
Bump Microsoft.VisualStudio.Extensibility.Testing.Xunit to 0.1.796-beta
jasonmalinowski Jul 18, 2025
62daf28
Reduce path length of Roslyn ServiceHub Services folder (#79460)
ToddGrun Jul 18, 2025
178e419
Bump Microsoft.VisualStudio.Extensibility.Testing.Xunit to 0.1.796-be…
JoeRobich Jul 18, 2025
858c3a8
Simplify stale project handling (#79386)
tmat Jul 18, 2025
16926d9
Update System.Memory to prevent bootstrap failure
dibarbet Jul 18, 2025
757c336
Include dependencies of System.Memory in VSIX deployment project
dibarbet Jul 19, 2025
a5f99bd
remove unnecessary additional reference
dibarbet Jul 19, 2025
5069c81
Update System.Memory to prevent bootstrap failure (#79475)
dibarbet Jul 19, 2025
147fd7c
Use new compiler API
DoctorKrolic Jul 19, 2025
c3b8200
Correctly change return type of partial definition part
DoctorKrolic Jul 19, 2025
dc2da5a
Feedback
DoctorKrolic Jul 19, 2025
934c2a1
Move RoslynParallel and ProducerConsumer to threading source package …
tmat Jul 19, 2025
a8d4395
Correctly change return type of partial method definition part when m…
CyrusNajmabadi Jul 19, 2025
0f029e2
Allow Razor to create a formatting options, and send them to OOP (#79…
davidwengier Jul 21, 2025
300814b
Do not remove usings/imports in code-cleanup when file has syntax errors
CyrusNajmabadi Jul 21, 2025
e38b24d
Add testws
CyrusNajmabadi Jul 21, 2025
35ebb57
Find add-using results in SG docs
CyrusNajmabadi Jul 21, 2025
2e23a0d
Docs
CyrusNajmabadi Jul 21, 2025
0e8140c
Do not remove usings/imports in code-cleanup when file has syntax err…
CyrusNajmabadi Jul 21, 2025
9fb6896
Find add-using results in SG docs (#79490)
CyrusNajmabadi Jul 21, 2025
8978faa
Ignore all targets of MS.CA.Threading.Package in rebuild (#79495)
tmat Jul 21, 2025
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 .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@
"command": "dotnet",
"args": [
"build",
"-p:InnerTargets=CopyFilesForDebugging",
"-p:GenerateFullPaths=true",
"${workspaceFolder}/src/NuGet/Microsoft.Net.Compilers.Toolset/AnyCpu/Microsoft.Net.Compilers.Toolset.Package.csproj"
],
Expand Down
1 change: 1 addition & 0 deletions Compilers.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
"src\\ExpressionEvaluator\\Core\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.ExpressionCompiler.csproj",
"src\\ExpressionEvaluator\\VisualBasic\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler.vbproj",
"src\\Interactive\\csi\\csi.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.BuildClient.Package\\Microsoft.CodeAnalysis.BuildClient.Package.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Compilers.Package\\Microsoft.CodeAnalysis.Compilers.Package.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Package\\Microsoft.CodeAnalysis.Package.csproj",
"src\\NuGet\\Microsoft.Net.Compilers.Toolset\\AnyCpu\\Microsoft.Net.Compilers.Toolset.Package.csproj",
Expand Down
9 changes: 6 additions & 3 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
<clear />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<!-- We need dotnet6 because BuildValidator depends on runtime.{platform}.Microsoft.NETCore.ILDAsm (>= 6.0.0-rtm.21518.12) -->
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
<!-- We need dotnet7-transport because we depend on Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (>= 3.3.4-beta1.22504.1) -->
<add key="dotnet7-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7-transport/nuget/v3/index.json" />
<!-- We need dotnet8 because we depend on Microsoft.CodeAnalysis.NetAnalyzers (>= 8.0.0-preview.23468.1) -->
<add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
<!-- We need dotnet9 because we depend on Roslyn.Diagnostics.Analyzers (>= 3.11.0-beta1.24081.1)-->
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
<add key="dotnet9-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
<add key="dotnet10-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10-transport/nuget/v3/index.json" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
<add key="dotnet-libraries-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries-transport/nuget/v3/index.json" />
Expand Down
57 changes: 46 additions & 11 deletions Roslyn.sln

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions azure-pipelines-integration-dartlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ resources:
name: internal/dotnet-roslyn
ref: $(Build.SourceBranch)
trigger:
- main
- main-vs-deps

parameters:
- name: prNumber
Expand Down Expand Up @@ -122,4 +122,4 @@ stages:
gitHubConnection: 'dotnet-comment-bot-service-connection'
repositoryName: '$(Build.Repository.Name)'
id: ${{ parameters.prNumber }}
comment: 'DartLab pipeline [run]($(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)) did not complete successfully for ${{ parameters.sha }}'
comment: 'DartLab pipeline [run]($(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)) did not complete successfully for ${{ parameters.sha }}'
2 changes: 1 addition & 1 deletion azure-pipelines-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ parameters:
- name: queueName
displayName: Queue Name
type: string
default: windows.vs2022preview.amd64.open
default: windows.vs2022preview.scout.amd64.open
values:
- windows.vs2022.amd64.open
- windows.vs2022.scout.amd64.open
Expand Down
8 changes: 7 additions & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -400,13 +400,19 @@ stages:
configuration: Release
- name: compilerChange
value: $[dependencies.Determine_Changes.outputs['SetPathVars_compilers.containsChange']]
# Set NUGET_PACKAGES to fix issues with package Restore when building with `-ci`.
# Workaround for https://github.com/dotnet/arcade/issues/15970
- name: NUGET_PACKAGES
value: $(Build.SourcesDirectory)\.packages
steps:
- template: eng/pipelines/checkout-windows-task.yml

- powershell: eng/build.ps1 -configuration Release -prepareMachine -ci -restore -binaryLogName Restore.binlog
displayName: Restore

- powershell: eng/build.ps1 -configuration Release -prepareMachine -ci -build -pack -publish -sign -binaryLogName Build.binlog /p:DotnetPublishUsingPipelines=true /p:ContinuousIntegrationBuildCorrectness=true
# We additionally restore during the build because the Microsoft.DotNet.Build.Tasks.Feed package only restores when we pass `-publish`. See https://github.com/dotnet/arcade/blob/37ccfd66358af6a37a0ec385ec31d1d71bdd8723/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj#L61-L66
# Passing `-publish` during the restore step above fails due to no items needing published.
- powershell: eng/build.ps1 -configuration Release -prepareMachine -ci -restore -build -pack -publish -sign -binaryLogName Build.binlog /p:DotnetPublishUsingPipelines=true /p:ContinuousIntegrationBuildCorrectness=true
displayName: Build

# While this task is not executed in the official build, this serves as a PR check for whether symbol exclusions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Particularly for developers who aren't experienced with .NET Core development on
1. Install [VS Code](https://code.visualstudio.com/Download)
- After you install VS Code, install the [C# extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp)
- Important tip: You can look up editor commands by name by hitting *Ctrl+Shift+P*, or by hitting *Ctrl+P* and typing a `>` character. This will help you get familiar with editor commands mentioned below. On a Mac, use *⌘* instead of *Ctrl*.
1. Install the [.NET 9.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) which matches the `sdk.version` property in [global.json](../../global.json#L3)
1. Install the [.NET 10.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/10.0) which matches the `sdk.version` property in [global.json](../../global.json#L3)
3. You can build from VS Code by running the *Run Build Task* command, then selecting an appropriate task such as *build* or *build current project* (the latter builds the containing project for the current file you're viewing in the editor).
4. You can run tests from VS Code by opening a test class in the editor, then using the *Run Tests in Context* and *Debug Tests in Context* editor commands. You may want to bind these commands to keyboard shortcuts that match their Visual Studio equivalents (**Ctrl+R, T** for *Run Tests in Context* and **Ctrl+R, Ctrl+T** for *Debug Tests in Context*).
5. You can launch a new VS Code instance with the language server from your current code by running the "launch vscode with language server" task.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The minimal required version of .NET Framework is 4.7.2.
- Ensure C# and Visual Basic, MSBuild, and .NET Core are included in the selected individual components
- Ensure "Use previews of the .NET Core SDK" is checked in Tools -> Options -> Environment -> Preview Features
- Restart Visual Studio
1. Install the [.NET 9.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) which matches the `sdk.version` property in [global.json](../../global.json#L3)
1. Install the [.NET 10.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/10.0) which matches the `sdk.version` property in [global.json](../../global.json#L3)
1. [PowerShell 5.0 or newer](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell). If you are on Windows 10, you are fine; you'll only need to upgrade if you're on earlier versions of Windows. The download link is under the ["Upgrading existing Windows PowerShell"](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-6#upgrading-existing-windows-powershell) heading.
1. Run Restore.cmd
1. Open Roslyn.sln
Expand Down
4 changes: 2 additions & 2 deletions docs/contributing/Compiler Test Plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ This document provides guidance for thinking about language interactions and tes
- Compiler-recognized attributes should not have any effect in earlier LangVersions,
except a LangVersion error should be reported when functionality depending on the attribute is used
(for example, InlineArray conversion to Span).
- Generics (type arguments, variance, constraints including `class`, `struct`, `new()`, `unmanaged`, `notnull`, types and interfaces with nullability)
- Generics (type arguments, variance, constraints including `class`, `struct`, `new()`, `unmanaged`, `notnull`, `allows ref struct`, types and interfaces with nullability)
- Default and constant values
- Partial classes
- Literals
Expand All @@ -80,7 +80,7 @@ This document provides guidance for thinking about language interactions and tes
- Readonly members on structs (methods, property/indexer accessors, custom event accessors)
- SkipLocalsInit
- Method override or explicit implementation with `where T : { class, struct, default }`
- `extension` blocks
- `extension` blocks (emitted with content-based names)

# Code
- Operators (see Eric's list below)
Expand Down
23 changes: 23 additions & 0 deletions docs/features/incremental-generators.cookbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ of scope in the final design of the shipping feature.
- [Pipeline model design](#pipeline-model-design)
- [Use `ForAttributeWithMetadataName`](#use-forattributewithmetadataname)
- [Use an indented text writer, not `SyntaxNode`s, for generation](#use-an-indented-text-writer-not-syntaxnodes-for-generation)
- [Put `Microsoft.CodeAnalysis.EmbeddedAttribute` on generated marker types](#put-microsoftcodeanalysisembeddedattribute-on-generated-marker-types)
- [Do not scan for types that indirectly implement interfaces, indirectly inherit from types, or are indirectly marked by an attribute from an interface or base type](#do-not-scan-for-types-that-indirectly-implement-interfaces-indirectly-inherit-from-types-or-are-indirectly-marked-by-an-attribute-from-an-interface-or-base-type)
- [Designs](#designs)
- [Generated class](#generated-class)
- [Additional file transformation](#additional-file-transformation)
Expand Down Expand Up @@ -135,6 +137,27 @@ project, it will not include that type in lookup results. To ensure that `Micros
Another option is to provide an assembly in your nuget package that defines your marker attributes, but this can be more difficult to author. We recommend the
`EmbeddedAttribute` approach, unless you need to support versions of Roslyn lower than 4.14.

### Do not scan for types that indirectly implement interfaces, indirectly inherit from types, or are indirectly marked by an attribute from an interface or base type

Using an interface/base type marker can be a very tempting and natural fit for generators. However, scanning for these types of markers is _very_ expensive, and cannot
be done incrementally. Doing so can have an outsized impact on IDE and command-line performance, even for fairly small consuming users. These scenarios are:

* A user implements an interface on `BaseModelType`, and then the generator looks all derived types from `BaseModelType`. Because the generator cannot know ahead of time
what `BaseModelType` actually is, it means that the generator has to fetch `AllInterfaces` on every single type in the compilation so it can scan for the marker
interface. This will end up occurring either on every keystroke or every file save, depending on what mode the user is running generators in; either one is disastrous
for IDE performance, even when trying to optimize by scoping down the scanning to only types with a base list.
* A user inherits from a generator-defined `BaseSerializerType`, and the generator looks for anything that inherits from that type, either directly or indirectly. Similar
to the above scenario, the generator will need to scan all types with a base type in the entire compilation for the inherited `BaseSerializerType`, which will heavily
impact IDE performance.
* A generator looks among all base types/implemented interfaces for a type that is attributed with a generator's marker attribute. This is effectively either scenario 1
or 2, just with a different search criteria.
* A generator leaves its marker attribute unsealed, and expects users to be able to derive their own attributes from that marker, as a source of parameter customization.
This has a couple of problems: first, every attributed type needs to be checked to see if the attribute inherits from the marker attribute. While not as performance
impacting as the first three scenarios, this isn't great for performance. Second, and more importantly, there is no good way to retrieve any customizations from the
inherited attribute. These attributes are not instantiated by the source generator, so any parameters passed to the `base()` constructor call or values that are assigned
to any properties of the base attribute are not visible to the generator. Prefer using FAWMN-driven development here, and using an analyzer to inform the user if they
need to inherit from some base class for your generator to work correctly.

## Designs

This section is broken down by user scenarios, with general solutions listed first, and more specific examples later on.
Expand Down
22 changes: 11 additions & 11 deletions eng/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<RoslynDiagnosticsNugetPackageVersion>3.11.0-beta1.24081.1</RoslynDiagnosticsNugetPackageVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>8.0.0-preview.23468.1</MicrosoftCodeAnalysisNetAnalyzersVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.3-beta1.24319.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftVisualStudioExtensibilityTestingVersion>0.1.785-beta</MicrosoftVisualStudioExtensibilityTestingVersion>
<MicrosoftVisualStudioExtensibilityTestingVersion>0.1.796-beta</MicrosoftVisualStudioExtensibilityTestingVersion>
<_BasicReferenceAssembliesVersion>1.7.9</_BasicReferenceAssembliesVersion>
<!-- CodeStyleAnalyzerVersion should we updated together with version of dotnet-format in dotnet-tools.json -->
<CodeStyleAnalyzerVersion>4.8.0-3.final</CodeStyleAnalyzerVersion>
Expand Down Expand Up @@ -199,7 +199,7 @@
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafeVersion)" />
<PackageVersion Include="System.Security.Cryptography.ProtectedData" Version="$(SystemSecurityCryptographyProtectedDataVersion)" />
<PackageVersion Include="System.Security.Permissions" Version="$(SystemSecurityPermissionsVersion)" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="7.0.0" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" />
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="$(SystemThreadingTasksDataflowVersion)" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsVersion)" />
<PackageVersion Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
Expand All @@ -215,7 +215,7 @@
<PackageVersion Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebVersion)" />
<!-- Note: When updating SystemTextJsonVersion ensure that the version is no higher than what is used by MSBuild. -->
<PackageVersion Include="System.Text.Json" Version="$(SystemTextJsonVersion)" />
<PackageVersion Include="System.Threading.Channels" Version="7.0.0" />
<PackageVersion Include="System.Threading.Channels" Version="8.0.0" />

<PackageVersion Include="Microsoft.IO.Redist" Version="$(MicrosoftIORedistVersion)" />

Expand Down Expand Up @@ -273,7 +273,7 @@
<PackageVersion Include="xunit.core" Version="$(_xunitVersion)" />
<PackageVersion Include="Xunit.Combinatorial" Version="1.6.24" />
<PackageVersion Include="xunit.extensibility.core" Version="$(_xunitVersion)" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5 " />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.3" />
<PackageVersion Include="xunit.runner.utility" Version="$(_xunitVersion)" />
<PackageVersion Include="xunit.abstractions" Version="2.0.3" />
<PackageVersion Include="xunit.extensibility.execution" Version="$(_xunitVersion)" />
Expand Down Expand Up @@ -319,16 +319,16 @@
but not higher than our minimum dogfoodable Visual Studio version, or else
the generators we build would load on the command line but not load in IDEs.
-->
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.12.0" />
<!--
The version of Roslyn used in the RoslynAnalyzers varies. These are defaults that
will be overridden in the RoslynAnalyzer project files.
-->
<!--<PackageVersion Include="Microsoft.CodeAnalysis" Version="4.1.0" /> -->
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.1.0" />
<!--<PackageVersion Include="Microsoft.CodeAnalysis" Version="4.12.0" /> -->
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.12.0" />
</ItemGroup>
</Project>
5 changes: 3 additions & 2 deletions eng/Publishing.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
</PropertyGroup>

<!-- Update Artifacts with Kind=Package to have additional metadata item Category="ToolingPackage".
Depending on channel configuration, this means that these assets could be pushed to a different feed. -->
<ItemGroup>
Depending on channel configuration, this means that these assets could be pushed to a different feed.
Do not include these for source-only builds since these files aren't intended to be published in that mode. -->
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<Artifact Update="@(Artifact->WithMetadataValue('Kind', 'Package'))" Category="ToolingPackage" />

<FilesToPublishToSymbolServer Include="$(ArtifactsBinDir)**/Microsoft.Build.Tasks.CodeAnalysis.pdb" />
Expand Down
Loading
Loading