Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EnC: Improving the experience #49001

Open
2 of 12 tasks
tmat opened this issue Oct 28, 2020 · 3 comments
Open
2 of 12 tasks

EnC: Improving the experience #49001

tmat opened this issue Oct 28, 2020 · 3 comments
Assignees
Labels
Area-Interactive Concept-Continuous Improvement Dev17 IDE Priority Epic Groups multiple user stories. Can be grouped under a theme. Interactive-EnC Story User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@tmat
Copy link
Member

tmat commented Oct 28, 2020

This is an umbrella issue for work towards improving the Edit and Continue/Hot Reload experience in C# and VB.

Language and compiler features

17.13

17.12

17.11

17.9

17.8

17.7

17.4

17.3

17.0

16.x

Project system changes

16.10

Edits while application is running

Attach

Reloadable types

Hot Reload runtime events

Runtime specific Rude Edits

Partner Hot Reload APIs

Misc

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added Area-Interactive untriaged Issues and PRs which have not yet been triaged by a lead labels Oct 28, 2020
@tmat
Copy link
Member Author

tmat commented Oct 28, 2020

@jinujoseph @LyalinDotCom @davidwengier

@jinujoseph jinujoseph added Story and removed untriaged Issues and PRs which have not yet been triaged by a lead labels Oct 29, 2020
@jinujoseph jinujoseph added this to the 16.9 milestone Oct 29, 2020
@tmat tmat modified the milestones: 16.9, Backlog Dec 16, 2020
@tmat
Copy link
Member Author

tmat commented Apr 1, 2021

Telemetry on Rude Edits:

Active Statements

(ActiveStatementUpdate, None, 36299)
(UpdateAroundActiveStatement, CatchClause, 14642)
(DeleteActiveStatement, None, 11601)
(UpdateAroundActiveStatement, ForEachStatement, 5891)
(InsertAroundActiveStatement, ForEachStatement, 2203)
(UpdateAroundActiveStatement, OnErrorGoToLabelStatement, 2096)
(InsertAroundActiveStatement, TryStatement, 1824)
(DeleteAroundActiveStatement, CatchClause, 1623)
(UpdateAroundActiveStatement, CatchBlock, 1607)
(InsertAroundActiveStatement, CatchClause, 1579)
(UpdateAroundActiveStatement, OnErrorResumeNextStatement, 1385)
(InsertAroundActiveStatement, AwaitExpression, 1258)
(UpdateAroundActiveStatement, TryStatement, 1138)
(DeleteAroundActiveStatement, TryStatement, 1103)
(UpdateAroundActiveStatement, ForEachBlock, 1087)
(UpdateAroundActiveStatement, FinallyClause, 1074)
(PartiallyExecutedActiveStatementUpdate, None, 844)
(UpdateAroundActiveStatement, UsingStatement, 770)
(UpdateAroundActiveStatement, WithBlock, 175)
(InsertAroundActiveStatement, ForEachBlock, 170)
(InsertAroundActiveStatement, TryBlock, 163)
(InsertAroundActiveStatement, CatchBlock, 162)
(UpdateAroundActiveStatement, TryBlock, 123)

Lambdas

(ChangingLambdaParameters, SimpleLambdaExpression, 34373)
(CapturingVariable, None, 26315)
(NotCapturingVariable, None, 16326)
(ChangingLambdaReturnType, SimpleLambdaExpression, 11203)
(DeletingCapturedVariable, None, 5208)
(ChangingCapturedVariableType, None, 3532)
(NotAccessingCapturedVariableInLambda, None, 2995)
(AccessingCapturedVariableInLambda, None, 2624)
(ChangingLambdaParameters, ParenthesizedLambdaExpression, 2585)
(ChangingQueryLambdaType, WhereClause, 2376)
(ChangingQueryLambdaType, JoinClause, 2023)
(ChangingQueryLambdaType, SelectClause, 1394)
(InsertLambdaWithMultiScopeCapture, None, 925)
(ChangingLambdaReturnType, ParenthesizedLambdaExpression, 1063)
(ChangingQueryLambdaType, GroupClause, 412)
(ChangingQueryLambdaType, WhereClause, 255)
(RenamingCapturedVariable, None, 465)
(ChangingLambdaReturnType, SingleLineFunctionLambdaExpression, 321)
(ChangingQueryLambdaType, FromClause, 738)
(ChangingLambdaParameters, SingleLineFunctionLambdaExpression, 737)

Usings (supported in 16.10 - #10043)

(Insert, UsingDirective, 24132)
(Delete, UsingDirective, 6570)
(Insert, ImportsStatement, 897)
(Update, UsingDirective, 814)
(Delete, ImportsStatement, 238)

Generics (Supported on .NET 8 and VS 17.7)

(GenericMethodUpdate, MethodDeclaration, 10609)
(GenericTypeUpdate, MethodDeclaration, 7234)
(GenericMethodTriviaUpdate, MethodDeclaration, 2527)
(GenericTypeTriviaUpdate, MethodDeclaration, 1810)
(GenericMethodUpdate, FunctionBlock, 216)

Async and iterators (supported in 17.4)

(Delete, AwaitExpression, 9186)
(Insert, AwaitExpression, 8006)
(AwaitStatementUpdate, None, 3621)

Attribute (supported in 17.0 P2)

(Update, Attribute, 6922)
(Insert, AttributeList, 4560)
(Delete, AttributeList, 3256)
(Delete, Attribute, 106)

Partial Types (supported in 16.10 - #50016)

(PartialTypeInitializerUpdate, VariableDeclarator, 4504)
(PartialTypeInitializerUpdate, VariableDeclarator, 519)
(PartialTypeInitializerUpdate, ModifiedIdentifier, 499)

Member deletes and renames (some support in 17.3, improvements in 17.8)

(Delete, MethodDeclaration, 9822)
(Delete, FieldDeclaration, 5802)
(Delete, PropertyDeclaration, 6006)
(Delete, Parameter, 4148)
(Delete, SubBlock, 1201)
(Delete, FunctionBlock, 353)
(Delete, SetAccessorDeclaration, 314)
(Renamed, Parameter, 5695)
(Renamed, MethodDeclaration, 4795)
(Renamed, PropertyDeclaration, 3578)
(Renamed, VariableDeclarator, 2231)
(Renamed, ClassDeclaration, 739)
(Renamed, SubStatement, 355)
(Renamed, EnumMemberDeclaration, 314)

Modifiers (currently we do not have telemetry on which modifiers, in 17.0 accessibility modifiers are separated)

(ModifiersUpdate, MethodDeclaration, 3753)
(ModifiersUpdate, FieldDeclaration, 144)
(ModifiersUpdate, FieldDeclaration, 1735)
(ModifiersUpdate, PropertyDeclaration, 1329)
(ModifiersUpdate, ConstructorDeclaration, 627)
(ModifiersUpdate, ClassDeclaration, 578)
(ModifiersUpdate, Parameter, 251)
(ModifiersUpdate, SetAccessorDeclaration, 245)
(ModifiersUpdate, Parameter, 210)
(ModifiersUpdate, SubStatement, 92)
(ModifiersUpdate, FunctionStatement, 61)
(ModifiersUpdate, EventFieldDeclaration, 26)
(ModifiersUpdate, EnumDeclaration, 25)
(ModifiersUpdate, ClassStatement, 13)
(ModifiersUpdate, PropertyStatement, 11)
(ModifiersUpdate, GetAccessorDeclaration, 10)
(ModifiersUpdate, StructDeclaration, 9)
(ModifiersUpdate, InterfaceDeclaration, 6)
(ModifiersUpdate, OperatorDeclaration, 5)

Member/Signature updates (mostly supported in 17.3, improvements in 17.8)

(Insert, Parameter, 8821)
(TypeUpdate, PropertyDeclaration, 6869)
(TypeUpdate, MethodDeclaration, 4097)
(TypeUpdate, Parameter, 4038)
(TypeUpdate, VariableDeclaration, 1934)
(TypeUpdate, PropertyStatement, 258)
(Update, VariableDeclarator, 2784)
(InitializerUpdate, Parameter, 1187)
(InitializerUpdate, EnumMemberDeclaration, 320)
(Delete, Parameter, 269)

Switch Expressions (17.0 P2: #43099)

(SwitchExpressionUpdate, MethodDeclaration, 1400)

Namespaces (#51398)

(Insert, NamespaceDeclaration, 6420)
(Renamed, NamespaceDeclaration, 503)
(Delete, NamespaceDeclaration, 275)
(Insert, NamespaceBlock, 67)
(Delete, NamespaceBlock, 7)

Virtuals and interfaces

(InsertVirtual, MethodDeclaration, 1571)
(BaseTypeOrInterfaceUpdate, ClassDeclaration, 1065)
(InsertVirtual, PropertyDeclaration, 464)

Low frequency

(Move, PropertyDeclaration, 968)
(Move, FieldDeclaration, 771)
(Insert, EnumMemberDeclaration, 863)
(Delete, ClassDeclaration, 807)
(Renamed, ModifiedIdentifier, 806)
(UpdateStaticLocal, SubBlock, 799)
(Insert, Parameter, 720)
(Delete, FieldDeclaration, 689)
(InsertHandlesClause, SubBlock, 669)
(TypeUpdate, Parameter, 519)
(Move, Parameter, 510)
("259.0", SubBlock, 480)
(ChangingCapturedVariableScope, None, 478)
(TypeUpdate, VariableDeclarator, 472)
(GenericTypeUpdate, ConstructorDeclaration, 464)
(Delete, ConstructorDeclaration, 390)
(DeleteLambdaWithMultiScopeCapture, None, 367)
(PartiallyExecutedActiveStatementDelete, None, 355)
(ComplexQueryExpression, SubBlock, 332)
(ActiveStatementLambdaRemoved, SimpleLambdaExpression, 326)
(MethodBodyAdd, GetAccessorDeclaration, 313)
("259.0", FunctionBlock, 294)
(HandlesClauseUpdate, SubStatement, 285)
(Insert, FieldDeclaration, 283)
(ActiveStatementLambdaRemoved, ParenthesizedLambdaExpression, 266)
(Update, VariableDeclarator, 263)
(ComplexQueryExpression, FunctionBlock, 256)
(InsertAroundActiveStatement, UsingStatement, 251)
(Delete, EnumMemberDeclaration, 228)
(ChangingFromAsynchronousToSynchronous, Block, 225)
(UpdateAroundActiveStatement, FinallyBlock, 224)
(MethodBodyAdd, SetAccessorDeclaration, 215)
(MethodBodyDelete, GetAccessorDeclaration, 210)
(UpdateStaticLocal, FunctionBlock, 208)
(Delete, SimpleAsClause, 204)
(InsertGenericMethod, MethodDeclaration, 198)
(TypeUpdate, FunctionStatement, 189)
(Renamed, FunctionStatement, 173)
(MemberBodyTooBig, SubBlock, 170)
(Insert, SimpleAsClause, 151)
(MethodBodyDelete, SetAccessorDeclaration, 145)
(PartialTypeInitializerUpdate, PropertyDeclaration, 144)
(Move, ClassDeclaration, 143)
(InsertAroundActiveStatement, FinallyClause, 143)
(DeleteAroundActiveStatement, FinallyClause, 141)
(ChangingQueryLambdaType, AscendingOrdering, 141)
(UpdatingStateMachineMethodAroundActiveStatement, None, 139)
(Insert, AwaitExpression, 138)
(DeleteAroundActiveStatement, CatchBlock, 135)
(Insert, Attribute, 131)
(Delete, PropertyStatement, 131)
(Delete, AwaitExpression, 130)
(ChangingQueryLambdaType, LetClause, 130)
(GenericTypeUpdate, GetAccessorDeclaration, 127)
(ChangingQueryLambdaType, SelectClause, 124)
(GenericTypeUpdate, SetAccessorDeclaration, 124)
(Update, Attribute, 119)
(GenericTypeTriviaUpdate, ConstructorDeclaration, 118)
(Move, EnumMemberDeclaration, 116)
(Insert, YieldReturnStatement, 113)
(Move, FieldDeclaration, 113)
(Delete, VariableDeclarator, 112)
(MemberBodyTooBig, FunctionBlock, 111)
(ChangingLambdaParameters, LocalFunctionStatement, 110)
(Renamed, PropertyStatement, 110)
(InsertIntoInterface, SubBlock, 104)
(Delete, YieldReturnStatement, 102)
(InsertIntoStruct, VariableDeclarator, 102)
(Delete, GetAccessorDeclaration, 101)
(InsertFile, None, 100)
(Insert, OptionStatement, 96)
(Delete, EnumDeclaration, 95)
(Delete, PropertyBlock, 93)
(Delete, OptionStatement, 93)
(StackAllocUpdate, MethodDeclaration, 90)
(GenericTypeUpdate, SubBlock, 89)
(Insert, EnumMemberDeclaration, 86)
(Delete, AttributesStatement, 83)
(InsertAroundActiveStatement, LockStatement, 78)
(UpdateAroundActiveStatement, OnErrorGoToZeroStatement, 75)
(TypeUpdate, ModifiedIdentifier, 70)
(GenericTypeInitializerUpdate, VariableDeclarator, 65)
(PartialTypeInitializerUpdate, None, 64)
(Delete, EventFieldDeclaration, 64)
(DeleteAroundActiveStatement, TryBlock, 63)
(InsertAroundActiveStatement, WithBlock, 61)
(Insert, AttributeList, 61)
(UpdatingStateMachineMethodMissingAttribute, Block, 60)
(ChangingLambdaReturnType, MultiLineFunctionLambdaExpression, 59)
(InsertIntoInterface, FunctionBlock, 59)
(GenericTypeUpdate, FunctionBlock, 59)
(Update, ImportsStatement, 57)
(UpdateAroundActiveStatement, DeclarationExpression, 53)
(InsertVirtual, SubBlock, 52)
(Renamed, ClassStatement, 52)
(InsertExtern, MethodDeclaration, 52)
(Delete, ClassBlock, 52)
(InsertAroundActiveStatement, UsingBlock, 51)
(ChangingLambdaReturnType, LocalFunctionStatement, 51)
(MethodKindUpdate, FunctionStatement, 50)
(InsertIntoStruct, ModifiedIdentifier, 50)
(Insert, ModuleBlock, 50)
(Insert, TypeParameterList, 49)
(InsertOperator, ConversionOperatorDeclaration, 49)
(ChangingQueryLambdaType, DescendingOrdering, 48)
(UpdateAroundActiveStatement, UsingBlock, 46)
(GenericMethodUpdate, SubBlock, 45)
(GenericMethodTriviaUpdate, FunctionBlock, 44)
(BaseTypeOrInterfaceUpdate, ClassBlock, 44)
(Delete, AttributeList, 42)
(InitializerUpdate, Parameter, 40)
(MethodBodyDelete, PropertyDeclaration, 38)
(Renamed, EnumDeclaration, 38)
(Delete, DelegateDeclaration, 37)
(ChangingLambdaParameters, MultiLineFunctionLambdaExpression, 37)
(MethodBodyAdd, PropertyDeclaration, 37)
(Renamed, Parameter, 37)
(InsertVirtual, FunctionBlock, 36)
(Delete, ConversionOperatorDeclaration, 34)
(BaseTypeOrInterfaceUpdate, InterfaceDeclaration, 33)
(AccessorKindUpdate, SetAccessorDeclaration, 33)
(Move, Parameter, 32)
(Delete, StructDeclaration, 32)
(ChangingVisibility, None, 32)
(UpdateAroundActiveStatement, LocalFunctionStatement, 30)
(Delete, TypeParameterList, 30)
(InitializerUpdate, EnumMemberDeclaration, 30)
(Delete, ModifiedIdentifier, 30)
(AccessorKindUpdate, GetAccessorDeclaration, 28)
(MemberBodyInternalError, Block, 28)
(ChangingLambdaParameters, MultiLineSubLambdaExpression, 27)
(UpdateAroundActiveStatement, LockStatement, 27)
(DeleteAroundActiveStatement, FinallyBlock, 27)
(UpdateAroundActiveStatement, IsPatternExpression, 26)
(Renamed, EnumMemberDeclaration, 25)
(GenericTypeTriviaUpdate, GetAccessorDeclaration, 25)
(InsertAroundActiveStatement, YieldReturnStatement, 25)
(ChangingQueryLambdaType, CollectionRangeVariable, 25)
(Insert, YieldBreakStatement, 24)
(Move, PropertyStatement, 23)
(MethodKindUpdate, SubStatement, 23)
(GenericTypeTriviaUpdate, SetAccessorDeclaration, 23)
(InsertVirtual, SetAccessorDeclaration, 22)
(UpdateAroundActiveStatement, ResumeNextStatement, 22)
(ActiveStatementLambdaRemoved, AnonymousMethodExpression, 21)
(Delete, EnumMemberDeclaration, 21)
(GenericTypeUpdate, PropertyDeclaration, 21)
(InsertIntoStruct, PropertyDeclaration, 20)
(PartialTypeInitializerUpdate, PropertyStatement, 20)
(GenericTypeTriviaUpdate, FunctionBlock, 19)
(Renamed, InterfaceDeclaration, 19)
(TypeKindUpdate, ClassDeclaration, 19)
(Delete, TypeParameterConstraintClause, 18)
(ChangingLambdaParameters, SingleLineSubLambdaExpression, 17)
(Renamed, TypeParameter, 17)
(Delete, ConstructorBlock, 17)
(Delete, YieldBreakStatement, 17)
(Delete, InterfaceDeclaration, 17)
(ChangingQueryLambdaType, AscendingOrdering, 17)
(UpdateAroundActiveStatement, ResumeStatement, 16)
(InsertAroundActiveStatement, FinallyBlock, 16)
(InsertVirtual, ConstructorDeclaration, 16)
(EnumUnderlyingTypeUpdate, EnumDeclaration, 15)
(Insert, TypeParameterConstraintClause, 15)
(ActiveStatementLambdaRemoved, SingleLineFunctionLambdaExpression, 15)
(GenericTypeInitializerUpdate, PropertyDeclaration, 15)
(SwitchExpressionUpdate, ConstructorDeclaration, 15)
(TypeUpdate, TypeParameterConstraintClause, 15)
(UpdateAroundActiveStatement, SwitchStatement, 15)
(Renamed, StructDeclaration, 14)
(Delete, DestructorDeclaration, 14)
(Delete, EventDeclaration, 14)
(Move, EventFieldDeclaration, 13)
(InsertMethodWithExplicitInterfaceSpecifier, MethodDeclaration, 13)
(Insert, ForEachStatement, 13)
(GenericTypeUpdate, GetAccessorBlock, 12)
(Insert, DestructorDeclaration, 11)
(MethodBodyDelete, MethodDeclaration, 11)
(Move, EnumMemberDeclaration, 11)
(InsertVirtual, PropertyBlock, 11)
(ChangingFromAsynchronousToSynchronous, ForEachStatement, 11)
(ActiveStatementLambdaRemoved, LocalFunctionStatement, 11)
(InsertAroundActiveStatement, YieldBreakStatement, 11)
(GenericTypeTriviaUpdate, SubBlock, 11)
(Renamed, DelegateDeclaration, 10)
(SwitchBetweenLambdaAndLocalFunction, LocalFunctionStatement, 10)
(Insert, VariableDeclarator, 10)
(Insert, ModifiedIdentifier, 10)
(Delete, ModuleBlock, 9)
(UpdateStaticLocal, GetAccessorBlock, 9)
(UpdateAroundActiveStatement, TupleExpression, 8)
(Move, ModifiedIdentifier, 8)
(Insert, DeclareFunctionStatement, 8)
(Delete, ParameterList, 8)
(ChangingFromAsynchronousToSynchronous, LocalDeclarationStatement, 7)
(Insert, AttributesStatement, 7)
(InsertAroundActiveStatement, AwaitExpression, 7)
(Renamed, TypeParameterConstraintClause, 7)
(UpdateAroundActiveStatement, ForEachVariableStatement, 7)
(Move, EnumDeclaration, 7)
(Renamed, ModuleStatement, 7)
(Move, ClassBlock, 6)
(ActiveStatementLambdaRemoved, WhereClause, 6)
(Delete, DeclareFunctionStatement, 6)
(GenericTypeTriviaUpdate, PropertyDeclaration, 6)
(SwitchExpressionUpdate, GetAccessorDeclaration, 6)
(Insert, Attribute, 6)
(Move, StructDeclaration, 6)
(GenericTypeUpdate, OperatorDeclaration, 6)
(Delete, OperatorDeclaration, 6)
(Delete, EventStatement, 6)
(ActiveStatementLambdaRemoved, SingleLineSubLambdaExpression, 6)
(InsertVirtual, GetAccessorDeclaration, 6)
(InsertOperator, OperatorDeclaration, 6)
(Delete, ForEachStatement, 6)
(ChangingQueryLambdaType, FromClause, 6)
(Delete, StructureBlock, 6)
(ActiveStatementLambdaRemoved, MultiLineSubLambdaExpression, 6)
(InsertIntoInterface, FieldDeclaration, 6)
(InsertVirtual, PropertyStatement, 6)
(InsertAroundActiveStatement, SyncLockBlock, 6)
(UpdateAroundActiveStatement, ResumeLabelStatement, 6)
(GenericMethodTriviaUpdate, SubBlock, 6)
(Insert, FunctionStatement, 5)
(ChangingQueryLambdaType, DescendingOrdering, 5)
(TypeKindUpdate, StructDeclaration, 5)
(Move, InterfaceDeclaration, 5)
(Delete, IndexerDeclaration, 5)
(SwitchExpressionUpdate, SetAccessorDeclaration, 5)
(GenericTypeTriviaUpdate, VariableDeclarator, 5)
(MethodBodyAdd, MethodDeclaration, 4)
(Insert, TypeParameter, 4)
(ChangingQueryLambdaType, ExpressionRangeVariable, 4)
(Delete, SetAccessorBlock, 4)
(Delete, EnumBlock, 4)
(ImplementsClauseUpdate, PropertyStatement, 4)
(InsertOperator, OperatorBlock, 4)
(InsertIntoInterface, ConstructorBlock, 4)
(FieldKindUpdate, EventFieldDeclaration, 4)
(ComplexQueryExpression, ConstructorBlock, 4)
(MethodBodyDelete, ConstructorDeclaration, 4)
(ModifiersUpdate, ModuleStatement, 4)
(Delete, TypeParameter, 4)
(GenericTypeUpdate, SetAccessorBlock, 4)
(UpdateAroundActiveStatement, SimpleAssignmentExpression, 4)
(GenericTypeUpdate, ConstructorBlock, 4)
(Insert, LocalDeclarationStatement, 4)
(TypeUpdate, DelegateDeclaration, 3)
(ModifiersUpdate, DelegateDeclaration, 3)
(SwitchBetweenLambdaAndLocalFunction, SimpleLambdaExpression, 3)
(ActiveStatementLambdaRemoved, SelectClause, 3)
(ChangingStateMachineShape, AwaitExpression, 3)
(TypeUpdate, OperatorDeclaration, 3)
(UpdateAroundActiveStatement, SyncLockBlock, 3)
(Delete, Attribute, 3)
(ImplementsClauseUpdate, FunctionStatement, 3)
(Insert, DeclareSubStatement, 3)
(Insert, ExternAliasDirective, 3)
(Move, DelegateDeclaration, 3)
(UpdateAroundActiveStatement, FixedStatement, 3)
(Delete, GetAccessorBlock, 3)
(BaseTypeOrInterfaceUpdate, StructDeclaration, 3)
(TypeKindUpdate, InterfaceDeclaration, 3)
(DeclareLibraryUpdate, DeclareFunctionStatement, 3)
(TypeKindUpdate, ClassStatement, 3)
(Update, OptionStatement, 3)
(Insert, ParameterList, 3)
(Renamed, NamespaceStatement, 2)
(ActiveStatementLambdaRemoved, WhereClause, 2)
(UpdateAroundActiveStatement, OnErrorGoToMinusOneStatement, 2)
(ActiveStatementLambdaRemoved, ExpressionRangeVariable, 2)
(ActiveStatementLambdaRemoved, AscendingOrdering, 2)
(ComplexQueryExpression, SetAccessorBlock, 2)
(ModifiersUpdate, ConversionOperatorDeclaration, 2)
(Move, VariableDeclarator, 2)
(InsertGenericMethod, FunctionBlock, 2)
(ChangingStateMachineShape, VariableDeclarator, 2)
(ActiveStatementLambdaRemoved, AscendingOrdering, 2)
(TypeUpdate, IndexerDeclaration, 2)
(InsertIntoInterface, EventFieldDeclaration, 2)
(Move, EventStatement, 2)
("259.0", ConstructorBlock, 2)
(SwitchExpressionUpdate, PropertyDeclaration, 2)
(InsertAroundActiveStatement, ForEachVariableStatement, 2)
(ReadOnlyReferences, Parameter, 2)
(UpdateStaticLocal, SetAccessorBlock, 2)
(SourceFileTooBig, None, 2)
(ModifiersUpdate, SubNewStatement, 2)
(FieldKindUpdate, FieldDeclaration, 2)
(Delete, FunctionStatement, 2)
(Delete, YieldStatement, 2)
(ChangingFromAsynchronousToSynchronous, InvocationExpression, 2)
(ActiveStatementLambdaRemoved, JoinClause, 2)
(Delete, DelegateSubStatement, 2)
(ChangingLambdaReturnType, MultiLineSubLambdaExpression, 2)
(Renamed, ConversionOperatorDeclaration, 2)
(GenericTypeUpdate, AddHandlerAccessorBlock, 1)
(TypeUpdate, EventStatement, 1)
(ChangingFromAsynchronousToSynchronous, IdentifierName, 1)
(Insert, TypeParameterList, 1)
(ActiveStatementLambdaRemoved, JoinCondition, 1)
(SwitchExpressionUpdate, OperatorDeclaration, 1)
(Move, StructureBlock, 1)
(AccessorKindUpdate, RemoveAccessorDeclaration, 1)
(AccessorKindUpdate, AddAccessorDeclaration, 1)
(Move, NamespaceDeclaration, 1)
(Renamed, StructureStatement, 1)
(ActiveStatementLambdaRemoved, DescendingOrdering, 1)
(TypeUpdate, ConversionOperatorDeclaration, 1)
(ChangingFromAsynchronousToSynchronous, AwaitExpression, 1)
(GenericTypeUpdate, DestructorDeclaration, 1)
(Delete, OperatorBlock, 1)
(VarianceUpdate, TypeParameter, 1)
(InsertAroundActiveStatement, FixedStatement, 1)
(DeclareLibraryUpdate, DeclareSubStatement, 1)
(MethodBodyAdd, ConstructorDeclaration, 1)
(InsertExtern, ConstructorDeclaration, 1)
(ModifiersUpdate, DeclareFunctionStatement, 1)
(Insert, SubStatement, 1)
(Delete, DeclareSubStatement, 1)
(GenericTypeUpdate, RemoveAccessorDeclaration, 1)
(GenericTypeUpdate, AddAccessorDeclaration, 1)
(MemberBodyInternalError, FunctionBlock, 1)
(InsertIntoClassWithLayout, VariableDeclarator, 1)
(GenericTypeTriviaUpdate, DestructorDeclaration, 1)
(ComplexQueryExpression, GetAccessorBlock, 1)
(ModifiersUpdate, IndexerDeclaration, 1)
(Renamed, TypeParameter, 1)
(InsertHandlesClause, FunctionBlock, 1)
(InsertVirtual, FieldDeclaration, 1)
(GenericTypeTriviaUpdate, SetAccessorBlock, 1)
(TypeUpdate, DeclareFunctionStatement, 1)
(SwitchBetweenLambdaAndLocalFunction, ParenthesizedLambdaExpression, 1)
(GenericTypeTriviaUpdate, AddHandlerAccessorBlock, 1)
(InsertVirtual, EventFieldDeclaration, 1)
(ActiveStatementLambdaRemoved, DescendingOrdering, 1)
(GenericTypeTriviaUpdate, ConstructorBlock, 1)
(TypeKindUpdate, ModuleStatement, 1)
(UpdatingStateMachineMethodMissingAttribute, SubBlock, 1)
(InsertGenericMethod, SubBlock, 1)
(Renamed, EnumStatement, 1)
(Renamed, DeclareFunctionStatement, 1)
(InsertAroundActiveStatement, VariableDeclarator, 1)
(UpdateStaticLocal, ConstructorBlock, 1)
(HandlesClauseUpdate, FunctionStatement, 1)
(ActiveStatementLambdaRemoved, FromClause, 1)
(InsertIntoInterface, MethodDeclaration, 1)
(Move, DelegateSubStatement, 1)
(GenericTypeTriviaUpdate, GetAccessorBlock, 1)

@phil-allen-msft
Copy link
Contributor

Modern telemetry looks like (top 10):
ChangingLambdaParameters-->SimpleLambdaExpression
Move->FieldDeclaration
ActiveStatementUpdate->None
Delete->VariableDeclarator
ChangingLambdaReturnType->SimpleLambdaExpression
Insert->AttributeList
Update->Attribute
AwaitStatementUpdate->None
InsertVirtual->MethodDeclaration
(blank)->CompilationUnit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Interactive Concept-Continuous Improvement Dev17 IDE Priority Epic Groups multiple user stories. Can be grouped under a theme. Interactive-EnC Story User Story A single user-facing feature. Can be grouped under an epic.
Projects
None yet
Development

No branches or pull requests

7 participants