|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Runtime.Serialization;
using Microsoft.CodeAnalysis.CodeStyle;
namespace Microsoft.CodeAnalysis.AddImport;
[DataContract]
internal sealed record class AddImportPlacementOptions
{
public static readonly CodeStyleOption2<AddImportPlacement> s_outsideNamespacePlacementWithSilentEnforcement =
new(AddImportPlacement.OutsideNamespace, NotificationOption2.Silent);
[DataMember]
public bool PlaceSystemNamespaceFirst { get; init; } = true;
/// <summary>
/// Where to place C# usings relative to namespace declaration, ignored by VB.
/// </summary>
[DataMember]
public CodeStyleOption2<AddImportPlacement> UsingDirectivePlacement { get; init; } = s_outsideNamespacePlacementWithSilentEnforcement;
[DataMember]
public bool AllowInHiddenRegions { get; init; } = false;
public bool PlaceImportsInsideNamespaces => UsingDirectivePlacement.Value == AddImportPlacement.InsideNamespace;
public static readonly AddImportPlacementOptions Default = new();
}
|