public void Execute(ISolution solution, ITextControl textControl)
        {
            Shell.Instance.GetComponent <UITaskExecutor>().SingleThreaded.ExecuteTask("Cleanup file", TaskCancelable.No, progress =>
            {
                progress.TaskName = _profile.Name;
                progress.Start(1);

                using (Shell.Instance.GetComponent <ICommandProcessor>().UsingBatchTextChange("Code Cleanup"))
                {
                    using (var cookie = solution.GetComponent <SolutionDocumentTransactionManager>().CreateTransactionCookie(DefaultAction.Rollback, "Code cleanup"))
                    {
                        var progressIndicator = NullProgressIndicator.Create();

                        CodeCleanup instance = CodeCleanup.GetInstance(solution);

                        int caret = -1;
                        instance.Run(this._dataProvider.SourceFile, DocumentRange.InvalidRange, ref caret, _profile, NullProgressIndicator.Create());

                        cookie.Commit(progressIndicator);
                    }
                }

                progress.Stop();
            });
        }
Пример #2
0
 public void SetDefaultSetting(CodeCleanupProfile profile, CodeCleanup.DefaultProfileType profileType)
 {
   switch (profileType)
   {
     case CodeCleanup.DefaultProfileType.FULL:
     case CodeCleanup.DefaultProfileType.REFORMAT:
       profile.SetSetting(OurDescriptor, true);
       break;
     default:
       throw new ArgumentOutOfRangeException("profileType");
   }
 }
Пример #3
0
 private string GetTextAfterFormatting([NotNull] IDocument document, [NotNull] ITextControl textControl)
 {
     using (Solution.GetComponent <DocumentTransactionManager>()
            .CreateTransactionCookie(DefaultAction.Rollback, "Temporary change"))
     {
         var file                = document.GetPsiSourceFile(Solution);
         var codeCleanup         = CodeCleanup.GetInstance(Solution);
         var codeCleanupSettings = Shell.Instance.GetComponent <CodeCleanupSettingsComponent>();
         var profile             = codeCleanupSettings.GetDefaultProfile(CodeCleanup.DefaultProfileType.REFORMAT);
         var selectionRange      = textControl.Selection.OneDocRangeWithCaret();
         codeCleanup.Run(file, selectionRange.Length > 0
                                 ? new DocumentRange(textControl.Document, selectionRange)
                                 : DocumentRange.InvalidRange, profile, NullProgressIndicator.Create());
         return(document.GetText());
     }
 }
        /// <summary>
        /// Get default setting for given profile type.
        /// </summary>
        /// <param name="profile">
        /// The code cleanup profile to use.
        /// </param>
        /// <param name="profileType">
        /// Determine if it is a full or reformat <see cref="CodeCleanup.DefaultProfileType"/>.
        /// </param>
        public void SetDefaultSetting(CodeCleanupProfile profile, CodeCleanup.DefaultProfileType profileType)
        {
            // Default option are set in the constructors.
            OrderingOptions orderingOptions = new OrderingOptions();
            profile.SetSetting(OrderingDescriptor, orderingOptions);

            LayoutOptions layoutOptions = new LayoutOptions();
            profile.SetSetting(LayoutDescriptor, layoutOptions);

            DocumentationOptions documentationOptions = new DocumentationOptions();
            profile.SetSetting(DocumentationDescriptor, documentationOptions);

            SpacingOptions spacingOptions = new SpacingOptions();
            profile.SetSetting(SpacingDescriptor, spacingOptions);

            ReadabilityOptions readabilityOptions = new ReadabilityOptions();
            profile.SetSetting(ReadabilityDescriptor, readabilityOptions);

            MaintainabilityOptions maintainabilityOptions = new MaintainabilityOptions();
            profile.SetSetting(MaintainabilityDescriptor, maintainabilityOptions);
        }
 public void SetDefaultSetting(CodeCleanupProfile profile, CodeCleanup.DefaultProfileType profileType) {
 }
 /// <summary>
 /// Get default setting for given profile type.
 /// </summary>
 /// <param name="profile">
 /// The code cleanup profile to use.
 /// </param>
 /// <param name="profileType">
 /// Determine if it is a full or reformat <see cref="CodeCleanup.DefaultProfileType"/>.
 /// </param>
 public void SetDefaultSetting(CodeCleanupProfile profile, CodeCleanup.DefaultProfileType profileType)
 {
     profile.SetSetting(Descriptor, true);
 }
 /// <inheritdoc/>
 public void SetDefaultSetting(CodeCleanupProfile profile, CodeCleanup.DefaultProfileType profileType)
 {
     switch (profileType)
     {
         case CodeCleanup.DefaultProfileType.FULL:
             profile.SetSetting(DescriptorInstance, true);
             break;
         default:
             profile.SetSetting(DescriptorInstance, false);
             break;
     }
 }