Граф коммитов

102 Коммитов

Автор SHA1 Сообщение Дата
Ryan Nowak 582f3f867e Injest new Roslyn and do netstandard2.0/net472 2018-11-21 15:15:36 -08:00
Ryan Nowak a7ae749ab2 Update VS-only tooling to 4.7.2 2018-11-19 15:53:53 -08:00
Pranav K fc3f45bf4e Add RazorLanguageVersion.3_0
Fixes https://github.com/aspnet/Razor/issues/2612
2018-11-13 13:36:20 -08:00
Ajay Bhargav Baaskaran fe7881d5f7 Upgrade Razor vsix project 2018-11-09 15:52:07 -08:00
Ryan Nowak 04eb1e677c Update deps and fix VSIX signing
So, it turns out the VSSDK added a feature that lets us suppress
assemblies brought in by package references. YAY!
2018-10-18 14:20:08 -07:00
Ryan Nowak edd1ba4698 Update VS dependencies 2018-10-16 17:58:03 -07:00
Nate McMaster ee6f94dfd5
Merge branch 'release/2.2' 2018-08-21 18:39:13 -07:00
Nate McMaster f703a288dd
Import restore sources into Microsoft.VisualStudio.RazorExtension.csproj 2018-08-21 18:29:40 -07:00
Ryan Nowak a5bcb5fdc2 Make master build a 16.0 VSIX
This change updates the master branch of Razor to start producing a VS16
branded VSIX.

I haven't updated any package dependencies at this time, just changed the
version number and make our version range dependencies more flexible.
2018-07-18 09:14:11 -07:00
Nate McMaster 275bc148d1
Merge branch 'release/2.1' into dev 2018-06-27 17:23:05 -07:00
Nate McMaster ca2d5738d6
Automatically generate binding redirects assembly attributes for the Razor VSIX 2018-06-27 16:42:02 -07:00
Pranav K cdbcfb7a05 Fixup references to versions in vsix 2018-05-29 15:17:01 -07:00
N. Taylor Mullen a20a88fa3f Make local VSIX builds debuggable. 2018-05-21 17:25:42 -07:00
Ryan Nowak fafdd7e3af Track the open/closed state of documents
This change intoduces content changes to our project snapshots. We now
know the open/closed state of documents that are initialized by the
Razor project system and listen to the correct data source based on
whether the file is open in the editor.

There are a few other random improvements in here as well like a
workaround for the upcoming name change to our OOP client type.
2018-05-11 08:18:08 -07:00
Ryan Nowak b538f22ad5 Add more UI for document generation 2018-05-03 12:27:50 -07:00
Ryan Nowak e0612d7e07 Fixes for the document window state 2018-05-03 10:28:13 -07:00
Ryan Nowak e2edc280c5 Add documents, engine, tag helpers to snapshot
The project snapshot now maintains a RazorProjectEngine as well as set
of Tag Helpers that are known for that snapshot.

Pivoted some more services to be snapshot-centric.

Also added the ability to track .cshtml documents to the project system.
For now most components just ignore document changes.
2018-04-25 19:05:54 -04:00
Pranav K c8c6a6f0ae Update versions in ProvideBindingRedirectAttribute 2018-04-17 11:40:19 -07:00
Ryan Nowak 881fb49f73 Merge branch 'rel/vs15.7' into release/2.1 2018-03-22 18:36:32 -07:00
Ryan Nowak 0a450d2f53 Add a version to the Razor about dialog entry 2018-03-22 14:54:20 -07:00
N. Taylor Mullen 1d602d1205 Add host project system for VS4Mac.
- Tied into VS4Macs ProjectExtensions in order to bootstrap our Razor world.
- We currently watch all DotNet projects with the expectation that they're the only ones that can potentially turn into Razor compatible projects.
- Added a fallback Razor project host which is used for pre-Razor SDK Razor versions (< 2.1).
- Added a default Razor project host which consumes all MSBuild data from the users packages and sets up the Razor world accordingly.
- Had to modify some existing contracts to work better with new expectations. one of these was the VS4Mac specific Workspace accessor; essentially we needed to be able to lookup a workspace from a solution.
- Some of our previous expectations about addins were wrong (not being able to directly reference your libraries). To avoid using reflection to bootstrap our types I tried out directly referencing our libraries and all worked fine.
- Refactored the DefaultRazorProjectHost in windows (since we had to in Mac) for testing purposes.

#2081
2018-03-13 15:31:45 -07:00
N. Taylor Mullen 5c456fbd04 Merge branch 'rel/vs15.7' into dev
# Conflicts:
#	build/dependencies.props
#	src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultProjectSnapshot.cs
#	src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultProjectSnapshotManager.cs
#	src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultProjectSnapshotWorker.cs
#	src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/DefaultProjectSnapshotWorkerFactory.cs
#	src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/ProjectSnapshot.cs
#	src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/ProjectSnapshotUpdateContext.cs
#	src/Microsoft.VisualStudio.Editor.Razor/DefaultVisualStudioDocumentTracker.cs
#	src/Microsoft.VisualStudio.LanguageServices.Razor/Legacy/LegacyTagHelperResolver.cs
#	src/Microsoft.VisualStudio.LanguageServices.Razor/Microsoft.VisualStudio.LanguageServices.Razor.csproj
#	src/Microsoft.VisualStudio.LanguageServices.Razor/ProjectSystem/Rules/RazorConfiguration.cs
#	src/Microsoft.VisualStudio.LanguageServices.Razor/ProjectSystem/Rules/RazorExtension.cs
#	src/Microsoft.VisualStudio.LanguageServices.Razor/ProjectSystem/Rules/RazorGeneral.cs
#	src/Microsoft.VisualStudio.LanguageServices.Razor/ProjectSystem/Rules/RazorProjectProperties.cs
#	test/Microsoft.CodeAnalysis.Razor.Workspaces.Test/ProjectSystem/DefaultProjectSnapshotTest.cs
#	test/Microsoft.VisualStudio.Editor.Razor.Test/Microsoft.VisualStudio.Editor.Razor.Test.csproj
2018-03-05 22:58:07 -08:00
Pranav K 33e60ae363 Separate VS/DesignTime properties from general SDK properties
Fixes #2069
2018-02-21 11:55:36 -08:00
Ryan Nowak 0b777dad3f Decouple tooling from MVC assemblies 2018-02-19 14:39:19 -08:00
Ryan Nowak 5008c7803c Add a project system
Step 1: Add HostProject

This is a somewhat complex addition to the ProjectSnapshotManager. Now
that we accept updates from the underlying IDE project system we need to
coordinate those with the Workspace.

This means that ProjectSnapshot itself now also has a version concept.

Step 2: Introduce a new project system based on CPS

We use project capabilities defined by the Razor SDK to determine
whether to rely on MSBuild evaluation to detect the configuration or
whether to fallback to assembly-based detection.

Step 3: Flow RazorConfiguration everywhere

We use now expose the RazorConfiguration to the language service and
editor. This means that we no longer need to detect the project's
configuration asynchronously, it happens much faster now.
2018-02-19 14:39:19 -08:00
Nate McMaster 13824c418e Catch 15.7 up with dev
This change integrates most of the non-breaking work that we did in 2.1
including the updates to make Razor less coupled to MVC.
2018-02-19 10:46:16 -08:00
N. Taylor Mullen 6c75f29419 Include VSIX symbols in build output.
#2037
2018-02-08 14:36:07 -08:00
N. Taylor Mullen c1b0f10d04 Update RazorExtensions VSIX version to 15.8 2018-01-23 12:13:31 -08:00
N. Taylor Mullen 748fe8adc8 Merge branch 'rel/vs15.7' into dev 2018-01-23 12:10:18 -08:00
N. Taylor Mullen af12a455ff Update RazorExtensions VSIX version to 15.7. 2018-01-23 12:08:15 -08:00
N. Taylor Mullen e2703fe5f6 Added version constant so WebTooling can consume.
- Updated the VS for mac versions to 7.5.

#1918
2018-01-09 10:27:08 -08:00
N. Taylor Mullen 1e1630068f Make DefaultTagHelperResolver use the correct GetTagHelpersAsync.
- Prior to this we weren't overriding the `GetTagHelpersAsync` method resulting in our TagHelper discovery being executed in-process.
- Removed legacy `ITagHelperResolver` legacy types.
2017-12-12 16:26:55 -08:00
N. Taylor Mullen cd1d57f97b Add MonoDevelop.Core and MonoDevelop.Ide addin dependencies.
- Added the runtime package dependency to allow for proper assembly building.
- Added a new external package source for the MonoDevelop.Sdk.
- Had to change the MPack version to be compliant with VS for mac versioning support.

#1789
2017-12-04 17:35:54 -08:00
Nate McMaster 4d737af167 Pin tool and package versions to make builds more repeatable
Part of aspnet/Universe#575
2017-11-01 18:12:08 -07:00
N. Taylor Mullen 212d97e511 Manage VisualStudioRazorParser lifetime.
- Exposed `VisualStudioRazorParser`, `DocumentStructureChangedEventArgs` and `ICanHasContextChangedListener` as ways to consume the new parser for a Razor document.
- Split the `VisualStudioRazorParser` into an abstract base and an implementation to avoid internal constructors.
- Changed the parser and corresponding smart indenter to take in document trackers, template engine factories and parser context change listeners. Of these additions the parser context change listeners will be deprecated once we own the TagHelper discovery mechanisms.
- Changed how the parser manages its internal parsing life cycle. It now creates template engines when the document tracker tells it to. So when project changes happen or new documents are opened the parser will re-instantiate its internal parser to ensure that it is parsing against the correct configurations.
- Removed all accessor services in favor of a singular RazorEditorFactoryService. This service is responsible for retrieving/creating various Razor components.
- Changed the code document provider to now use the parser provider in order to locate code documents associated with buffers. Prior to this that logic was hard coded.
- Removed old template engine reconstruction logic in the document tracker now that the parser owns that piece.
- Updated tracker to notify listeners when it's unsubscribing. This is how listeners can know when to tear bits down.
- Refactored/added pieces to the `DefaultVisualStudioRazorParser` in order to improve its unit/integration testing ability.
- Updated existing tests to react to new signatures.
- Added new visual studio razor parser tests, uncommented existing ones, and re-enforced ones that were previously flakey.
- Added various tests for the new services added, i.e. text buffer factory service tests.

#1630
2017-10-23 14:39:15 -07:00
Ryan Nowak b6d01fda46 Target 15.6 for the VSIX in dev 2017-10-20 14:10:18 -07:00
N. Taylor Mullen 88a950d436 Revert "Revert MonoAddin build steps."
This reverts commit 44519485fd.
2017-10-02 11:56:45 -07:00
N. Taylor Mullen 44519485fd Revert MonoAddin build steps. 2017-10-02 11:34:41 -07:00
N. Taylor Mullen 059264ba34 Fix RazorAddin project.
- Move assembly attributes to work with incremental compilation.
- Utilize Mono.Addins from nuget.org.
2017-09-29 17:46:51 -07:00
N. Taylor Mullen 3c73812f8a Revert "Revert "Add Microsoft.MonoDevelop.RazorAddin.""
This reverts commit fa0990fe00.
2017-09-29 17:17:44 -07:00
N. Taylor Mullen fa0990fe00 Revert "Add Microsoft.MonoDevelop.RazorAddin."
This reverts commit fca4f23895.
2017-09-29 17:08:17 -07:00
N. Taylor Mullen fca4f23895 Add Microsoft.MonoDevelop.RazorAddin.
- As part of this work I also added `Microsoft.VisualStudio.Mac.LanguageServices.Razor` to be the Visual Studio for Mac specific Razor code.
- Added MSBuild infrastructure to automate creation of MonoDevelop addins (MPacks). This work enables us to not have a dependency on a specific version of monodevelop and does not require us to have tool-prerequisites on the box. Every build outputs the mpacks into the artifacts/build directory.
- Built in build-level metadata pieces to workaround how addins are typically developed. They are usually authored C# first and then config files are generated after the fact; with this changeset we auto-generate the addin.info and its corresponding assembly attributes. Both of these take information directly from the build system.

#1696
2017-09-29 16:26:50 -07:00
N. Taylor Mullen 6c8286eed7 Split LanguageServices.Razor.
- Created a new `Microsoft.VisualStudio.Editor.Razor` assembly to contain Visual Studio platform agnostic info.
- Added a new `Microsoft.VisualStudio.Editor.Razor.Test.Common` project to be the centerfold for all VisualStudio agnostic test pieces.
- Added a `Microsoft.VisualStudio.Editor.Razor.Test` project and pulled in LanguageService test files into the the Editor.Razor.Test project to correspond to their movement in the src project.

#1690
2017-09-29 16:26:50 -07:00
N. Taylor Mullen edcf6857d1 Add x64 service hub json.
- Updated corresponding entries in manifest and csproj to reflect the new json addition.

#1705
2017-09-29 12:01:58 -07:00
Ryan Nowak 6e6a24cbb4 Add a background listener for notifications
This change adds an actual background worker for listening to project
change notifications and starts sending updates when the project's razor
dependencies change.

I had to do a litle surgery to get things working. There were plenty of
small bug fixes.

Additionally I got rid of the WeakReferences for tracking listeners. I
was seeing TextBuffers hanging around in VS longer than I expected and
the WeakReferences weren't getting cleaned up. I think it's better that
we just track the lifetime.
2017-09-18 16:56:53 -07:00
Ryan Nowak 00dc95098f Update our diagnostics window
Updates our diagnostics window to use the 'in the box' version of the
assembly/version discovery logic.
2017-09-06 15:37:06 -07:00
Ajay Bhargav Baaskaran 5cb11b9bf4 Implmement a project system for Razor 2017-08-30 12:58:38 -07:00
Ryan Nowak d87e0f7fbd Fixes #1632 - track textviews in the document tracker
I've stripped out some of the dead code and complexity from the document
tracker in an attempt to simplify it. I will bring this back as part of
the multi-targeting work.
2017-08-24 10:47:33 -07:00
Nate McMaster 4094e8b8f3 Use PackageReference instead of project.json in the VSIX project (#1642) 2017-08-24 09:30:29 -07:00
Nate McMaster 4cadee2762 Use Directory.Build.props/targets (#1641) 2017-08-23 12:24:57 -07:00