- 17 9月, 2020 5 次提交
-
-
由 Levi Broderick 提交于
-
由 Charles Stoner 提交于
-
由 Manish Vasani 提交于
Error list improvements
-
由 Julien Couvreur 提交于
-
由 Neal Gafter 提交于
* Use a distinct diagnostic ID when an exhaustiveness report uses an unnamed enum value. Fixes #47066
-
- 16 9月, 2020 20 次提交
-
-
由 dotnet-maestro[bot] 提交于
[master] Update dependencies from dotnet/arcade
-
由 AlekseyTs 提交于
Related to #47357.
-
由 Rikki Gibson 提交于
-
由 Rikki Gibson 提交于
-
由 Manish Vasani 提交于
-
由 Manish Vasani 提交于
-
由 Gen Lu 提交于
Exclude empty item from completion list
-
由 Manish Vasani 提交于
-
由 Sam Harwell 提交于
-
由 msftbot[bot] 提交于
Disable flaky optprof test
-
由 Jared Parsons 提交于
This test is hanging on test runs. Tracking issue #47720
-
由 CyrusNajmabadi 提交于
Show events completion inside NameOf
-
由 Gen Lu 提交于
Keep track of the trigger location for async completion
-
由 Jonathon Marolf 提交于
always nuget restore in graph mode
-
由 David Wengier 提交于
* Classify function pointers correctly * Use a stable sort for classifications
-
由 Gen Lu 提交于
-
由 Rikki Gibson 提交于
-
由 Fred Silberberg 提交于
-
由 Allison Chou 提交于
Add change signature support for target-typed new
-
由 CyrusNajmabadi 提交于
Fix lambda completion inside `new()` arguments
-
- 15 9月, 2020 15 次提交
-
-
由 Julien Couvreur 提交于
-
由 Youssef Victor 提交于
-
由 msftbot[bot] 提交于
only specify minimum heights and widths
-
由 msftbot[bot] 提交于
Add test to validate non-repro issue.
-
由 Jonathon Marolf 提交于
-
由 Fredric Silberberg 提交于
-
由 Manish Vasani 提交于
-
由 Fredric Silberberg 提交于
This is a mitigation for the threading issue discussed in https://github.com/dotnet/roslyn/issues/35818. When building VS, there is a flaky threading issue where an interpolation with multiple parts can end up with different nodes on different threads, causing an optimization in `SetParentOperation(ImmutableArray)` to be invalid. This makes the optimization much narrower, ensuring that it is actually valid for this case. The specific scenario here is an interplotated string with multiple parts. The steps are: 1. 2 threads attempt to get the children of an interpolated string operation at the same time. 2. Thread 1 gets the child for the first part of the string and caches it. 3. Thread 2 gets the child for the first part of the string and gets that same cached element. 4. Both threads attempt to get child 2. Neither hits the cache, so they get different nodes. 5. Both threads construct the array of interpolated string parts. 6. Thread 1 sets the parent of the interpolated string parts to be itself. 7. Thread 2 attempts to set the parent of the interpolated string parts to be itself. This returns early, because part 1 already has a parent, leaving part 2 with an unset parent. 8. Later, thread 2 asks for the parent of part 2. It is unset, violating the invariants, and we infinite loop. As an additional mitigation step, we also ensure that the process of constructing an interpolated string's inserts does not hit the cache. Since we never ask for an operation within a single expression, this will prevent 2 threads from seeing the same first element and differing subsequent elements.
-
由 CyrusNajmabadi 提交于
Fix convert-to-switch handling of comments at the end of blocks
-
由 Julien Couvreur 提交于
-
由 Manish Vasani 提交于
-
由 Gen Lu 提交于
-
由 Alireza Habibi 提交于
-
由 Manish Vasani 提交于
Work towards addressing large number of recent VS Feedback requests when user invokes an explicit build: - https://developercommunity.visualstudio.com/content/problem/1173125/error-list-sometimes-goes-empty-after-a-build.html - https://developercommunity.visualstudio.com/content/problem/1154411/errors-persist-in-the-error-list-even-after-fixing.html - https://developercommunity.visualstudio.com/content/problem/1149465/error-list-doesnt-show-errors-in-167x.html - https://developercommunity.visualstudio.com/content/problem/1142347/the-error-list-cannot-be-refreshed-in-real-time-ev.html - https://developercommunity.visualstudio.com/content/problem/1135858/error-list-errors-are-not-removed-after-successful.html - https://developercommunity.visualstudio.com/content/problem/1134412/failed-compilation-does-not-show-errors.html - https://developercommunity.visualstudio.com/content/problem/1126855/compile-error-view-major-bugs.html - https://developercommunity.visualstudio.com/content/problem/1053969/error-list-not-show.html Changes: - Performance - Refresh error list during the build, as and when we either clear diagnostics or add diagnostics from build into our in progress build state. Current implementation defers all updates to the end of the build, which has couple of disadvantages: - It adds to overall computuation within devenv.exe at end of the build, so it takes a longer time for error list to reach the stable state. This confuses the user into thinking error list has updated, but just has stale data. - Error list shows stale results during the build and some time after the build completes till we complete de-duplication of build and live diagnostics. - Avoid pre-fetching compilation for all projects everytime we de-dupe build and live diagnostics after build completes. This causes the major compute overhead from the time build completes to error list is updated (could even be a few minutes). The only reason we need the compilation for this step is to determine if an analyzer is a compilation end analyzer or not, so we can grouo the reported analyzer diagnostics into live or build-only bucket correctly. I will work on a separate follow-up change to avoid this computation completely, so we don't need to fetch compilation to determine is compilation end analyzer. - Functional - Update error list's "Build + Intellisense" setting to correctly show non-stable state (i.e. `Error List...`) while the build is executing and we are de-duping build and live diagnostics after build completes. Currently, the stable state for this setting only shows non-stable when solution crawler is running. This leads to error list incorrectly showing stable state when a build completes, but we are still de-duping diagnostics and solution crawler has not yet restarted. This confuses the users into thinking error list has finished all updates and has stale diagnostics. - Clear diagnostics for transitive projects: When we receive ClearDiagnostics(project) callback during build for projects getting re-built as part of the build, we now clear diagnostics for that project and also for all projects that transitively depend on that project. Not clearing transitively dependent project diagnostics will lead to stale diagnostics for these dependent projects in the error list, especially when user fixes errors in the core project in the dependency chain.
-
由 CyrusNajmabadi 提交于
Switch to an async nuget api to avoid blocking the UI thread.
-