Skip to content

Add support for compilation end code fix. - #1132

Merged
heejaechang merged 5 commits into
dotnet:masterfrom
heejaechang:CompilationEnd2
Mar 10, 2015
Merged

Add support for compilation end code fix.#1132
heejaechang merged 5 commits into
dotnet:masterfrom
heejaechang:CompilationEnd2

Conversation

@heejaechang

Copy link
Copy Markdown
Contributor

now code fix should support diagnostics from compilation end action.

a few options are added to test experience which can be changed from Tools/Options/Roslyn/Diagnostic pane.

now code fix should support diagnostics from compilation end action.

a few options are added to test experience which can be changed from Tools/Options/Roslyn/Diagnostic pane.
@heejaechang

Copy link
Copy Markdown
Contributor Author

@mavasani

mavasani commented Mar 9, 2015

Copy link
Copy Markdown
Contributor

The code fix is still synchronously computed on Ctrl + Dot right? So until we have asynchronous light bulb support, Ctrl + Dot will be slower if user has any such fixer enabled? We should probably document this somewhere in the fixer API (probably on the property fetching supported diagnostic IDs).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do a state.Remove(project.Id) at the start of method, but persist only document diagnostics data here, not project diagnostics with no location? Where are those persisted?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kv.Key == null is for project.

@mavasani

mavasani commented Mar 9, 2015

Copy link
Copy Markdown
Contributor

👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Heuristic" is the expected spelling. What is the heuristic? How reliable is it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JohnHamby heuristic is that, if there is existing compilation end diagnostic, we show code fix for it, otherwise, we won't.

but this behavior is controlled by an option you can change from Tools/Options/Roslyn/Diagnostics

until we have async support from platform, we probably need to test several different experiences. this is just one of them.

@heejaechang

Copy link
Copy Markdown
Contributor Author

current heuristic is we only support compilation end code fix when it is already reported. otherwise, no.

we also have an option to turn that heuristic off so that we always block user on ctrl+.. (in Tools\Options)

we also have an option to turn off compilation end code fix (in Tools\Options)

is this to test different behavior until we have async LB support from platform.

@heejaechang

Copy link
Copy Markdown
Contributor Author

@JohnHamby @srivatsn @shyamnamboodiripad can one of you sign off?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: capitalize the first word in every sentence.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants