-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Merging Features/generators into Future. #11274
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Initial support for source generators Load SourceGenerator from assemblies specified with -analyzer:; run generators on project load and explicit build; include generated source in Compilation; expose Generated Source folder in Solution Explorer.
Support replace/original in C#
Conflicts: src/Compilers/CSharp/Portable/BoundTree/Expression.cs src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt src/Compilers/CSharp/Portable/Symbols/SymbolExtensions.cs src/Compilers/CSharp/Portable/Syntax/SyntaxKind.cs src/Compilers/CSharp/Portable/Syntax/SyntaxKindFacts.cs src/Compilers/Core/Portable/CommandLine/CommonCompiler.cs src/Compilers/Core/Portable/PortableShim.cs src/VisualStudio/Core/Def/Implementation/ProjectSystem/MiscellaneousFilesWorkspace.cs src/VisualStudio/Core/Def/Implementation/ProjectSystem/VisualStudioWorkspaceImpl.cs src/Workspaces/Core/Portable/PublicAPI.Unshipped.txt src/Workspaces/Core/Portable/Workspace/Solution/ProjectInfo.cs src/Workspaces/CoreTest/ServicesTest.csproj
Merge remote-tracking branch 'upstream/future' into 'features/generators'
Fix PublicAPI.Unshipped.txt
Avoid deadlock in SourceMemberContainerSymbol.GetMembersByName()
Fix unit tests
Add generators.md and generators.work.md
Fix unit tests
Merge future into generators
Source Generators: Entered tracking issues on Source Generators and removed "PROTOTYPE" remarks
Since "original" is by itself contextual on the presence of "replace", only "replace" actually needs to be keyed off a flag.
Hide replace/original functionality behind a feature flag.
merge from recent Future into generators
Some CR feedback tidyup.
Added traits attributes to the generators tests
"replace" is roughly allowed in the same contexts as "async", so the "replace" ecommender is basically a copy of "async" recommender. Fixes: #11191
Make keyword recommender know about "replace"
Merge recent future into generators
@dotnet/roslyn-ide - FYI |
I have also run @cston demo for NotifyPropertyChanged and it worked. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Internal Dogfooding Requirements (Merge Signoff)
Critical IDE features in the areas of Typing, Navigating, and Viewing must function as expected. Any non-trivial issues in these areas blocking language feature merging.
All feature descriptions and testing suggestions are merely examples. Each language feature should be carefully considered independently against each IDE feature to find interesting intersections
Completely enables/disables the feature in the compiler & IDE
- Type and paste new constructs
- Nothing interferes with verbatim typing
- Typing new keyword/construct names
- Dotting off of new constructs
- Spacing in and around new constructs
- Spacing options
- Format Document command
- Auto-insert close brace
- Shift+Enter commit of pending brace completion
- Typing
Enter
in an unfinished statement indents the next line- F12 from callsites to definition
- Jump from virtual members to their implementations
- Jump from inheritable types to their implementations
- Lists references to a symbol in "Find Symbol Results" window
- Shows results in hierarchy grouped by definition
- Keywords, literals, and identifiers colored appropriately in code
- Squiggles appear as expected on reasonable spans
IDE Features (Feature Signoff)
For the remaining set of IDE features, only crashes and asserts are considered blocking. However, all issues discovered must be filed and linked here.
All feature descriptions and testing suggestions are merely examples. Each language feature should be carefully considered independently against each IDE feature to find interesting intersections
Code Transformations
- Dashboard shows correct information
- Highlighted spans are updated appropriately
- Rename operation updates the correct set of symbols
- Updates all direct & cascaded definitions/callsites
- Shows appropriate signature & parameter previews in UI
- Generated Interface has expected shape
- UI shows appropriate method previews
- Dialog gives all valid options
- Tracking span tracks & dismisses as expected
- Extracted method has the expected signature
- All arguments/return values handled correctly
- Extracted code block is reasonable
- Introduced variable has the expected signature and initializer expression
- "Introduce for All" correctly finds dupes
- Inlined values are appropriately expanded/reduced
- Honors "Place 'System' namespace first" option
Add Description
Add Description
- Triggers on appropriate constructs
Add Description
Add Description
- Generated method has the expected signature and accessibility
- Select fields/properties to generate a constructor accepting corresponding arguments
- Generated constructor has the expected signature and accessibility
- Only missing methods added
- All added methods have the expected signature and accessibility
Add Description
Add Description
Add Description
- Type "+=" after an event name and QuickInfo shows
- Invoking should pick good name & launch Inline Rename
Add Description
Add Description
IDE Features
- Overloads shown with appropriate, colorized signature
- Hover on identifiers
- On completion list items
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description
Add Description