public UnityFileTemplatesOptionsPage(Lifetime lifetime,
                                      OptionsSettingsSmartContext optionsSettingsSmartContext,
                                      StoredTemplatesProvider storedTemplatesProvider,
                                      UnityProjectScopeCategoryUIProvider uiProvider,
                                      ScopeCategoryManager scopeCategoryManager,
                                      TemplatesUIFactory uiFactory, IconHostBase iconHostBase)
     : base(lifetime, uiProvider, optionsSettingsSmartContext, storedTemplatesProvider, scopeCategoryManager,
            uiFactory, iconHostBase, "CSHARP")
 {
 }
Ejemplo n.º 2
0
 public UnityLiveTemplatesOptionsPage(Lifetime lifetime,
                                      UnityScopeCategoryUIProvider uiProvider,
                                      OptionsPageContext optionsPageContext,
                                      OptionsSettingsSmartContext optionsSettingsSmartContext,
                                      StoredTemplatesProvider storedTemplatesProvider,
                                      ScopeCategoryManager scopeCategoryManager,
                                      IDialogHost dialogHost,
                                      TemplatesUIFactory uiFactory, IconHostBase iconHostBase)
     : base(lifetime, uiProvider, optionsPageContext, optionsSettingsSmartContext, storedTemplatesProvider, scopeCategoryManager,
            uiFactory, iconHostBase, dialogHost, "CSHARP")
 {
 }
Ejemplo n.º 3
0
        public XamlStylerOptionsPage(
            Lifetime lifetime,
            OptionsPageContext optionsPageContext,
            OptionsSettingsSmartContext optionsSettingsSmartContext,
            [NotNull] IconHostBase iconHost,
            [NotNull] ICommonFileDialogs commonFileDialogs)
            : base(lifetime, optionsPageContext, optionsSettingsSmartContext)
        {
            _iconHost = iconHost;

#if RIDER
            // General
            AddHeader("General");
            AddBoolOption((XamlStylerSettings x) => x.FormatOnSave, "Format XAML on save");
#endif

            // Indentation
            AddHeader("Indentation");
            var indentSizeOption = AddSpinner((XamlStylerSettings x) => x.IndentSize, "Indent size:");
            using (Indent())
            {
                AddBoolOption((XamlStylerSettings x) => x.UseIdeIndentSize, "Use IDE value");
            }

            AddBinding(indentSizeOption, BindingStyle.IsEnabledProperty,
                       (XamlStylerSettings x) => x.UseIdeIndentSize,
                       x => !(bool)x);

            var indentWithTabsOption = AddBoolOption((XamlStylerSettings x) => x.IndentWithTabs, "Indent with tabs");
            using (Indent())
            {
                AddBoolOption((XamlStylerSettings x) => x.UseIdeIndentWithTabs, "Use IDE value");
            }

            AddBinding(indentWithTabsOption, BindingStyle.IsEnabledProperty,
                       (XamlStylerSettings x) => x.UseIdeIndentWithTabs,
                       x => !(bool)x);

            // Attribute formatting
            AddHeader("Attribute formatting");
            AddSpinner((XamlStylerSettings x) => x.AttributesTolerance, "Attribute tolerance:");
            AddBoolOption((XamlStylerSettings x) => x.KeepFirstAttributeOnSameLine, "Keep first attribute on same line");
            AddSpinner((XamlStylerSettings x) => x.MaxAttributeCharactersPerLine, "Max attribute characters per line:");
            AddSpinner((XamlStylerSettings x) => x.MaxAttributesPerLine, "Max attributes per line:");
            AddTextBox((XamlStylerSettings x) => x.NoNewLineElements, "Newline exemption elements:");
            AddBoolOption((XamlStylerSettings x) => x.PutAttributeOrderRuleGroupsOnSeparateLines, "Separate by groups");
            AddSpinner((XamlStylerSettings x) => x.AttributeIndentation, "Attribute indentation:");
            AddComboEnum((XamlStylerSettings x) => x.AttributeIndentationStyle, "Attribute indentation style:");
            AddBoolOption((XamlStylerSettings x) => x.RemoveDesignTimeReferences, "Remove design-time references");

            // Attribute Reordering
            AddHeader("Attribute reordering");
            AddBoolOption((XamlStylerSettings x) => x.EnableAttributeReordering, "Enable attribute reordering");

            var attributeOrderingRuleGroupsOption = AddListControl((XamlStylerSettings x) => x.AttributeOrderingRuleGroups, new StylerOptions().AttributeOrderingRuleGroups, "Attribute ordering rule groups");

            var firstLineAttributesOption   = AddTextBox((XamlStylerSettings x) => x.FirstLineAttributes, "First-line attributes:");
            var orderAttributesByNameOption = AddBoolOption((XamlStylerSettings x) => x.OrderAttributesByName, "Order attributes by name");

            AddBinding(attributeOrderingRuleGroupsOption, BindingStyle.IsEnabledProperty,
                       (XamlStylerSettings x) => x.EnableAttributeReordering,
                       x => (bool)x);

            AddBinding(firstLineAttributesOption, BindingStyle.IsEnabledProperty,
                       (XamlStylerSettings x) => x.EnableAttributeReordering,
                       x => (bool)x);

            AddBinding(orderAttributesByNameOption, BindingStyle.IsEnabledProperty,
                       (XamlStylerSettings x) => x.EnableAttributeReordering,
                       x => (bool)x);

            // Element formatting
            AddHeader("Element formatting");
            AddBoolOption((XamlStylerSettings x) => x.PutEndingBracketOnNewLine, "Put ending brackets on new line");
            AddBoolOption((XamlStylerSettings x) => x.RemoveEndingTagOfEmptyElement, "Remove ending tag of empty element");
            AddBoolOption((XamlStylerSettings x) => x.SpaceBeforeClosingSlash, "Space before ending slash in self-closing elements");
            AddComboEnum((XamlStylerSettings x) => x.RootElementLineBreakRule, "Root element line breaks between attributes:");

            // Element reordering
            AddHeader("Element reordering");
            AddComboEnum((XamlStylerSettings x) => x.ReorderVSM, "Reorder visual state manager:");
            AddBoolOption((XamlStylerSettings x) => x.ReorderGridChildren, "Reorder grid panel children");
            AddBoolOption((XamlStylerSettings x) => x.ReorderCanvasChildren, "Reorder canvas panel children");
            AddComboEnum((XamlStylerSettings x) => x.ReorderSetters, "Reorder setters:");

            // Markup extension
            AddHeader("Markup extension");
            AddBoolOption((XamlStylerSettings x) => x.FormatMarkupExtension, "Enable markup extension formatting");
            var noNewLineMarkupExtensionsOption = AddTextBox((XamlStylerSettings x) => x.NoNewLineMarkupExtensions, "Keep markup extensions of these types on one line:");

            AddBinding(noNewLineMarkupExtensionsOption, BindingStyle.IsEnabledProperty,
                       (XamlStylerSettings x) => x.FormatMarkupExtension,
                       x => (bool)x);

            // Thickness formatting
            AddHeader("Thickness formatting");
            AddComboEnum((XamlStylerSettings x) => x.ThicknessStyle, "Thickness separator:");
            AddTextBox((XamlStylerSettings x) => x.ThicknessAttributes, "Thickness attributes:");

            // Misc
            AddHeader("Misc");
            AddSpinner((XamlStylerSettings x) => x.CommentSpaces, "Comment padding:");

            // Configuration
            AddHeader("Configuration");
            AddText("External configuration file:");
            var configPath = new Property <FileSystemPath>(lifetime, "XamlStylerOptionsPage::configPath");
            OptionsSettingsSmartContext.SetBinding(lifetime, (XamlStylerSettings k) => k.ConfigPath, configPath);
            AddFileChooserOption(configPath, "External configuration file", FileSystemPath.Empty, null, commonFileDialogs, null, false, "", null, null, null, null);
            AddBoolOption((XamlStylerSettings x) => x.SearchToDriveRoot, "Search to drive root");
            AddBoolOption((XamlStylerSettings x) => x.SuppressProcessing, "Suppress processing");
        }