- 30 6月, 2018 1 次提交
-
-
由 Heejae Chang 提交于
this will help us track some ratio such as completion commit/dismiss
-
- 06 6月, 2018 1 次提交
-
-
由 Dustin Campbell 提交于
This change exposes two SymbolFinder APIs to locate source declarations using the Roslyn pattern-matcher logic.
-
- 24 4月, 2018 1 次提交
-
-
由 Heejae Chang 提交于
* moving methods around to clean things up. * more clean up * added comment * more code re-arrange * revert some clean up back since that requires some changes I dont want to do for clean up * optimize text change synchronization previously, all files were synced between VS and OOP by file. it might use memory map file to sync, but it regardless always synched whole file. this optimization add special care on text change case. now it will sync only text change rather than whole file when conditions are met. this should remove most of cases where we need to sync whole file while typing. adding this so that we can move editor centric features to OOP (features that respond to typing) previously OOP would only hosts features such as FAR, full solution diagnostics, LUT and etc. where synching a file is not big cost compared to works features doing and doesn't require to sync file per each key stroke. * address PR feedback * workaround this bug - https://github.com/dotnet/roslyn/issues/26305 this will be removed once the bug is fixed
-
- 31 3月, 2018 1 次提交
-
-
由 Heejae Chang 提交于
added more logging for completion to track some test failures where completion doesn't show up when it should have. (#25801) all these logging is No-op without logging enabled. and they are not enabled in product. only in test.
-
- 07 3月, 2018 1 次提交
-
-
由 Heejae Chang 提交于
* enable logAnalyzerExecutionTime on IDE so that we can start track analyzer perf * removed unnecessary ICodeAnalysisDiagnosticAnalyzerExecutor interface. it was added when OOP is first introduced to make sure VS.Next dll won't get loaded to VS process if OOP is not enabled. when it is enabled by default, rather than removing the interface, implementation just moved down to feature layer to reduce code churn. now, I am properly removing unnecessary abstraction. * take Executor out of test MEF composition * added IRemoteDiagnosticAnalyzerService interface * made initial version working. * added tests * add tracking for inproc only analyzers * pass in diagnostic analyzer service * added open file performance tracking as well. * added PII test * dont hash analyzerId when it is reported by internal user * added link to LOF wiki * made blame to track open files as well. * forgot to add return in if statement * reduce threshold to 100ms decide to start from lower threshold and then iterate rather than start from higher threshold * added a way to log real time perf data in local machine with explicit option which can be used to train formula later * addressed ivan's feedbacks * renamed to ExpensiveAnalyzerInfo * addressed PR feedbacks * more renames * addressed PR feedbacks. renamed as much as I can find. * listener can be null in unit test * addressed PR feedbacks
-
- 16 2月, 2018 1 次提交
-
-
由 Kevin Pilch 提交于
Adds 3 telemetry points to see when projects get created, pushed to the workspace, and have their "LastDesignTimeBuildSucceeded" flag changed. Fixes internal bug 568001.
-
- 03 2月, 2018 1 次提交
-
-
由 dotnet bot 提交于
* Remove duplicate lock DocumentState.s_syntaxTreeToIdMapLock This lock is only being used to protect access to an instance which contains internal synchronization. * Better handle surrounding directives when inlining a local variable. * Add tests. * Share code between VB and C#. * Reduce allocations in UnboundLambda Fixes #23463 * Restore ReturnInferenceCacheKey as the key for _returnInferenceCache * Update code to more closely follow patterns of the original code * Cleanup from code review * basic fix for intellisense in Immediate window * better comments and cleanup * Add basic integration tests * cleanup inproc Immediate window integration test helper * fix incorrect comment * address PR feedback * create Immediate window on ImmediateWindow_InProc.GetText() * Verify MSBuild version in Developer CMD prompt Roslyn is designed to have the simplest possible contribution story: clone then build. Every pre-req needed is either located on the machine or bootstrapped via NuGet. All the way down to using an xcopy MSBuild if needed. The one case which causes a problem is the VS command prompt. In this case MSBuild is pre-installed on the machine and may or may not be suitable for building Roslyn. Previously when building from a VS command prompt we just used whatever MSBuild was provided. The assumption being a developer command prompt was an explicit statement of whath MSBuild you wanted to use. Based on all of our customer reports though this does not seem to be the assumption that consumers of our repo have. The build gave them no explicit errors about the provided toolset and hence when the build failed they assigned flakiness to our repo. Going forward we are applying the same version validation to MSBuild when provided via a developer command prompt. If it doesn't match we will refuse to build asking the user to upgrade VS or build from a normal command prompt. * Remove unneeded debugging line * Comment about pre-release * Added minimum version * Add Omit If Default style option * Add space to be like test without the omit * Add/Remove without needing a property * Reformat * PR feedback * Fix VB diagnostic based on feedback * Handle case of NotApplicable modifier and field declaration list * Fix tests * PR feedback * PR feedback * PreviewCodeAction was overriding ComputeOperations but returning a post-processed operation from original action. This results in another PostProcess being called on the codeaction. If postprocess was overriden in originalaction that'll be ignored the second time (#23920) * Support negative null-check when we are suggesting to inline type checks Fixes #21097 Fixes #24286 * fix a case where persistent storage registration fails and some clean… (#24458) * fix a case where persistent storage registration fails and some clean up code around it. * added readonly * address PR feedback * removed comments no longer relevant * renamed lock name * moved waiter from diagnostics.dll to features.dll where all interfaces are defined. (#24512) * put listener change back in (https://github.com/dotnet/roslyn/pull/24120) * leave old types in legacy folder until partner teams move to new interface * added legacy waiter to support partner teams * Remove methods indirecting access to _metadataFileNameToConvertedProjectReference This field is documented as being written and read from any thread, but in practice all uses are guarded by an AssertIsForeground(). Thus we can get rid of the helper methods that are trying to "help" by locking before accessing the fields, making it really hard to track all the real uses of it. * Make method static that doesn't need state * add a comment to address PR feedback * Fix up tests of P2P to metadata reference conversion It turns out we had some tests, but the tests were disabled. This was because the tests weren't working properly anyways: they were calling into UpdateProjectBinPath which only updated some (but not all) of the project state. That was an internal helper method that shouldn't be used by tests. Updating the tests to use SetBinOutputPathAndRelatedData works better. * Delete debug-only reference validation This was some legacy code that tried to verify that the references we have from the project system match up to what DTE and other sources say. This was debug-only, and the actual asserts were commented out. This is deadweight at this point, so delete it. * added and cleaned up logs around build and live diagnostics. (#24551) also added RoslynActivityLogger that can be enabled through project-system-tool * Avoid closure allocations on the BindSyntaxTreeToId fast path * CS1628 error text mentions in parameters; fixes #24584 * Small cleanup of completion logic. * Move to xunit.console for CoreClr tests Previously we were using xunit.console for desktop tests and dotnet-xunit for our CoreClr tests. This change unifies us on top of xunit.console (now that it has a netcoreapp2.0 version available). * Move unix builds to xunit.runner.console as well * Get actual directory name, not file * Fix dir name issue * fixed build break
-
- 01 2月, 2018 1 次提交
-
-
由 Heejae Chang 提交于
also added RoslynActivityLogger that can be enabled through project-system-tool
-
- 08 12月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
added a way to set logging information synced to remote host and more logging for error list. (#23614)
-
- 06 12月, 2017 1 次提交
-
-
由 Fredric Silberberg 提交于
-
- 21 11月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
* removed missing references and p2p transitiveness from project successfully loaded check. also, now we log skeleton assembly failure reasons to improve those common cases * fixed test failure due to transitiveness change.
-
- 27 10月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
* added time tracking to completion set. from the point we start completion set to first time we are called from VS for best match (which indicate that completion set is actually shown to users first time for this particular completion session) the event is vs/ide/vbcs/intellisense/completion if completion is done without showing UI to users (etc or tab), then event will be marked as cancelled. * added perf tracking to LB fix all. there were already existing events so I just made those to include perf info (duration) as well. among all those events, these 2 are ones we were planning to add vs/ide/vbcs/codefixes/fixalloccurrencescomputation this shows time from the point user invoked fix all to where we shows preview window to users. vs/ide/vbcs/codefixes/applychanges this shows time from user clicked Apply from preview window to where we actually applied the changes to VS there are more events between them in case we want to dig in details later such as how long it took to calculate diagnostics, how many files are affected and etc. also all related events have correlation id to group related code fix events. also for fix all case, it contains scope to show whether fix all is for document, project, solution. * PR feedback. removed unnecessary parameter * removed repeated correction id set * updated comments.
-
- 09 9月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
added ability to run OOP in 64bit. currently it is not enabled. but it can be enabled explicitly through options or remotely through a/b testing. a/b testing is not enabled yet.
-
- 18 5月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
state progress as below 1. StartCandidacyRequirementsTracking <- first time user user LB (only once per user) 2. HasMetCandidacyRequirements <- when requirement is met (only once per user) 3. AnalyzerEnabledFlight <- when the user accepted as flight group (multiple times until user take action) 4. InfoBarShown <- when info bar is shown (multiple times until user takes an action) actions user can take. (this can only happen once) 1. AnalyzerVsixHyperLine <- user choose to go to the link 2. NeverShowAgain <- user decide not to participate in the experiment if user choose to install vsix (this can only happen once - unless user manually reinstall the vsix...) 1. Installed 2. Uninstalled the first time user installed the vsix, we will report these extra info 1. DocumentDiagnostics - report only once per a document 2. ProjectDiagnostics - report only once per project these 2 report include count per errors and FSA status. these only report once and never report again.
-
- 09 5月, 2017 2 次提交
-
-
由 Heejae Chang 提交于
we found 2 issues. 1. hard to validate persisted data and 2. recalculating checksum is faster than reading from storage.
-
由 Fredric Silberberg 提交于
-
- 03 5月, 2017 1 次提交
-
-
由 CyrusNajmabadi 提交于
-
- 02 4月, 2017 1 次提交
-
-
由 CyrusNajmabadi 提交于
-
- 22 3月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
-
- 01 3月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
-
- 28 2月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
now, it will get synched when remote host is first created rather than doing that on demand. so functionality change, so re-organized where things happening.
-
- 23 2月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
this ability is needed to so user extension dlls can be re-loaded without re-launching VS.
-
- 22 2月, 2017 2 次提交
-
-
由 Heejae Chang 提交于
this ability is needed to so user extension dlls can be re-loaded without re-launching VS.
-
由 Heejae Chang 提交于
-
- 10 2月, 2017 1 次提交
-
-
由 CyrusNajmabadi 提交于
-
- 31 1月, 2017 1 次提交
-
-
由 Heejae Chang 提交于
this is added so that we can reduce chance of OOM when user added massive size text file to solution. current default max is 100MB. but user can override it through hidden reg key if they want to. if such file is added, FileTextLoader will throw InvalidDataException and Workspace will raise Workspace Failed event. in VS host case, we will show the failed event in output windows. made it to use test option service since option is mutable workspace state which affects all other tests.
-
- 14 11月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
-
- 22 10月, 2016 2 次提交
-
-
由 Heejae Chang 提交于
track session across remote host
-
由 Heejae Chang 提交于
batch asset synchronization on solution creation
-
- 14 10月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
separated checksum creation from ISolutionSynchronizationService
-
- 13 10月, 2016 2 次提交
-
-
由 Heejae Chang 提交于
now OOP tracks session id across 2 processes. VS and remote host. this should let us use exact connection for the session communication and use exact pinned snapshot for the session. this should improve cancellation tracking (since we use connection for cancellation) and perf of finding pinned asset for the session.
-
由 Heejae Chang 提交于
-
- 11 10月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
-
- 10 10月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
now all solution checksum data is moved down to solution states. and ISolutionSynchrnoizationService will only do synchrnoization between 2 hosts.
-
- 15 9月, 2016 1 次提交
-
-
由 Paul Vick 提交于
Add out of proc CodeLens processing
-
- 14 9月, 2016 2 次提交
-
-
由 Heejae Chang 提交于
make checksum build time of roslyn-internal from 1 min to 8 seconds
-
由 Paul Vick 提交于
-
- 09 9月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
got rid of as much async as possible. it can't be completely non-async due to getting text is async. made building any async part concurrent.
-
- 31 8月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
this makes sending over roslyn-internal solution data to OOP from 3 minutes to 4 seconds. after that, only changed assets are sent over which is usually less than 1-2ms. this optimization is only for actually moving data between 2 processes. there are other things involved which need to be optimized as well to make whole system to be faster than right now (which takes about 1+ mins for initial solution load)
-
- 17 8月, 2016 1 次提交
-
-
由 Heejae Chang 提交于
-