未验证 提交 6733e642 编写于 作者: T Tomáš Matoušek 提交者: GitHub

Annotate IDebugStateChangeListener with UIContext guid. (#41599)

The debugger will use this to delay load Roslyn EnC until its needed.
上级 af5d5e0d
......@@ -28,10 +28,16 @@ internal static class Guids
public const string CSharpLibraryIdString = "58F1BAD0-2288-45b9-AC3A-D56398F7781D";
public const string CSharpReplPackageIdString = "c5edd1ee-c43b-4360-9ce4-6b993ca12897";
/// <summary>
/// <see cref="UIContext"/> that indicates <see cref="VisualStudioWorkspace"/> contains a project that supports Edit and Continue.
/// </summary>
public const string EncCapableProjectExistsInWorkspaceUIContextString = "0C89AE24-6D19-474C-A3AA-DC3B66FDBB5F";
/// <summary>
/// A <see cref="UIContext"/> that is set if there is a C# project in the <see cref="VisualStudioWorkspace"/>.
/// </summary>
public static readonly Guid CSharpProjectExistsInWorkspaceUIContext = new Guid("CA719A03-D55C-48F9-85DE-D934346E7F70");
public const string CSharpProjectExistsInWorkspaceUIContextString = "CA719A03-D55C-48F9-85DE-D934346E7F70";
public static readonly Guid CSharpProjectExistsInWorkspaceUIContext = new Guid(CSharpProjectExistsInWorkspaceUIContextString);
public const string CSharpProjectRootIdString = "C7FEDB89-B36D-4a62-93F4-DC7A95999921";
......@@ -81,7 +87,8 @@ internal static class Guids
/// <summary>
/// A <see cref="UIContext"/> that is set if there is a Visual Basic project in the <see cref="VisualStudioWorkspace"/>.
/// </summary>
public static readonly Guid VisualBasicProjectExistsInWorkspaceUIContext = new Guid("EEC3DF0D-6D3F-4544-ABF9-8E26E6A90275");
public const string VisualBasicProjectExistsInWorkspaceUIContextString = "EEC3DF0D-6D3F-4544-ABF9-8E26E6A90275";
public static readonly Guid VisualBasicProjectExistsInWorkspaceUIContext = new Guid(VisualBasicProjectExistsInWorkspaceUIContextString);
public static readonly Guid VisualBasicPackageId = new Guid(VisualBasicPackageIdString);
public static readonly Guid VisualBasicCompilerServiceId = new Guid(VisualBasicCompilerServiceIdString);
......
......@@ -18,6 +18,7 @@
namespace Microsoft.VisualStudio.LanguageServices.EditAndContinue
{
[Export(typeof(IDebugStateChangeListener))]
[ExportMetadata("UIContext", Guids.EncCapableProjectExistsInWorkspaceUIContextString)]
internal sealed class VisualStudioDebugStateChangeListener : IDebugStateChangeListener
{
private readonly Workspace _workspace;
......
......@@ -42,6 +42,12 @@ namespace Microsoft.VisualStudio.LanguageServices.Setup
[Guid(Guids.RoslynPackageIdString)]
[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
[ProvideMenuResource("Menus.ctmenu", version: 17)]
[ProvideUIContextRule(
Guids.EncCapableProjectExistsInWorkspaceUIContextString,
name: "Managed Edit and Continue capability",
expression: "CS | VB",
termNames: new[] { "CS", "VB" },
termValues: new[] { Guids.CSharpProjectExistsInWorkspaceUIContextString, Guids.VisualBasicProjectExistsInWorkspaceUIContextString })]
internal class RoslynPackage : AbstractPackage
{
private VisualStudioWorkspace _workspace;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册