diff --git a/Roslyn.sln b/Roslyn.sln index 60eac69b17e29db2550bb4763a29c21320c58267..7637ccfe486d8bcc6434da0eb205e687fdc8db95 100644 --- a/Roslyn.sln +++ b/Roslyn.sln @@ -390,8 +390,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Exte EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.Razor", "src\Tools\ExternalAccess\Razor\Microsoft.CodeAnalysis.ExternalAccess.Razor.csproj", "{2FB6C157-DF91-4B1C-9827-A4D1C08C73EC}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.TypeScript", "src\Tools\ExternalAccess\TypeScript\Microsoft.CodeAnalysis.ExternalAccess.TypeScript.csproj", "{1638FB04-0298-4341-B5E0-8A13B4823C81}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.CodeLens", "src\VisualStudio\CodeLens\Microsoft.VisualStudio.LanguageServices.CodeLens.csproj", "{5E6E9184-DEC5-4EC5-B0A4-77CFDC8CDEBE}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Compilers.Toolset.Package", "src\NuGet\Microsoft.Net.Compilers.Toolset\Microsoft.Net.Compilers.Toolset.Package.csproj", "{A74C7D2E-92FA-490A-B80A-28BEF56B56FC}" @@ -402,8 +400,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Lang EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.Debugger", "src\Tools\ExternalAccess\Debugger\Microsoft.CodeAnalysis.ExternalAccess.Debugger.csproj", "{655A5B07-39B8-48CD-8590-8AC0C2B708D8}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.UnitTesting", "src\Tools\ExternalAccess\UnitTesting\Microsoft.CodeAnalysis.ExternalAccess.UnitTesting.csproj", "{FA51A3CB-5174-4D99-B76E-DC31C5361DF3}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.Xamarin.Remote", "src\Tools\ExternalAccess\Xamarin.Remote\Microsoft.CodeAnalysis.ExternalAccess.Xamarin.Remote.csproj", "{DE53934B-7FC1-48A0-85AB-C519FBBD02CF}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Roslyn.VisualStudio.Setup.ServiceHub", "src\Setup\DevDivVsix\ServiceHubConfig\Roslyn.VisualStudio.Setup.ServiceHub.csproj", "{3D33BBFD-EC63-4E8C-A714-0A48A3809A87}" @@ -412,12 +408,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.Exte EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.Apex", "src\Tools\ExternalAccess\Apex\Microsoft.CodeAnalysis.ExternalAccess.Apex.csproj", "{FC32EF16-31B1-47B3-B625-A80933CB3F29}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.CodeLens", "src\Tools\ExternalAccess\CodeLens\Microsoft.CodeAnalysis.ExternalAccess.CodeLens.csproj", "{D5B1328C-A9EF-4E55-93D7-B8455855709A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace", "src\Tools\ExternalAccess\IntelliTrace\Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace.csproj", "{BDB3414C-35F8-4E2D-8603-DE9CF259540F}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem", "src\Tools\ExternalAccess\ProjectSystem\Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem.csproj", "{620EA38F-F039-41B9-9003-5EBF5EC19D85}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.LiveShare", "src\VisualStudio\LiveShare\Impl\Microsoft.VisualStudio.LanguageServices.LiveShare.csproj", "{453C8E28-81D4-431E-BFB0-F3D413346E51}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.LiveShare.UnitTests", "src\VisualStudio\LiveShare\Test\Microsoft.VisualStudio.LanguageServices.LiveShare.UnitTests.csproj", "{CE7F7553-DB2D-4839-92E3-F042E4261B4E}" @@ -1069,10 +1059,6 @@ Global {2FB6C157-DF91-4B1C-9827-A4D1C08C73EC}.Debug|Any CPU.Build.0 = Debug|Any CPU {2FB6C157-DF91-4B1C-9827-A4D1C08C73EC}.Release|Any CPU.ActiveCfg = Release|Any CPU {2FB6C157-DF91-4B1C-9827-A4D1C08C73EC}.Release|Any CPU.Build.0 = Release|Any CPU - {1638FB04-0298-4341-B5E0-8A13B4823C81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1638FB04-0298-4341-B5E0-8A13B4823C81}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1638FB04-0298-4341-B5E0-8A13B4823C81}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1638FB04-0298-4341-B5E0-8A13B4823C81}.Release|Any CPU.Build.0 = Release|Any CPU {5E6E9184-DEC5-4EC5-B0A4-77CFDC8CDEBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5E6E9184-DEC5-4EC5-B0A4-77CFDC8CDEBE}.Debug|Any CPU.Build.0 = Debug|Any CPU {5E6E9184-DEC5-4EC5-B0A4-77CFDC8CDEBE}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1093,10 +1079,6 @@ Global {655A5B07-39B8-48CD-8590-8AC0C2B708D8}.Debug|Any CPU.Build.0 = Debug|Any CPU {655A5B07-39B8-48CD-8590-8AC0C2B708D8}.Release|Any CPU.ActiveCfg = Release|Any CPU {655A5B07-39B8-48CD-8590-8AC0C2B708D8}.Release|Any CPU.Build.0 = Release|Any CPU - {FA51A3CB-5174-4D99-B76E-DC31C5361DF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FA51A3CB-5174-4D99-B76E-DC31C5361DF3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FA51A3CB-5174-4D99-B76E-DC31C5361DF3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FA51A3CB-5174-4D99-B76E-DC31C5361DF3}.Release|Any CPU.Build.0 = Release|Any CPU {DE53934B-7FC1-48A0-85AB-C519FBBD02CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DE53934B-7FC1-48A0-85AB-C519FBBD02CF}.Debug|Any CPU.Build.0 = Debug|Any CPU {DE53934B-7FC1-48A0-85AB-C519FBBD02CF}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1113,18 +1095,6 @@ Global {FC32EF16-31B1-47B3-B625-A80933CB3F29}.Debug|Any CPU.Build.0 = Debug|Any CPU {FC32EF16-31B1-47B3-B625-A80933CB3F29}.Release|Any CPU.ActiveCfg = Release|Any CPU {FC32EF16-31B1-47B3-B625-A80933CB3F29}.Release|Any CPU.Build.0 = Release|Any CPU - {D5B1328C-A9EF-4E55-93D7-B8455855709A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D5B1328C-A9EF-4E55-93D7-B8455855709A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D5B1328C-A9EF-4E55-93D7-B8455855709A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D5B1328C-A9EF-4E55-93D7-B8455855709A}.Release|Any CPU.Build.0 = Release|Any CPU - {BDB3414C-35F8-4E2D-8603-DE9CF259540F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BDB3414C-35F8-4E2D-8603-DE9CF259540F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BDB3414C-35F8-4E2D-8603-DE9CF259540F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BDB3414C-35F8-4E2D-8603-DE9CF259540F}.Release|Any CPU.Build.0 = Release|Any CPU - {620EA38F-F039-41B9-9003-5EBF5EC19D85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {620EA38F-F039-41B9-9003-5EBF5EC19D85}.Debug|Any CPU.Build.0 = Debug|Any CPU - {620EA38F-F039-41B9-9003-5EBF5EC19D85}.Release|Any CPU.ActiveCfg = Release|Any CPU - {620EA38F-F039-41B9-9003-5EBF5EC19D85}.Release|Any CPU.Build.0 = Release|Any CPU {453C8E28-81D4-431E-BFB0-F3D413346E51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {453C8E28-81D4-431E-BFB0-F3D413346E51}.Debug|Any CPU.Build.0 = Debug|Any CPU {453C8E28-81D4-431E-BFB0-F3D413346E51}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -1323,20 +1293,15 @@ Global {8977A560-45C2-4EC2-A849-97335B382C74} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} {BD8CE303-5F04-45EC-8DCF-73C9164CD614} = {8977A560-45C2-4EC2-A849-97335B382C74} {2FB6C157-DF91-4B1C-9827-A4D1C08C73EC} = {8977A560-45C2-4EC2-A849-97335B382C74} - {1638FB04-0298-4341-B5E0-8A13B4823C81} = {8977A560-45C2-4EC2-A849-97335B382C74} {5E6E9184-DEC5-4EC5-B0A4-77CFDC8CDEBE} = {8DBA5174-B0AA-4561-82B1-A46607697753} {A74C7D2E-92FA-490A-B80A-28BEF56B56FC} = {C52D8057-43AF-40E6-A01B-6CDBB7301985} {686BF57E-A6FF-467B-AAB3-44DE916A9772} = {3E5FE3DB-45F7-4D83-9097-8F05D3B3AEC6} {1DDE89EE-5819-441F-A060-2FF4A986F372} = {3E5FE3DB-45F7-4D83-9097-8F05D3B3AEC6} {655A5B07-39B8-48CD-8590-8AC0C2B708D8} = {8977A560-45C2-4EC2-A849-97335B382C74} - {FA51A3CB-5174-4D99-B76E-DC31C5361DF3} = {8977A560-45C2-4EC2-A849-97335B382C74} {DE53934B-7FC1-48A0-85AB-C519FBBD02CF} = {8977A560-45C2-4EC2-A849-97335B382C74} {3D33BBFD-EC63-4E8C-A714-0A48A3809A87} = {BE25E872-1667-4649-9D19-96B83E75A44E} {BFFB5CAE-33B5-447E-9218-BDEBFDA96CB5} = {8977A560-45C2-4EC2-A849-97335B382C74} {FC32EF16-31B1-47B3-B625-A80933CB3F29} = {8977A560-45C2-4EC2-A849-97335B382C74} - {D5B1328C-A9EF-4E55-93D7-B8455855709A} = {8977A560-45C2-4EC2-A849-97335B382C74} - {BDB3414C-35F8-4E2D-8603-DE9CF259540F} = {8977A560-45C2-4EC2-A849-97335B382C74} - {620EA38F-F039-41B9-9003-5EBF5EC19D85} = {8977A560-45C2-4EC2-A849-97335B382C74} {453C8E28-81D4-431E-BFB0-F3D413346E51} = {8DBA5174-B0AA-4561-82B1-A46607697753} {CE7F7553-DB2D-4839-92E3-F042E4261B4E} = {8DBA5174-B0AA-4561-82B1-A46607697753} {FF38E9C9-7A25-44F0-B2C4-24C9BFD6A8F6} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} diff --git a/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs b/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs index 1946445d0f4d104866c5fd3599103f25ca73b230..25a632e181620c546beb85ad005d38d925cd6a5c 100644 --- a/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs +++ b/src/EditorFeatures/CSharp/BlockCommentEditing/BlockCommentEditingCommandHandler.cs @@ -1,18 +1,23 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.ComponentModel.Composition; using System.Diagnostics; using System.Threading; using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.Editor.Implementation.BlockCommentEditing; +using Microsoft.CodeAnalysis.Editor.Shared.Extensions; +using Microsoft.CodeAnalysis.Editor.Shared.Options; using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Text; using Microsoft.CodeAnalysis.Text.Shared.Extensions; using Microsoft.VisualStudio.Commanding; using Microsoft.VisualStudio.Language.Intellisense.AsyncCompletion; using Microsoft.VisualStudio.Text; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; using Microsoft.VisualStudio.Text.Operations; using Microsoft.VisualStudio.Utilities; +using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.Editor.CSharp.BlockCommentEditing { @@ -20,16 +25,62 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.BlockCommentEditing [ContentType(ContentTypeNames.CSharpContentType)] [Name(nameof(BlockCommentEditingCommandHandler))] [Order(After = PredefinedCompletionNames.CompletionCommandHandler)] - internal class BlockCommentEditingCommandHandler : AbstractBlockCommentEditingCommandHandler + internal sealed class BlockCommentEditingCommandHandler : ICommandHandler { + private readonly ITextUndoHistoryRegistry _undoHistoryRegistry; + private readonly IEditorOperationsFactoryService _editorOperationsFactoryService; + [ImportingConstructor] public BlockCommentEditingCommandHandler( ITextUndoHistoryRegistry undoHistoryRegistry, - IEditorOperationsFactoryService editorOperationsFactoryService) : base(undoHistoryRegistry, editorOperationsFactoryService) + IEditorOperationsFactoryService editorOperationsFactoryService) + { + Contract.ThrowIfNull(undoHistoryRegistry); + Contract.ThrowIfNull(editorOperationsFactoryService); + + _undoHistoryRegistry = undoHistoryRegistry; + _editorOperationsFactoryService = editorOperationsFactoryService; + } + + public string DisplayName => EditorFeaturesResources.Block_Comment_Editing; + + public CommandState GetCommandState(ReturnKeyCommandArgs args) + => CommandState.Unspecified; + + public bool ExecuteCommand(ReturnKeyCommandArgs args, CommandExecutionContext context) + => TryHandleReturnKey(args.SubjectBuffer, args.TextView); + + private bool TryHandleReturnKey(ITextBuffer subjectBuffer, ITextView textView) { + if (!subjectBuffer.GetFeatureOnOffOption(FeatureOnOffOptions.AutoInsertBlockCommentStartString)) + { + return false; + } + + var caretPosition = textView.GetCaretPoint(subjectBuffer); + if (caretPosition == null) + { + return false; + } + + var exteriorText = GetExteriorTextForNextLine(caretPosition.Value); + if (exteriorText == null) + { + return false; + } + + using var transaction = _undoHistoryRegistry.GetHistory(textView.TextBuffer).CreateTransaction(EditorFeaturesResources.Insert_new_line); + + var editorOperations = _editorOperationsFactoryService.GetEditorOperations(textView); + + editorOperations.InsertNewLine(); + editorOperations.InsertText(exteriorText); + + transaction.Complete(); + return true; } - protected override string GetExteriorTextForNextLine(SnapshotPoint caretPosition) + private string GetExteriorTextForNextLine(SnapshotPoint caretPosition) { var currentLine = caretPosition.GetContainingLine(); @@ -130,7 +181,7 @@ private static string GetPaddingOrIndentation(ITextSnapshotLine currentLine, int Debug.Assert(firstNonWhitespaceOffset > -1); var lineText = currentLine.GetText(); - if ((lineText.Length == firstNonWhitespaceOffset + exteriorText.Length)) + if (lineText.Length == firstNonWhitespaceOffset + exteriorText.Length) { // *| return " "; diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/IVSTypeScriptBreakpointResolutionServiceImplementation.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/IVSTypeScriptBreakpointResolutionServiceImplementation.cs new file mode 100644 index 0000000000000000000000000000000000000000..ae604b33f436931f3d20ee490cf182ec911883e5 --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/IVSTypeScriptBreakpointResolutionServiceImplementation.cs @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Text; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api +{ + internal interface IVSTypeScriptBreakpointResolutionServiceImplementation + { + Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default); + + Task> ResolveBreakpointsAsync(Solution solution, string name, CancellationToken cancellationToken = default); + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/IVSTypeScriptLanguageDebugInfoServiceImplementation.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/IVSTypeScriptLanguageDebugInfoServiceImplementation.cs new file mode 100644 index 0000000000000000000000000000000000000000..597fd54c2f98317e9b03cda4775aa8cca0aa290d --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/IVSTypeScriptLanguageDebugInfoServiceImplementation.cs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api +{ + internal interface IVSTypeScriptLanguageDebugInfoServiceImplementation + { + Task GetLocationInfoAsync(Document document, int position, CancellationToken cancellationToken); + + /// + /// Find an appropriate span to pass the debugger given a point in a snapshot. Optionally + /// pass back a string to pass to the debugger instead if no good span can be found. For + /// example, if the user hovers on "var" then we actually want to pass the fully qualified + /// name of the type that 'var' binds to, to the debugger. + /// + Task GetDataTipInfoAsync(Document document, int position, CancellationToken cancellationToken); + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptBreakpointResolutionResultWrapper.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptBreakpointResolutionResultWrapper.cs new file mode 100644 index 0000000000000000000000000000000000000000..c47275395950a7a5774ddb7b86febd52952276db --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptBreakpointResolutionResultWrapper.cs @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; +using Microsoft.CodeAnalysis.Text; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api +{ + internal readonly struct VSTypeScriptBreakpointResolutionResultWrapper + { + internal readonly BreakpointResolutionResult UnderlyingObject; + + private VSTypeScriptBreakpointResolutionResultWrapper(BreakpointResolutionResult result) + => UnderlyingObject = result; + + public Document Document => UnderlyingObject.Document; + public TextSpan TextSpan => UnderlyingObject.TextSpan; + public string? LocationNameOpt => UnderlyingObject.LocationNameOpt; + public bool IsLineBreakpoint => UnderlyingObject.IsLineBreakpoint; + + public static VSTypeScriptBreakpointResolutionResultWrapper CreateSpanResult(Document document, TextSpan textSpan, string? locationNameOpt = null) + => new VSTypeScriptBreakpointResolutionResultWrapper(BreakpointResolutionResult.CreateSpanResult(document, textSpan, locationNameOpt)); + + public static VSTypeScriptBreakpointResolutionResultWrapper CreateLineResult(Document document, string? locationNameOpt = null) + => new VSTypeScriptBreakpointResolutionResultWrapper(BreakpointResolutionResult.CreateLineResult(document, locationNameOpt)); + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptDebugDataTipInfoWrapper.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptDebugDataTipInfoWrapper.cs new file mode 100644 index 0000000000000000000000000000000000000000..8aaa238719f7153a1a7da004cbf724415ea73697 --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptDebugDataTipInfoWrapper.cs @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; +using Microsoft.CodeAnalysis.Text; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api +{ + internal readonly struct VSTypeScriptDebugDataTipInfoWrapper + { + internal readonly DebugDataTipInfo UnderlyingObject; + + public VSTypeScriptDebugDataTipInfoWrapper(TextSpan span, string text) + => UnderlyingObject = new DebugDataTipInfo(span, text); + + public readonly TextSpan Span => UnderlyingObject.Span; + public readonly string Text => UnderlyingObject.Text; + public bool IsDefault => UnderlyingObject.IsDefault; + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptDebugLocationInfoWrapper.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptDebugLocationInfoWrapper.cs new file mode 100644 index 0000000000000000000000000000000000000000..9b1632ae015e8843eb19af0c1258893d45b929ed --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptDebugLocationInfoWrapper.cs @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using System.Diagnostics; +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api +{ + internal readonly struct VSTypeScriptDebugLocationInfoWrapper + { + internal readonly DebugLocationInfo UnderlyingObject; + + public VSTypeScriptDebugLocationInfoWrapper(string name, int lineOffset) + => UnderlyingObject = new DebugLocationInfo(name, lineOffset); + + public readonly string Name => UnderlyingObject.Name; + public readonly int LineOffset => UnderlyingObject.LineOffset; + internal bool IsDefault => UnderlyingObject.IsDefault; + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptSignatureHelpClassifierFactory.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptSignatureHelpClassifierFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..93cd439fffde367f7937a3e0da357b15f6dded57 --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/Api/VSTypeScriptSignatureHelpClassifierFactory.cs @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using Microsoft.VisualStudio.Text.Classification; +using Microsoft.CodeAnalysis.Editor.Shared.Utilities; +using Microsoft.VisualStudio.Text; +using Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.SignatureHelp.Presentation; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api +{ + internal static class VSTypeScriptSignatureHelpClassifierFactory + { + public static IClassifier Create(ITextBuffer textBuffer, ClassificationTypeMap typeMap) + => new SignatureHelpClassifier(textBuffer, typeMap); + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/VSTypeScriptBreakpointResolutionService.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/VSTypeScriptBreakpointResolutionService.cs new file mode 100644 index 0000000000000000000000000000000000000000..7e584cf9b1d4cd34f34b214528e95e988e9933ef --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/VSTypeScriptBreakpointResolutionService.cs @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using System; +using System.Collections.Generic; +using System.Composition; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; +using Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.CodeAnalysis.Text; +using Roslyn.Utilities; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript +{ + [Shared] + [ExportLanguageService(typeof(IBreakpointResolutionService), InternalLanguageNames.TypeScript)] + internal sealed class VSTypeScriptBreakpointResolutionService : IBreakpointResolutionService + { + private readonly IVSTypeScriptBreakpointResolutionServiceImplementation _implementation; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public VSTypeScriptBreakpointResolutionService(IVSTypeScriptBreakpointResolutionServiceImplementation implementation) + { + _implementation = implementation; + } + + public async Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default) + => (await _implementation.ResolveBreakpointAsync(document, textSpan, cancellationToken).ConfigureAwait(false)).UnderlyingObject; + + public async Task> ResolveBreakpointsAsync(Solution solution, string name, CancellationToken cancellationToken = default) + => (await _implementation.ResolveBreakpointsAsync(solution, name, cancellationToken).ConfigureAwait(false)).Select(r => r.UnderlyingObject); + + } +} diff --git a/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/VSTypeScriptLanguageDebugInfoService.cs b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/VSTypeScriptLanguageDebugInfoService.cs new file mode 100644 index 0000000000000000000000000000000000000000..a46529e87f11973360722c92466b2419060b73e8 --- /dev/null +++ b/src/EditorFeatures/Core/ExternalAccess/VSTypeScript/VSTypeScriptLanguageDebugInfoService.cs @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using System; +using System.Composition; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; +using Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api; +using Microsoft.CodeAnalysis.Host.Mef; + +namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript +{ + [Shared] + [ExportLanguageService(typeof(ILanguageDebugInfoService), InternalLanguageNames.TypeScript)] + internal sealed class VSTypeScriptLanguageDebugInfoService : ILanguageDebugInfoService + { + private readonly IVSTypeScriptLanguageDebugInfoServiceImplementation _implementation; + + [ImportingConstructor] + [Obsolete(MefConstruction.ImportingConstructorMessage, error: true)] + public VSTypeScriptLanguageDebugInfoService(IVSTypeScriptLanguageDebugInfoServiceImplementation implementation) + { + _implementation = implementation; + } + + public async Task GetDataTipInfoAsync(Document document, int position, CancellationToken cancellationToken) + => (await _implementation.GetDataTipInfoAsync(document, position, cancellationToken).ConfigureAwait(false)).UnderlyingObject; + + public async Task GetLocationInfoAsync(Document document, int position, CancellationToken cancellationToken) + => (await _implementation.GetLocationInfoAsync(document, position, cancellationToken).ConfigureAwait(false)).UnderlyingObject; + } +} diff --git a/src/EditorFeatures/Core/Implementation/BlockCommentEditing/AbstractBlockCommentEditingCommandHandler.cs b/src/EditorFeatures/Core/Implementation/BlockCommentEditing/AbstractBlockCommentEditingCommandHandler.cs deleted file mode 100644 index f43049dcdf374b266744ed35ffb02ce4d36b1e3f..0000000000000000000000000000000000000000 --- a/src/EditorFeatures/Core/Implementation/BlockCommentEditing/AbstractBlockCommentEditingCommandHandler.cs +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.VisualStudio.Text.Operations; -using Microsoft.VisualStudio.Commanding; -using Microsoft.VisualStudio.Text.Editor.Commanding.Commands; - -namespace Microsoft.CodeAnalysis.Editor.Implementation.BlockCommentEditing -{ - internal abstract class AbstractBlockCommentEditingCommandHandler : BaseAbstractBlockCommentEditingCommandHandler, - ICommandHandler - { - protected AbstractBlockCommentEditingCommandHandler( - ITextUndoHistoryRegistry undoHistoryRegistry, - IEditorOperationsFactoryService editorOperationsFactoryService) - : base(undoHistoryRegistry, editorOperationsFactoryService) - { - } - - public string DisplayName => EditorFeaturesResources.Block_Comment_Editing; - - public CommandState GetCommandState(ReturnKeyCommandArgs args) => CommandState.Unspecified; - - public bool ExecuteCommand(ReturnKeyCommandArgs args, CommandExecutionContext context) - { - return TryHandleReturnKey(args.SubjectBuffer, args.TextView); - } - } -} diff --git a/src/EditorFeatures/Core/Implementation/BlockCommentEditing/BaseAbstractBlockCommentEditingCommandHandler.cs b/src/EditorFeatures/Core/Implementation/BlockCommentEditing/BaseAbstractBlockCommentEditingCommandHandler.cs deleted file mode 100644 index 28376b162f6946e9c21b315bec47a752ee100a6a..0000000000000000000000000000000000000000 --- a/src/EditorFeatures/Core/Implementation/BlockCommentEditing/BaseAbstractBlockCommentEditingCommandHandler.cs +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.CodeAnalysis.Editor.Shared.Extensions; -using Microsoft.CodeAnalysis.Editor.Shared.Options; -using Microsoft.VisualStudio.Text; -using Microsoft.VisualStudio.Text.Editor; -using Microsoft.VisualStudio.Text.Operations; -using Roslyn.Utilities; - -namespace Microsoft.CodeAnalysis.Editor.Implementation.BlockCommentEditing -{ - /// - /// Command system independent abstract Block Comment Editing Command Handler. - /// - internal abstract class BaseAbstractBlockCommentEditingCommandHandler - { - private readonly ITextUndoHistoryRegistry _undoHistoryRegistry; - private readonly IEditorOperationsFactoryService _editorOperationsFactoryService; - - protected BaseAbstractBlockCommentEditingCommandHandler( - ITextUndoHistoryRegistry undoHistoryRegistry, - IEditorOperationsFactoryService editorOperationsFactoryService) - { - Contract.ThrowIfNull(undoHistoryRegistry); - Contract.ThrowIfNull(editorOperationsFactoryService); - - _undoHistoryRegistry = undoHistoryRegistry; - _editorOperationsFactoryService = editorOperationsFactoryService; - } - - protected bool TryHandleReturnKey(ITextBuffer subjectBuffer, ITextView textView) - { - if (!subjectBuffer.GetFeatureOnOffOption(FeatureOnOffOptions.AutoInsertBlockCommentStartString)) - { - return false; - } - - var caretPosition = textView.GetCaretPoint(subjectBuffer); - if (caretPosition == null) - { - return false; - } - - var exteriorText = GetExteriorTextForNextLine(caretPosition.Value); - if (exteriorText == null) - { - return false; - } - - using var transaction = _undoHistoryRegistry.GetHistory(textView.TextBuffer).CreateTransaction(EditorFeaturesResources.Insert_new_line); - - var editorOperations = _editorOperationsFactoryService.GetEditorOperations(textView); - - editorOperations.InsertNewLine(); - editorOperations.InsertText(exteriorText); - - transaction.Complete(); - return true; - } - - protected abstract string GetExteriorTextForNextLine(SnapshotPoint caretPosition); - } -} diff --git a/src/EditorFeatures/Core/Implementation/Debugging/BreakpointResolutionResult.cs b/src/EditorFeatures/Core/Implementation/Debugging/BreakpointResolutionResult.cs index 6bf340df5fbbb1f368a92e40911c0ba2a2fb40cd..829f38ece9ed8b931b3115be9fb59b9ceef3483c 100644 --- a/src/EditorFeatures/Core/Implementation/Debugging/BreakpointResolutionResult.cs +++ b/src/EditorFeatures/Core/Implementation/Debugging/BreakpointResolutionResult.cs @@ -1,32 +1,30 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#nullable enable + using Microsoft.CodeAnalysis.Text; namespace Microsoft.CodeAnalysis.Editor.Implementation.Debugging { - internal class BreakpointResolutionResult + internal sealed class BreakpointResolutionResult { public Document Document { get; } public TextSpan TextSpan { get; } - public string LocationNameOpt { get; } + public string? LocationNameOpt { get; } public bool IsLineBreakpoint { get; } - private BreakpointResolutionResult(Document document, TextSpan textSpan, string locationNameOpt, bool isLineBreakpoint) + private BreakpointResolutionResult(Document document, TextSpan textSpan, string? locationNameOpt, bool isLineBreakpoint) { - this.Document = document; - this.TextSpan = textSpan; - this.LocationNameOpt = locationNameOpt; - this.IsLineBreakpoint = isLineBreakpoint; + Document = document; + TextSpan = textSpan; + LocationNameOpt = locationNameOpt; + IsLineBreakpoint = isLineBreakpoint; } - internal static BreakpointResolutionResult CreateSpanResult(Document document, TextSpan textSpan, string locationNameOpt = null) - { - return new BreakpointResolutionResult(document, textSpan, locationNameOpt, isLineBreakpoint: false); - } + internal static BreakpointResolutionResult CreateSpanResult(Document document, TextSpan textSpan, string? locationNameOpt = null) + => new BreakpointResolutionResult(document, textSpan, locationNameOpt, isLineBreakpoint: false); - internal static BreakpointResolutionResult CreateLineResult(Document document, string locationNameOpt = null) - { - return new BreakpointResolutionResult(document, new TextSpan(), locationNameOpt, isLineBreakpoint: true); - } + internal static BreakpointResolutionResult CreateLineResult(Document document, string? locationNameOpt = null) + => new BreakpointResolutionResult(document, new TextSpan(), locationNameOpt, isLineBreakpoint: true); } } diff --git a/src/EditorFeatures/Core/Implementation/Debugging/DebugDataTipInfo.cs b/src/EditorFeatures/Core/Implementation/Debugging/DebugDataTipInfo.cs index 17bbb0ae42c34018b9046daf23701fb289c09cb1..689789c678547aac15cdc6198a25607f88e1f7fd 100644 --- a/src/EditorFeatures/Core/Implementation/Debugging/DebugDataTipInfo.cs +++ b/src/EditorFeatures/Core/Implementation/Debugging/DebugDataTipInfo.cs @@ -1,23 +1,23 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#nullable enable + using Microsoft.CodeAnalysis.Text; namespace Microsoft.CodeAnalysis.Editor.Implementation.Debugging { - internal struct DebugDataTipInfo + internal readonly struct DebugDataTipInfo { public readonly TextSpan Span; public readonly string Text; public DebugDataTipInfo(TextSpan span, string text) { - this.Span = span; - this.Text = text; + Span = span; + Text = text; } public bool IsDefault - { - get { return Span.Length == 0 && Span.Start == 0 && Text == null; } - } + => Span.Length == 0 && Span.Start == 0 && Text == null; } } diff --git a/src/EditorFeatures/Core/Implementation/Debugging/DebugLocationInfo.cs b/src/EditorFeatures/Core/Implementation/Debugging/DebugLocationInfo.cs index e1c86e03f0610d0059f74c5a85054783c84f61d0..e237aee6296abcd74c1b57dc68d56ab9c1fdc712 100644 --- a/src/EditorFeatures/Core/Implementation/Debugging/DebugLocationInfo.cs +++ b/src/EditorFeatures/Core/Implementation/Debugging/DebugLocationInfo.cs @@ -1,24 +1,24 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Diagnostics; +#nullable enable + +using Roslyn.Utilities; namespace Microsoft.CodeAnalysis.Editor.Implementation.Debugging { - internal struct DebugLocationInfo + internal readonly struct DebugLocationInfo { public readonly string Name; public readonly int LineOffset; public DebugLocationInfo(string name, int lineOffset) { - Debug.Assert(name != null); - this.Name = name; - this.LineOffset = lineOffset; + RoslynDebug.Assert(name != null); + Name = name; + LineOffset = lineOffset; } public bool IsDefault - { - get { return Name == null; } - } + => Name == null; } } diff --git a/src/EditorFeatures/Core/Implementation/Debugging/IBreakpointResolutionService.cs b/src/EditorFeatures/Core/Implementation/Debugging/IBreakpointResolutionService.cs index b30171ab68decbaa20a3ddbaa341ca396ffcf330..7872e72179b4eb0a7515dc48a31912d57c597a99 100644 --- a/src/EditorFeatures/Core/Implementation/Debugging/IBreakpointResolutionService.cs +++ b/src/EditorFeatures/Core/Implementation/Debugging/IBreakpointResolutionService.cs @@ -1,7 +1,8 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#nullable enable + using System.Collections.Generic; -using System.Collections.Immutable; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Host; @@ -9,10 +10,9 @@ namespace Microsoft.CodeAnalysis.Editor.Implementation.Debugging { - // Used by TypeScript. internal interface IBreakpointResolutionService : ILanguageService { - Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default); + Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default); Task> ResolveBreakpointsAsync(Solution solution, string name, CancellationToken cancellationToken = default); } diff --git a/src/EditorFeatures/Core/Implementation/Debugging/ILanguageDebugInfoService.cs b/src/EditorFeatures/Core/Implementation/Debugging/ILanguageDebugInfoService.cs index 10e78fd590765ab7956375ad66e05ed133bf08f4..dead3bc03840321f9363ec247187a666f5840bd5 100644 --- a/src/EditorFeatures/Core/Implementation/Debugging/ILanguageDebugInfoService.cs +++ b/src/EditorFeatures/Core/Implementation/Debugging/ILanguageDebugInfoService.cs @@ -1,5 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#nullable enable + using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Host; diff --git a/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj b/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj index 32f4ae0c4d59e654ed81c2c382ff548549b04761..5bca16042999e9519572405c79445ade249121dd 100644 --- a/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj +++ b/src/EditorFeatures/Core/Microsoft.CodeAnalysis.EditorFeatures.csproj @@ -91,7 +91,7 @@ - + diff --git a/src/Features/Core/Portable/InternalLanguageNames.cs b/src/Features/Core/Portable/InternalLanguageNames.cs new file mode 100644 index 0000000000000000000000000000000000000000..3917107d94555c186f858806c0ffa84afbdaa7a7 --- /dev/null +++ b/src/Features/Core/Portable/InternalLanguageNames.cs @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +namespace Microsoft.CodeAnalysis +{ + /// + /// A class that provides constants for internal partner language names. + /// + internal static class InternalLanguageNames + { + public const string TypeScript = "TypeScript"; + } +} diff --git a/src/NuGet/VisualStudio/VS.ExternalAPIs.Roslyn.Package.csproj b/src/NuGet/VisualStudio/VS.ExternalAPIs.Roslyn.Package.csproj index c07e11d3734a66645ef15d58753852c7ee6fbbbd..237c1bac942f157dfbdc2778ab5cd02a706fe079 100644 --- a/src/NuGet/VisualStudio/VS.ExternalAPIs.Roslyn.Package.csproj +++ b/src/NuGet/VisualStudio/VS.ExternalAPIs.Roslyn.Package.csproj @@ -38,14 +38,9 @@ - - - - - @@ -87,14 +82,9 @@ <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.EditorFeatures.Wpf\$(Configuration)\net472\Microsoft.CodeAnalysis.EditorFeatures.Wpf.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.EditorFeatures\$(Configuration)\net472\Microsoft.CodeAnalysis.EditorFeatures.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.Apex\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.Apex.dll" TargetDir="" /> - <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.CodeLens\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.CodeLens.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.Debugger\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.Debugger.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.FSharp\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.FSharp.dll" TargetDir="" /> - <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace.dll" TargetDir="" /> - <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.Razor\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.Razor.dll" TargetDir="" /> - <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.TypeScript\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.TypeScript.dll" TargetDir="" /> - <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.ExternalAccess.UnitTesting\$(Configuration)\net472\Microsoft.CodeAnalysis.ExternalAccess.UnitTesting.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.Features\$(Configuration)\netstandard2.0\Microsoft.CodeAnalysis.Features.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.InteractiveHost\$(Configuration)\net472\Microsoft.CodeAnalysis.InteractiveHost.dll" TargetDir="" /> <_File Include="$(ArtifactsBinDir)Microsoft.CodeAnalysis.LanguageServer.Protocol\$(Configuration)\net472\Microsoft.CodeAnalysis.LanguageServer.Protocol.dll" TargetDir="" /> diff --git a/src/Tools/ExternalAccess/CodeLens/Microsoft.CodeAnalysis.ExternalAccess.CodeLens.csproj b/src/Tools/ExternalAccess/CodeLens/Microsoft.CodeAnalysis.ExternalAccess.CodeLens.csproj deleted file mode 100644 index 50af3e44c8447bd5343dc21a87ab0e0b5d905f43..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/CodeLens/Microsoft.CodeAnalysis.ExternalAccess.CodeLens.csproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - - Library - Microsoft.CodeAnalysis.ExternalAccess.CodeLens - net472 - - - true - Microsoft.CodeAnalysis.ExternalAccess.CodeLens - - A supporting package for CodeLens: - https://devdiv.visualstudio.com/DevDiv/_git/VS?path=%2Fsrc%2FCodeSense - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Tools/ExternalAccess/CodeLens/PublicAPI.Shipped.txt b/src/Tools/ExternalAccess/CodeLens/PublicAPI.Shipped.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/Tools/ExternalAccess/CodeLens/PublicAPI.Unshipped.txt b/src/Tools/ExternalAccess/CodeLens/PublicAPI.Unshipped.txt deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/CodeLens/PublicAPI.Unshipped.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpBreakpointResolutionResult.cs b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpBreakpointResolutionResult.cs new file mode 100644 index 0000000000000000000000000000000000000000..3938def4595c71a48f45fdd000bb8307d920401d --- /dev/null +++ b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpBreakpointResolutionResult.cs @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; +using Microsoft.CodeAnalysis.Text; + +namespace Microsoft.CodeAnalysis.ExternalAccess.FSharp.Editor.Implementation.Debugging +{ + // TODO: Should be readonly struct. + internal sealed class FSharpBreakpointResolutionResult + { + internal readonly BreakpointResolutionResult UnderlyingObject; + + private FSharpBreakpointResolutionResult(BreakpointResolutionResult result) + => UnderlyingObject = result; + + public Document Document => UnderlyingObject.Document; + public TextSpan TextSpan => UnderlyingObject.TextSpan; + public string? LocationNameOpt => UnderlyingObject.LocationNameOpt; + public bool IsLineBreakpoint => UnderlyingObject.IsLineBreakpoint; + + public static FSharpBreakpointResolutionResult CreateSpanResult(Document document, TextSpan textSpan, string? locationNameOpt = null) + => new FSharpBreakpointResolutionResult(BreakpointResolutionResult.CreateSpanResult(document, textSpan, locationNameOpt)); + + public static FSharpBreakpointResolutionResult CreateLineResult(Document document, string? locationNameOpt = null) + => new FSharpBreakpointResolutionResult(BreakpointResolutionResult.CreateLineResult(document, locationNameOpt)); + } +} diff --git a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpDebugDataTipInfo.cs b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpDebugDataTipInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..67573e2f19d814d57691e6d86be648bf48992aef --- /dev/null +++ b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpDebugDataTipInfo.cs @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; +using Microsoft.CodeAnalysis.Text; + +namespace Microsoft.CodeAnalysis.ExternalAccess.FSharp.Editor.Implementation.Debugging +{ + internal readonly struct FSharpDebugDataTipInfo + { + internal readonly DebugDataTipInfo UnderlyingObject; + + public FSharpDebugDataTipInfo(TextSpan span, string text) + => UnderlyingObject = new DebugDataTipInfo(span, text); + + public readonly TextSpan Span => UnderlyingObject.Span; + public readonly string Text => UnderlyingObject.Text; + public bool IsDefault => UnderlyingObject.IsDefault; + } +} diff --git a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpDebugLocationInfo.cs b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpDebugLocationInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..df298fe7a3ba421e75c9e69d089482adcd01dbbd --- /dev/null +++ b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/FSharpDebugLocationInfo.cs @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#nullable enable + +using System.Diagnostics; +using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; + +namespace Microsoft.CodeAnalysis.ExternalAccess.FSharp.Editor.Implementation.Debugging +{ + internal readonly struct FSharpDebugLocationInfo + { + internal readonly DebugLocationInfo UnderlyingObject; + + public FSharpDebugLocationInfo(string name, int lineOffset) + => UnderlyingObject = new DebugLocationInfo(name, lineOffset); + + public readonly string Name => UnderlyingObject.Name; + public readonly int LineOffset => UnderlyingObject.LineOffset; + internal bool IsDefault => UnderlyingObject.IsDefault; + } +} diff --git a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpBreakpointResolutionService.cs b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpBreakpointResolutionService.cs index da83c6c8aa0581c0a23dbb3c7f7be18217d36132..b5db94a2c84f341c404e6c8a429f0bf3a98a5b35 100644 --- a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpBreakpointResolutionService.cs +++ b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpBreakpointResolutionService.cs @@ -1,5 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#nullable enable + using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -7,35 +9,9 @@ namespace Microsoft.CodeAnalysis.ExternalAccess.FSharp.Editor.Implementation.Debugging { - internal class FSharpBreakpointResolutionResult - { - public Document Document { get; } - public TextSpan TextSpan { get; } - public string LocationNameOpt { get; } - public bool IsLineBreakpoint { get; } - - private FSharpBreakpointResolutionResult(Document document, TextSpan textSpan, string locationNameOpt, bool isLineBreakpoint) - { - Document = document; - TextSpan = textSpan; - LocationNameOpt = locationNameOpt; - IsLineBreakpoint = isLineBreakpoint; - } - - public static FSharpBreakpointResolutionResult CreateSpanResult(Document document, TextSpan textSpan, string locationNameOpt = null) - { - return new FSharpBreakpointResolutionResult(document, textSpan, locationNameOpt, isLineBreakpoint: false); - } - - public static FSharpBreakpointResolutionResult CreateLineResult(Document document, string locationNameOpt = null) - { - return new FSharpBreakpointResolutionResult(document, new TextSpan(), locationNameOpt, isLineBreakpoint: true); - } - } - internal interface IFSharpBreakpointResolutionService { - Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default); + Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default); Task> ResolveBreakpointsAsync(Solution solution, string name, CancellationToken cancellationToken = default); } diff --git a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpLanguageDebugInfoService.cs b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpLanguageDebugInfoService.cs index 233aed98384532ab5d787c41f06cbb717d0b5809..9ec1605d7e70e8b96a0cc3bf9ddc00d0cef09bc3 100644 --- a/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpLanguageDebugInfoService.cs +++ b/src/Tools/ExternalAccess/FSharp/Editor/Implementation/Debugging/IFSharpLanguageDebugInfoService.cs @@ -1,47 +1,12 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Diagnostics; +#nullable enable + using System.Threading; using System.Threading.Tasks; -using Microsoft.CodeAnalysis.Text; namespace Microsoft.CodeAnalysis.ExternalAccess.FSharp.Editor.Implementation.Debugging { - internal struct FSharpDebugLocationInfo - { - public readonly string Name; - public readonly int LineOffset; - - public FSharpDebugLocationInfo(string name, int lineOffset) - { - Debug.Assert(name != null); - Name = name; - LineOffset = lineOffset; - } - - public bool IsDefault - { - get { return Name == null; } - } - } - - internal struct FSharpDebugDataTipInfo - { - public readonly TextSpan Span; - public readonly string Text; - - public FSharpDebugDataTipInfo(TextSpan span, string text) - { - Span = span; - Text = text; - } - - public bool IsDefault - { - get { return Span.Length == 0 && Span.Start == 0 && Text == null; } - } - } - internal interface IFSharpLanguageDebugInfoService { Task GetLocationInfoAsync(Document document, int position, CancellationToken cancellationToken); diff --git a/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpBreakpointResolutionService.cs b/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpBreakpointResolutionService.cs index 11aef4354a6cc16d0ddb4bc03ef2e1ff47157f4d..a683b12cfac7205eed22ddd271c471e2938688cf 100644 --- a/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpBreakpointResolutionService.cs +++ b/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpBreakpointResolutionService.cs @@ -1,8 +1,11 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#nullable enable + using System; using System.Collections.Generic; using System.Composition; +using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Editor.Implementation.Debugging; @@ -25,29 +28,10 @@ public FSharpBreakpointResolutionService(IFSharpBreakpointResolutionService serv _service = service; } - public async Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default) - { - var result = await _service.ResolveBreakpointAsync(document, textSpan, cancellationToken).ConfigureAwait(false); - if (result != null) - { - if (result.IsLineBreakpoint) - { - return CodeAnalysis.Editor.Implementation.Debugging.BreakpointResolutionResult.CreateLineResult(result.Document, result.LocationNameOpt); - } - else - { - return CodeAnalysis.Editor.Implementation.Debugging.BreakpointResolutionResult.CreateSpanResult(result.Document, result.TextSpan, result.LocationNameOpt); - } - } - else - { - return null; - } - } + public async Task ResolveBreakpointAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken = default) + => (await _service.ResolveBreakpointAsync(document, textSpan, cancellationToken).ConfigureAwait(false))?.UnderlyingObject; - public Task> ResolveBreakpointsAsync(Solution solution, string name, CancellationToken cancellationToken = default) - { - throw new NotImplementedException(); - } + public async Task> ResolveBreakpointsAsync(Solution solution, string name, CancellationToken cancellationToken = default) + => (await _service.ResolveBreakpointsAsync(solution, name, cancellationToken).ConfigureAwait(false)).Select(r => r.UnderlyingObject); } } diff --git a/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpLanguageDebugInfoService.cs b/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpLanguageDebugInfoService.cs index 1ffda0a39665dfa29890e425df6af25cf327a7dc..9608408a7ed490aa2b89ffb79ebff86542f5e5e5 100644 --- a/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpLanguageDebugInfoService.cs +++ b/src/Tools/ExternalAccess/FSharp/Internal/Editor/Implementation/Debugging/FSharpLanguageDebugInfoService.cs @@ -23,23 +23,10 @@ public FSharpLanguageDebugInfoService(IFSharpLanguageDebugInfoService service) _service = service; } - public async Task GetDataTipInfoAsync(Document document, int position, CancellationToken cancellationToken) - { - var result = await _service.GetDataTipInfoAsync(document, position, cancellationToken).ConfigureAwait(false); - return new CodeAnalysis.Editor.Implementation.Debugging.DebugDataTipInfo(result.Span, result.Text); - } + public async Task GetDataTipInfoAsync(Document document, int position, CancellationToken cancellationToken) + => (await _service.GetDataTipInfoAsync(document, position, cancellationToken).ConfigureAwait(false)).UnderlyingObject; - public async Task GetLocationInfoAsync(Document document, int position, CancellationToken cancellationToken) - { - var result = await _service.GetLocationInfoAsync(document, position, cancellationToken).ConfigureAwait(false); - if (result.IsDefault) - { - return new CodeAnalysis.Editor.Implementation.Debugging.DebugLocationInfo(); - } - else - { - return new CodeAnalysis.Editor.Implementation.Debugging.DebugLocationInfo(result.Name, result.LineOffset); - } - } + public async Task GetLocationInfoAsync(Document document, int position, CancellationToken cancellationToken) + => (await _service.GetLocationInfoAsync(document, position, cancellationToken).ConfigureAwait(false)).UnderlyingObject; } } diff --git a/src/Tools/ExternalAccess/IntelliTrace/Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace.csproj b/src/Tools/ExternalAccess/IntelliTrace/Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace.csproj deleted file mode 100644 index a02c2b3383e5ec554c69124ade0c31ea4d479b6a..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/IntelliTrace/Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace.csproj +++ /dev/null @@ -1,34 +0,0 @@ - - - - - Library - Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace - net472 - - - true - Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace - - A supporting package for IntelliTrace: - https://devdiv.visualstudio.com/DevDiv/_git/VS?path=%2Fsrc%2Fdebugger%2FProductionDebug%2FCodeAnalysis - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Tools/ExternalAccess/IntelliTrace/PublicAPI.Shipped.txt b/src/Tools/ExternalAccess/IntelliTrace/PublicAPI.Shipped.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/Tools/ExternalAccess/IntelliTrace/PublicAPI.Unshipped.txt b/src/Tools/ExternalAccess/IntelliTrace/PublicAPI.Unshipped.txt deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/IntelliTrace/PublicAPI.Unshipped.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/Tools/ExternalAccess/ProjectSystem/Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem.csproj b/src/Tools/ExternalAccess/ProjectSystem/Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem.csproj deleted file mode 100644 index be616e5eb4127c1a7623a2e9043aaee28e4226d2..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/ProjectSystem/Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem.csproj +++ /dev/null @@ -1,39 +0,0 @@ - - - - - Library - Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem - net472 - - - true - Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem - - A supporting package for dotnet/project-system: - https://github.com/dotnet/project-system - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Tools/ExternalAccess/ProjectSystem/PublicAPI.Shipped.txt b/src/Tools/ExternalAccess/ProjectSystem/PublicAPI.Shipped.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/Tools/ExternalAccess/ProjectSystem/PublicAPI.Unshipped.txt b/src/Tools/ExternalAccess/ProjectSystem/PublicAPI.Unshipped.txt deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/ProjectSystem/PublicAPI.Unshipped.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/Tools/ExternalAccess/TypeScript/Microsoft.CodeAnalysis.ExternalAccess.TypeScript.csproj b/src/Tools/ExternalAccess/TypeScript/Microsoft.CodeAnalysis.ExternalAccess.TypeScript.csproj deleted file mode 100644 index 1ceabd217c8687089d0490b48df7950c91a9ca8b..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/TypeScript/Microsoft.CodeAnalysis.ExternalAccess.TypeScript.csproj +++ /dev/null @@ -1,36 +0,0 @@ - - - - - Library - Microsoft.CodeAnalysis.ExternalAccess.TypeScript - net472 - - - true - Microsoft.CodeAnalysis.ExternalAccess.TypeScript - - A supporting package for TypeScript: - https://devdiv.visualstudio.com/DevDiv/_git/TypeScript-VS - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Tools/ExternalAccess/TypeScript/PublicAPI.Shipped.txt b/src/Tools/ExternalAccess/TypeScript/PublicAPI.Shipped.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/Tools/ExternalAccess/TypeScript/PublicAPI.Unshipped.txt b/src/Tools/ExternalAccess/TypeScript/PublicAPI.Unshipped.txt deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/TypeScript/PublicAPI.Unshipped.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/Tools/ExternalAccess/UnitTesting/Microsoft.CodeAnalysis.ExternalAccess.UnitTesting.csproj b/src/Tools/ExternalAccess/UnitTesting/Microsoft.CodeAnalysis.ExternalAccess.UnitTesting.csproj deleted file mode 100644 index 8106f756683d3bc37810d33976a16c8a6330ef65..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/UnitTesting/Microsoft.CodeAnalysis.ExternalAccess.UnitTesting.csproj +++ /dev/null @@ -1,35 +0,0 @@ - - - - - Library - Microsoft.CodeAnalysis.ExternalAccess.UnitTesting - net472 - - - true - Microsoft.CodeAnalysis.ExternalAccess.UnitTesting - - A supporting package for unit testing: - https://github.com/dotnet/testimpact - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Tools/ExternalAccess/UnitTesting/PublicAPI.Shipped.txt b/src/Tools/ExternalAccess/UnitTesting/PublicAPI.Shipped.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/Tools/ExternalAccess/UnitTesting/PublicAPI.Unshipped.txt b/src/Tools/ExternalAccess/UnitTesting/PublicAPI.Unshipped.txt deleted file mode 100644 index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000 --- a/src/Tools/ExternalAccess/UnitTesting/PublicAPI.Unshipped.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/VisualStudio/Setup/AssemblyRedirects.cs b/src/VisualStudio/Setup/AssemblyRedirects.cs index e79917d6d04a32273f8f1acf7c87c9bc949dc91a..1bbd3abede209cb826c8076c0b333780f989f490 100644 --- a/src/VisualStudio/Setup/AssemblyRedirects.cs +++ b/src/VisualStudio/Setup/AssemblyRedirects.cs @@ -35,14 +35,9 @@ [assembly: ProvideRoslynBindingRedirection("Microsoft.VisualStudio.LanguageServices.Razor.RemoteClient.dll")] [assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.Apex.dll")] -[assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.CodeLens.dll")] [assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.Debugger.dll")] [assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.FSharp.dll")] -[assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace.dll")] -[assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem.dll")] [assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.Razor.dll")] -[assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.TypeScript.dll")] -[assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.UnitTesting.dll")] [assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.ExternalAccess.Xamarin.Remote.dll")] [assembly: ProvideRoslynBindingRedirection("Microsoft.CodeAnalysis.Elfie.dll")] diff --git a/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj b/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj index 9d053af588550d68f71455c4f8b73e7210f4c849..29afa58fa77c9ee38210bcbe9d765f4494293cb4 100644 --- a/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj +++ b/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj @@ -45,11 +45,6 @@ BuiltProjectOutputGroup true - - Microsoft.CodeAnalysis.ExternalAccess.CodeLens - BuiltProjectOutputGroup - true - Microsoft.CodeAnalysis.ExternalAccess.Debugger BuiltProjectOutputGroup @@ -60,31 +55,11 @@ BuiltProjectOutputGroup true - - Microsoft.CodeAnalysis.ExternalAccess.IntelliTrace - BuiltProjectOutputGroup - true - - - Microsoft.CodeAnalysis.ExternalAccess.ProjectSystem - BuiltProjectOutputGroup - true - Microsoft.CodeAnalysis.ExternalAccess.Razor BuiltProjectOutputGroup true - - Microsoft.CodeAnalysis.ExternalAccess.TypeScript - BuiltProjectOutputGroup - true - - - Microsoft.CodeAnalysis.ExternalAccess.UnitTesting - BuiltProjectOutputGroup - true - Microsoft.CodeAnalysis.ExternalAccess.Xamarin.Remote BuiltProjectOutputGroup diff --git a/src/VisualStudio/Setup/source.extension.vsixmanifest b/src/VisualStudio/Setup/source.extension.vsixmanifest index db1d9e765785cd778e4283613a0565b429c023ff..4e18b1051b63f0c4bef11d91bc8b07156a6ab1e9 100644 --- a/src/VisualStudio/Setup/source.extension.vsixmanifest +++ b/src/VisualStudio/Setup/source.extension.vsixmanifest @@ -66,13 +66,8 @@ - - - - -