- 19 10月, 2018 5 次提交
-
-
由 Heejae Chang 提交于
This adds an API for the project system to notify us about files that can generate .cs files in the workspace. The rest of the implementation is still coming but this unblocks the project system side of things.
-
由 Jason Malinowski 提交于
This test was broken prior to my change: it never waited for CPS to have completed design time builds before it asserted that everything was done. But before, there was no window where the UI thread was idle and the file wasn't associated with Miscellaneous Files. Now that we're more async, I think it is the case where it can be, and that trips things up.
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
We might disconnect/reconnect on background threads now, so be ready for that.
-
由 Jason Malinowski 提交于
Since we're checking the RDT asynchronously, we need a way for integration tests to confirm that.
-
- 18 10月, 2018 4 次提交
-
-
由 Jason Malinowski 提交于
Two bugs being fixed here: 1. When we remove a document in a non-batch scenario, we close any information related to the open document. If we were in a batch scenario, the SetCurrentSolution we do to apply the new Solution snapshot didn't go through that. Now we do. 2. UpdateSolutionForBatch wasn't calling the delegates given; this would have meant that additional files being added in a batch would have been added a regular source files.
-
由 Jason Malinowski 提交于
This would have never worked: we would have been closing documents after we had already removed them.
-
由 Jason Malinowski 提交于
A few places we might try to remove something that we shouldn't.
-
由 Jason Malinowski 提交于
I should have overriden this from the start -- the ExplicitBinPath didn't give you a way to specify you really did want it to be null.
-
- 17 10月, 2018 5 次提交
-
-
由 Jason Malinowski 提交于
I had implemented ProjectTracker.GetProject to always return shim projects for F#, but TypeScript expects they can call that, and then immediately pass that project to RemoveProject. So for TypeScript projects, we'll keep returning the real thing.
-
由 Jason Malinowski 提交于
The underlying process of removing a document already handled this, this was an unnecessary block. It was already the case that you could call OnProjectRemoved to remove the entire project that had open files, so this didn't really avoid badness in the first place.
-
由 Jason Malinowski 提交于
This meant some of the StubProjects we create for compatibility shims (which derive from AbstractProject) will now have this set. Otherwise we were passing back null, which didn't end well.
-
由 Jason Malinowski 提交于
We were adding with project unique name, but removing with the DisplayName, which could change over time. I've renamed the map to clarify exactly which "name" is being used. Right now I'm being lazy and just using a foreach across the ImmutableDictionary rather than converting it to a bidirectional map. If this ever becomes a perf problem, it's easy to fix.
-
由 Jason Malinowski 提交于
We stopped populating this, which breaks various things like Live Unit Testing and some of our persistence stuff.
-
- 13 10月, 2018 2 次提交
-
-
由 Jason Malinowski 提交于
F# was requesting the ID, which we'd throw on by accident.
-
由 Jason Malinowski 提交于
There's nothing left but shims at this point, so nothing actually requires it. Previously something must have been creating it by accident but we aren't anymore, and F# trying to use it would cause issues.
-
- 12 10月, 2018 2 次提交
-
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
The existing shim constructor we had wasn't being used -- I'm not sure if this is me accidentally refactoring after I had it working, or they changed their code more recently. In either case, it's easy enough to add another compat constructor.
-
- 11 10月, 2018 1 次提交
-
-
由 Jason Malinowski 提交于
We initialize AssemblyName when we create the project with the project system name (because the workspace requires we have something). But ocne we get the real path, we need to use the real name.
-
- 09 10月, 2018 1 次提交
-
-
由 Jason Malinowski 提交于
A confluence of bugs in shell means that using GetServiceAsync to request the file change service has a chance of deadlocking. For now we'll just avoid this since this pattern is fine too.
-
- 06 10月, 2018 20 次提交
-
-
由 Jason Malinowski 提交于
There are some perf issues created by this; they have already been fixed in later builds of Visual Studio but we can't rely on them for now.
-
由 Jason Malinowski 提交于
If the path or output directory is null, you might get nulls in KeyFileSearchPaths. This is potentially a workaround around dotnet/roslyn#30349, if that's actually a bug. Or, it's an indication we shouldn't be using this in the first place.
-
由 Jason Malinowski 提交于
ASP.NET Web Sites that are opened from the web have a URL as their file path. We don't want to hand that around to anything else, so skip it.
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
Our explicit layout was not correct on 64-bit, which we do run these tests on.
-
由 Jason Malinowski 提交于
VisualStudioMetadataReferenceManager has implicit UI thread requirements in it's constructor; for now we'll still trigger an early load of it when we know we're still on the UI thread. It's a requirement (eventually) that CreateAndAddToWorkspace be called free-threaded as well; we'll have to address this at that time.
-
由 Jason Malinowski 提交于
TypeScript uses the AbstractProject and VisualStudioProjectTracker to add and remove projects; this adds back a minimal shim for them to use.
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
We had separate tests for P2P conversion for both legacy shims and through the CPS APIs. Now tha the code is identical, we'll keep just the CPS ones.
-
由 Jason Malinowski 提交于
-
由 Jason Malinowski 提交于
Right now the underlying FileChangeWatcher still doesn't have support for requesting that a file watcher *must* be present at a certain point in time. Fow now, give an explicit "wait on queue" method for tests.
-
由 Jason Malinowski 提交于
I think this is what the test was intended to do -- otehrwise it's identical to the test before it.
-
由 Jason Malinowski 提交于
These were failing due to the shim rewrite, but it seems these are actualy the correct assertions: the SpecifiedLanguageVersion should be Default/Latest in the case of those actually being the switch being passed, and in the case where we do /langversion:14 as a switch, we should ignore it in favor of the legacy struct.
-
由 Jason Malinowski 提交于
Using a path the real .NET Framework reference assemblies means that if you accidentally cause the tests to actually start reading those files, it'll pass only if you have that version of the framework installed, which can quickly get confusing.
-
由 Jason Malinowski 提交于
If creating three projects with three individual asserts, we should just have three tests.
-
由 Jason Malinowski 提交于
There are a number of TODOs in this commit that will need to be worked out.
-
由 Jason Malinowski 提交于
I almost tried to refactor this and then caught myself.
-
由 Jason Malinowski 提交于
-