├── CodeMaid.snk ├── CodeMaid ├── CodeMaid.png ├── CodeMaid_Large.png ├── source.extension.ico ├── Integration │ └── Images │ │ ├── about.png │ │ ├── about.xcf │ │ └── IDE │ │ ├── find.bmp │ │ ├── info.bmp │ │ ├── join.bmp │ │ ├── lock.bmp │ │ ├── spade.bmp │ │ ├── cleanup.bmp │ │ ├── collapse.bmp │ │ ├── options.bmp │ │ ├── progress.bmp │ │ ├── refresh.bmp │ │ ├── sortType.bmp │ │ ├── switch.bmp │ │ ├── unlock.bmp │ │ ├── cleanupAll.bmp │ │ ├── reorganize.bmp │ │ ├── sortAlpha.bmp │ │ ├── closeLocked.bmp │ │ ├── commentformat.bmp │ │ ├── removeRegion.bmp │ │ ├── sortNumeric.bmp │ │ ├── spadeToolWindow.bmp │ │ ├── spadeToolWindow.png │ │ ├── progressToolWindow.bmp │ │ └── progressToolWindow.png ├── UI │ ├── Themes │ │ └── Images │ │ │ ├── CollapsedDark.png │ │ │ ├── CollapsedLight.png │ │ │ ├── ExpandedDark.png │ │ │ └── ExpandedLight.png │ └── ToolWindows │ │ └── Spade │ │ └── Images │ │ ├── VS2010 │ │ ├── Class.png │ │ ├── Enum.png │ │ ├── Event.png │ │ ├── Field.png │ │ ├── Method.png │ │ ├── Region.png │ │ ├── Constant.png │ │ ├── Delegate.png │ │ ├── EnumItem.png │ │ ├── Property.png │ │ ├── Enum_Friend.png │ │ ├── Interface.png │ │ ├── Structure.png │ │ ├── Class_Friend.png │ │ ├── Class_Private.png │ │ ├── Enum_Private.png │ │ ├── Event_Friend.png │ │ ├── Event_Private.png │ │ ├── Field_Friend.png │ │ ├── Field_Private.png │ │ ├── Method_Friend.png │ │ ├── Class_Protected.png │ │ ├── Constant_Friend.png │ │ ├── Constant_Private.png │ │ ├── Delegate_Friend.png │ │ ├── Delegate_Private.png │ │ ├── EnumItem_Friend.png │ │ ├── EnumItem_Private.png │ │ ├── Enum_Protected.png │ │ ├── Event_Protected.png │ │ ├── Field_Protected.png │ │ ├── Interface_Friend.png │ │ ├── MethodDestructor.png │ │ ├── Method_Private.png │ │ ├── Method_Protected.png │ │ ├── Property_Friend.png │ │ ├── Property_Private.png │ │ ├── Structure_Friend.png │ │ ├── Constant_Protected.png │ │ ├── Delegate_Protected.png │ │ ├── EnumItem_Protected.png │ │ ├── Interface_Private.png │ │ ├── MethodConstructor.png │ │ ├── Property_Protected.png │ │ ├── Structure_Private.png │ │ ├── Interface_Protected.png │ │ ├── Structure_Protected.png │ │ ├── MethodDestructor_Friend.png │ │ ├── MethodConstructor_Friend.png │ │ ├── MethodConstructor_Private.png │ │ ├── MethodDestructor_Private.png │ │ ├── MethodDestructor_Protected.png │ │ └── MethodConstructor_Protected.png │ │ ├── VS2012_Dark │ │ ├── Class.png │ │ ├── Enum.png │ │ ├── Event.png │ │ ├── Field.png │ │ ├── Method.png │ │ ├── Region.png │ │ ├── Constant.png │ │ ├── Delegate.png │ │ ├── EnumItem.png │ │ ├── Property.png │ │ ├── Enum_Friend.png │ │ ├── Interface.png │ │ ├── Structure.png │ │ ├── Class_Friend.png │ │ ├── Class_Private.png │ │ ├── Enum_Private.png │ │ ├── Event_Friend.png │ │ ├── Event_Private.png │ │ ├── Field_Friend.png │ │ ├── Field_Private.png │ │ ├── Method_Friend.png │ │ ├── Class_Protected.png │ │ ├── Constant_Friend.png │ │ ├── Constant_Private.png │ │ ├── Delegate_Friend.png │ │ ├── Delegate_Private.png │ │ ├── EnumItem_Friend.png │ │ ├── EnumItem_Private.png │ │ ├── Enum_Protected.png │ │ ├── Event_Protected.png │ │ ├── Field_Protected.png │ │ ├── Interface_Friend.png │ │ ├── MethodDestructor.png │ │ ├── Method_Private.png │ │ ├── Method_Protected.png │ │ ├── Property_Friend.png │ │ ├── Property_Private.png │ │ ├── Structure_Friend.png │ │ ├── Constant_Protected.png │ │ ├── Delegate_Protected.png │ │ ├── EnumItem_Protected.png │ │ ├── Interface_Private.png │ │ ├── MethodConstructor.png │ │ ├── Property_Protected.png │ │ ├── Structure_Private.png │ │ ├── Interface_Protected.png │ │ ├── Structure_Protected.png │ │ ├── MethodDestructor_Friend.png │ │ ├── MethodConstructor_Friend.png │ │ ├── MethodConstructor_Private.png │ │ ├── MethodDestructor_Private.png │ │ ├── MethodDestructor_Protected.png │ │ └── MethodConstructor_Protected.png │ │ └── VS2012_Light │ │ ├── Class.png │ │ ├── Enum.png │ │ ├── Event.png │ │ ├── Field.png │ │ ├── Method.png │ │ ├── Region.png │ │ ├── Constant.png │ │ ├── Delegate.png │ │ ├── EnumItem.png │ │ ├── Interface.png │ │ ├── Property.png │ │ ├── Structure.png │ │ ├── Class_Friend.png │ │ ├── Enum_Friend.png │ │ ├── Enum_Private.png │ │ ├── Event_Friend.png │ │ ├── Field_Friend.png │ │ ├── Class_Private.png │ │ ├── Class_Protected.png │ │ ├── Constant_Friend.png │ │ ├── Delegate_Friend.png │ │ ├── EnumItem_Friend.png │ │ ├── Enum_Protected.png │ │ ├── Event_Private.png │ │ ├── Event_Protected.png │ │ ├── Field_Private.png │ │ ├── Field_Protected.png │ │ ├── Method_Friend.png │ │ ├── Method_Private.png │ │ ├── Property_Friend.png │ │ ├── Constant_Private.png │ │ ├── Delegate_Private.png │ │ ├── EnumItem_Private.png │ │ ├── Interface_Friend.png │ │ ├── Interface_Private.png │ │ ├── MethodConstructor.png │ │ ├── MethodDestructor.png │ │ ├── Method_Protected.png │ │ ├── Property_Private.png │ │ ├── Structure_Friend.png │ │ ├── Structure_Private.png │ │ ├── Constant_Protected.png │ │ ├── Delegate_Protected.png │ │ ├── EnumItem_Protected.png │ │ ├── Interface_Protected.png │ │ ├── Property_Protected.png │ │ ├── Structure_Protected.png │ │ ├── MethodConstructor_Friend.png │ │ ├── MethodConstructor_Private.png │ │ ├── MethodDestructor_Friend.png │ │ ├── MethodDestructor_Private.png │ │ ├── MethodConstructor_Protected.png │ │ └── MethodDestructor_Protected.png ├── .editorconfig ├── zh-Hans │ └── extension.vsixlangpack ├── source.extension.cs ├── Properties │ └── AssemblyInfo.cs ├── CodeMaid.imagemanifest └── source.extension.vsixmanifest ├── CodeMaid.VS2022 ├── source.extension.ico ├── Properties │ └── AssemblyInfo.cs ├── source.extension.cs └── source.extension.vsixmanifest ├── CodeMaid.UnitTests ├── Properties │ └── AssemblyInfo.cs ├── MemberTypeSettingTests.cs ├── Formatting │ └── CommentFormatHelper.cs └── app.config ├── CodeMaidShared ├── UI │ ├── Enumerations │ │ ├── HeaderUpdateMode.cs │ │ ├── HeaderPosition.cs │ │ ├── AskYesNo.cs │ │ ├── DropPosition.cs │ │ ├── NoneEmptyAll.cs │ │ ├── ThemeMode.cs │ │ └── IconSetMode.cs │ ├── Themes │ │ ├── CodeMaidCoreTheme.xaml │ │ ├── Buttons.xaml │ │ ├── Colors.xaml │ │ ├── CodeMaidDarkTheme.xaml │ │ └── CodeMaidLightTheme.xaml │ ├── ToolWindows │ │ ├── Spade │ │ │ ├── RadialProgressBar.xaml.cs │ │ │ ├── CenterConverter.cs │ │ │ ├── MemberSearchTask.cs │ │ │ └── CodeItemBaseTemplates.xaml │ │ └── BuildProgress │ │ │ ├── BuildProgressView.xaml.cs │ │ │ └── BuildProgressView.xaml │ ├── Dialogs │ │ ├── Options │ │ │ ├── Cleaning │ │ │ │ ├── CleaningParentDataTemplate.xaml │ │ │ │ ├── CleaningParentViewModel.cs │ │ │ │ ├── CleaningVisualStudioDataTemplate.xaml │ │ │ │ └── CleaningGeneralDataTemplate.xaml │ │ │ ├── Reorganizing │ │ │ │ ├── ReorganizingParentDataTemplate.xaml │ │ │ │ ├── ReorganizingParentViewModel.cs │ │ │ │ └── ReorganizingRegionsDataTemplate.xaml │ │ │ ├── OptionsWindow.xaml.cs │ │ │ ├── Finding │ │ │ │ ├── FindingDataTemplate.xaml │ │ │ │ └── FindingViewModel.cs │ │ │ ├── Collapsing │ │ │ │ ├── CollapsingDataTemplate.xaml │ │ │ │ └── CollapsingViewModel.cs │ │ │ ├── OptionsPageViewModelEnumerableExtensions.cs │ │ │ ├── Switching │ │ │ │ ├── SwitchingDataTemplate.xaml │ │ │ │ └── SwitchingViewModel.cs │ │ │ ├── Progressing │ │ │ │ └── ProgressingDataTemplate.xaml │ │ │ ├── ISettingToOptionMapping.cs │ │ │ ├── ThirdParty │ │ │ │ └── ThirdPartyDataTemplate.xaml │ │ │ └── SettingsToOptionsList.cs │ │ ├── Prompts │ │ │ └── YesNoPromptWindow.xaml.cs │ │ └── CleanupProgress │ │ │ └── CleanupProgressWindow.xaml.cs │ ├── NotifiesOnAttribute.cs │ ├── EditableTextBlock.xaml │ ├── Converters │ │ ├── BooleanInverseConverter.cs │ │ ├── EnumToBooleanConverter.cs │ │ ├── TypeStringConverter.cs │ │ ├── EnumDescriptionConverter.cs │ │ ├── PropertyInfoDescriptionConverter.cs │ │ └── StringReplaceConverter.cs │ └── WindowAttachedProperties.cs ├── Model │ ├── Comments │ │ ├── ICommentLine.cs │ │ ├── Options │ │ │ ├── XmlTagCase.cs │ │ │ ├── CommentOptions.cs │ │ │ ├── IXmlTagOptions.cs │ │ │ ├── XmlTagNewLine.cs │ │ │ ├── FormatterOptionsXmlTag.cs │ │ │ ├── FormatterOptions.cs │ │ │ └── XmlTagOptions.cs │ │ └── CommentLine.cs │ ├── CodeItems │ │ ├── ICodeItemComplexity.cs │ │ ├── IInterfaceItem.cs │ │ ├── ICodeItemParameters.cs │ │ ├── SetCodeItems.cs │ │ ├── ICodeItemParent.cs │ │ ├── SnapshotCodeItems.cs │ │ ├── CodeItemNamespace.cs │ │ ├── KindCodeItem.cs │ │ ├── CodeItemEnum.cs │ │ ├── CodeItemStruct.cs │ │ ├── CodeItemInterface.cs │ │ ├── CodeItemUsingStatement.cs │ │ ├── CodeItemClass.cs │ │ └── ICodeItem.cs │ └── CodeTree │ │ ├── CodeSortOrder.cs │ │ └── CodeTreeRequest.cs ├── Integration │ ├── ISwitchableFeature.cs │ ├── Commands │ │ ├── AboutCommand.cs │ │ ├── OptionsCommand.cs │ │ ├── SpadeRefreshCommand.cs │ │ ├── SpadeSearchCommand.cs │ │ ├── SpadeOptionsCommand.cs │ │ ├── SpadeSortOrderFileCommand.cs │ │ ├── SpadeSortOrderTypeCommand.cs │ │ ├── SpadeSortOrderAlphaCommand.cs │ │ └── CloseAllReadOnlyCommand.cs │ └── Events │ │ └── BaseEventListener.cs ├── Helpers │ ├── CodeLanguage.cs │ ├── TypeFormatHelper.cs │ ├── EnumHelper.cs │ ├── UIThread.cs │ ├── PropertyInfoHelper.cs │ ├── EditPointExtensions.cs │ ├── RegexNullSafe.cs │ ├── CodeItemParentExtensions.cs │ ├── TextDocumentExtensions.cs │ ├── CodeItemNameComparer.cs │ ├── DocumentExtensions.cs │ ├── ActiveDocumentRestorer.cs │ ├── CachedSetting.cs │ └── CodeLanguageHelper.cs ├── CodeMaidShared.shproj ├── Properties │ └── Settings.cs └── Logic │ └── Reorganizing │ └── RegionComparerByName.cs ├── ISSUE_TEMPLATE.md ├── .gitattributes ├── GlobalAssemblyInfo.cs ├── appveyor.yml └── CodeMaid.config /CodeMaid.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid.snk -------------------------------------------------------------------------------- /CodeMaid/CodeMaid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/CodeMaid.png -------------------------------------------------------------------------------- /CodeMaid/CodeMaid_Large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/CodeMaid_Large.png -------------------------------------------------------------------------------- /CodeMaid/source.extension.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/source.extension.ico -------------------------------------------------------------------------------- /CodeMaid.VS2022/source.extension.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid.VS2022/source.extension.ico -------------------------------------------------------------------------------- /CodeMaid.VS2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("SteveCadwallader.CodeMaid.VS2022")] -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/about.png -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/about.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/about.xcf -------------------------------------------------------------------------------- /CodeMaid.UnitTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("SteveCadwallader.CodeMaid.UnitTests")] -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/find.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/find.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/info.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/info.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/join.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/join.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/lock.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/lock.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/spade.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/spade.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/cleanup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/cleanup.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/collapse.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/collapse.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/options.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/options.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/progress.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/progress.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/refresh.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/refresh.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/sortType.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/sortType.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/switch.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/switch.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/unlock.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/unlock.bmp -------------------------------------------------------------------------------- /CodeMaid/UI/Themes/Images/CollapsedDark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/Themes/Images/CollapsedDark.png -------------------------------------------------------------------------------- /CodeMaid/UI/Themes/Images/CollapsedLight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/Themes/Images/CollapsedLight.png -------------------------------------------------------------------------------- /CodeMaid/UI/Themes/Images/ExpandedDark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/Themes/Images/ExpandedDark.png -------------------------------------------------------------------------------- /CodeMaid/UI/Themes/Images/ExpandedLight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/Themes/Images/ExpandedLight.png -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/cleanupAll.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/cleanupAll.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/reorganize.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/reorganize.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/sortAlpha.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/sortAlpha.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/closeLocked.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/closeLocked.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/commentformat.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/commentformat.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/removeRegion.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/removeRegion.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/sortNumeric.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/sortNumeric.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/spadeToolWindow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/spadeToolWindow.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/spadeToolWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/spadeToolWindow.png -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/progressToolWindow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/progressToolWindow.bmp -------------------------------------------------------------------------------- /CodeMaid/Integration/Images/IDE/progressToolWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/Integration/Images/IDE/progressToolWindow.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Region.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Region.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Region.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Region.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Region.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Region.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Class_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Enum_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Event_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Field_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Method_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Constant_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Delegate_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/EnumItem_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Property_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Interface_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/Structure_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Class_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Enum_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Event_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Field_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Method_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Class_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Enum_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Event_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Field_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Constant_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Delegate_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/EnumItem_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Property_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Method_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodDestructor_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Interface_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/Structure_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Constant_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Delegate_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/EnumItem_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Interface_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Property_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/Structure_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2010/MethodConstructor_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodDestructor_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor_Friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor_Friend.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor_Private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor_Private.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Dark/MethodConstructor_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodConstructor_Protected.png -------------------------------------------------------------------------------- /CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor_Protected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codecadwallader/codemaid/HEAD/CodeMaid/UI/ToolWindows/Spade/Images/VS2012_Light/MethodDestructor_Protected.png -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/HeaderUpdateMode.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | public enum HeaderUpdateMode 4 | { 5 | Insert = 0, 6 | Replace = 1, 7 | } 8 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/HeaderPosition.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | public enum HeaderPosition 4 | { 5 | DocumentStart = 0, 6 | AfterUsings = 1, 7 | } 8 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/ICommentLine.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.Comments 2 | { 3 | internal interface ICommentLine 4 | { 5 | string Content { get; } 6 | 7 | bool IsLast { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/ISwitchableFeature.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace SteveCadwallader.CodeMaid.Integration 4 | { 5 | internal interface ISwitchableFeature 6 | { 7 | Task SwitchAsync(bool on); 8 | } 9 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/AskYesNo.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | /// 4 | /// A user prompt enumeration. 5 | /// 6 | public enum AskYesNo 7 | { 8 | Ask = 0, 9 | Yes = 1, 10 | No = 2 11 | } 12 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/DropPosition.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | /// 4 | /// An enumeration of drop positions. 5 | /// 6 | public enum DropPosition 7 | { 8 | Above, 9 | Below, 10 | On 11 | } 12 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/NoneEmptyAll.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | /// 4 | /// A user prompt enumeration. 5 | /// 6 | public enum NoneEmptyAll 7 | { 8 | None = 0, 9 | Empty = 1, 10 | All = 2 11 | } 12 | } -------------------------------------------------------------------------------- /CodeMaid/.editorconfig: -------------------------------------------------------------------------------- 1 | ; Top-most EditorConfig file 2 | root = true 3 | 4 | [*.{cs,vb}] 5 | dotnet_style_qualification_for_field = false:suggestion 6 | dotnet_style_qualification_for_property = false:suggestion 7 | dotnet_style_qualification_for_method = false:suggestion 8 | dotnet_style_qualification_for_event = false:suggestion -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/ThemeMode.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | /// 4 | /// The enumeration of theme options. 5 | /// 6 | public enum ThemeMode 7 | { 8 | AutoDetect = 0, 9 | Dark = 1, 10 | Light = 2 11 | } 12 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Enumerations/IconSetMode.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.UI.Enumerations 2 | { 3 | /// 4 | /// The enumeration of icon set options. 5 | /// 6 | public enum IconSetMode 7 | { 8 | AutoDetect = 0, 9 | VS2010 = 1, 10 | VS2012Light = 2, 11 | VS2012Dark = 3, 12 | } 13 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/XmlTagCase.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 2 | { 3 | public enum XmlTagCase 4 | { 5 | /// 6 | /// Use formatter default settings. 7 | /// 8 | Default = 0, 9 | 10 | Keep, 11 | LowerCase, 12 | UpperCase 13 | } 14 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/ICodeItemComplexity.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 2 | { 3 | /// 4 | /// An interface for code items that support complexity calculations. 5 | /// 6 | public interface ICodeItemComplexity : ICodeItem 7 | { 8 | /// 9 | /// Gets the complexity. 10 | /// 11 | int Complexity { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/CommentOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 4 | { 5 | /// 6 | /// Comment specific options for the formatter. 7 | /// 8 | internal class CommentOptions 9 | { 10 | public string Prefix { get; internal set; } 11 | 12 | public Regex Regex { get; internal set; } 13 | } 14 | } -------------------------------------------------------------------------------- /CodeMaid/zh-Hans/extension.vsixlangpack: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CodeMaid 5 | CodeMaid 是一个开源Visual Studio 扩展, 用于清理和简化我们的 C#、C++、F#、VB、PHP、PowerShell、R、JSON、XAML、XML、ASP、HTML、CSS、LESS、SCSS、JavaScript 和TypeScript编码。 6 | 7 | -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/IInterfaceItem.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 2 | { 3 | /// 4 | /// Represents an item that can implement an interface member. 5 | /// 6 | public interface IInterfaceItem 7 | { 8 | /// 9 | /// Gets a flag indicating if this is an explicit interface implementation. 10 | /// 11 | bool IsExplicitInterfaceImplementation { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/IXmlTagOptions.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 2 | { 3 | public interface IXmlTagOptions 4 | { 5 | XmlTagCase Case { get; } 6 | 7 | int Indent { get; } 8 | 9 | bool KeepTogether { get; } 10 | 11 | bool Literal { get; } 12 | 13 | bool SpaceContent { get; } 14 | 15 | bool SpaceSelfClosing { get; } 16 | 17 | XmlTagNewLine Split { get; } 18 | } 19 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Themes/CodeMaidCoreTheme.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/Themes/Buttons.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/ToolWindows/Spade/RadialProgressBar.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | 5 | namespace SteveCadwallader.CodeMaid.UI.ToolWindows.Spade 6 | { 7 | public partial class RadialProgressBar : UserControl 8 | { 9 | public RadialProgressBar() 10 | { 11 | Application.ResourceAssembly = Assembly.GetExecutingAssembly(); 12 | 13 | InitializeComponent(); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/CommentLine.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.Comments 2 | { 3 | internal class CommentLine : ICommentLine 4 | { 5 | public CommentLine(string content) 6 | { 7 | if (!string.IsNullOrWhiteSpace(content)) 8 | { 9 | this.Content = content; 10 | } 11 | } 12 | 13 | public string Content { get; protected set; } 14 | 15 | public bool IsLast { get; internal set; } 16 | } 17 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/ICodeItemParameters.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using System.Collections.Generic; 3 | 4 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 5 | { 6 | /// 7 | /// An interface for code items that support having parameters. 8 | /// 9 | public interface ICodeItemParameters : ICodeItem 10 | { 11 | /// 12 | /// Gets the parameters. 13 | /// 14 | IEnumerable Parameters { get; } 15 | } 16 | } -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Environment 2 | - Visual Studio version: [example 2022 Community] 3 | - CodeMaid version: [example 12.0] 4 | - Code language: [example C#] 5 | 6 | ### Description 7 | Replace this text with a short description and code sample. 8 | 9 | ### Steps to recreate 10 | 1. Replace this 11 | 2. text with 12 | 3. the steps 13 | 4. to recreate 14 | 15 | ### Current behavior 16 | Explain what it's doing and why it's wrong. 17 | 18 | ### Expected behavior 19 | Explain what it should be doing after it's fixed. -------------------------------------------------------------------------------- /CodeMaidShared/UI/Themes/Colors.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Cleaning/CleaningParentDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Reorganizing/ReorganizingParentDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GlobalAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid; 2 | using System; 3 | using System.Reflection; 4 | using System.Resources; 5 | using System.Runtime.InteropServices; 6 | 7 | [assembly: AssemblyCompany(Vsix.Author)] 8 | [assembly: AssemblyCopyright("Copyright 2007-2021 Steve Cadwallader (LGPL v3)")] 9 | [assembly: AssemblyDescription(Vsix.Description)] 10 | [assembly: AssemblyFileVersion(Vsix.Version)] 11 | [assembly: AssemblyProduct(Vsix.Name)] 12 | [assembly: AssemblyVersion(Vsix.Version)] 13 | [assembly: CLSCompliant(false)] 14 | [assembly: ComVisible(false)] 15 | [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] -------------------------------------------------------------------------------- /CodeMaidShared/UI/ToolWindows/Spade/CenterConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.ToolWindows.Spade 5 | { 6 | public class CenterConverter : System.Windows.Data.IValueConverter 7 | { 8 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 9 | { 10 | var result = (double)value / 2.0; 11 | return result; 12 | } 13 | 14 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 15 | { 16 | throw new NotImplementedException(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeTree/CodeSortOrder.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.CodeTree 2 | { 3 | /// 4 | /// An enumeration of code sort orders. 5 | /// 6 | public enum CodeSortOrder 7 | { 8 | /// 9 | /// The default sort following the file line order. 10 | /// 11 | File, 12 | 13 | /// 14 | /// A sort following the C# standards that groups items by type and accessibility. 15 | /// 16 | Type, 17 | 18 | /// 19 | /// A sort following alphabetical order. 20 | /// 21 | Alpha 22 | } 23 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Prompts/YesNoPromptWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Prompts 5 | { 6 | /// 7 | /// Interaction logic for YesNoPromptWindow.xaml 8 | /// 9 | public partial class YesNoPromptWindow 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | public YesNoPromptWindow() 15 | { 16 | Application.ResourceAssembly = Assembly.GetExecutingAssembly(); 17 | 18 | InitializeComponent(); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/ToolWindows/BuildProgress/BuildProgressView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.ToolWindows.BuildProgress 5 | { 6 | /// 7 | /// Interaction logic for BuildProgressView.xaml 8 | /// 9 | public partial class BuildProgressView 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | public BuildProgressView() 15 | { 16 | Application.ResourceAssembly = Assembly.GetExecutingAssembly(); 17 | 18 | InitializeComponent(); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/OptionsWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options 5 | { 6 | /// 7 | /// Interaction logic for OptionsWindow.xaml 8 | /// 9 | public partial class OptionsWindow 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | public OptionsWindow() 15 | { 16 | Application.ResourceAssembly = Assembly.GetExecutingAssembly(); 17 | 18 | HasMaximizeButton = true; 19 | 20 | InitializeComponent(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /CodeMaid/source.extension.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid 2 | { 3 | static class Vsix 4 | { 5 | public const string Id = "4c82e17d-927e-42d2-8460-b473ac7df316"; 6 | public const string Name = "CodeMaid"; 7 | public const string Description = "CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding."; 8 | public const string Language = "en-US"; 9 | public const string Version = "12.0"; 10 | public const string Author = "Steve Cadwallader"; 11 | public const string Tags = "build, code, c#, beautify, cleanup, cleaning, digging, reorganizing, formatting"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /CodeMaid.VS2022/source.extension.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid 2 | { 3 | internal static class Vsix 4 | { 5 | public const string Id = "9079e73d-3fbb-4e07-8dab-f44fa5d8e8b5"; 6 | public const string Name = "CodeMaid VS2022"; 7 | public const string Description = "CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding."; 8 | public const string Language = "en-US"; 9 | public const string Version = "12.0"; 10 | public const string Author = "Steve Cadwallader"; 11 | public const string Tags = "build, code, c#, beautify, cleanup, cleaning, digging, reorganizing, formatting"; 12 | } 13 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/CodeLanguage.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Helpers 2 | { 3 | /// 4 | /// An internal helper enumeration of code languages. 5 | /// 6 | /// 7 | /// This is used to encapsulate Visual Studio reported differences we do not want to consider 8 | /// (e.g. JavaScript vs. JScript or HTML vs. HTMLX) 9 | /// 10 | public enum CodeLanguage 11 | { 12 | Unknown, 13 | CPlusPlus, 14 | CSharp, 15 | CSS, 16 | FSharp, 17 | HTML, 18 | JavaScript, 19 | JSON, 20 | LESS, 21 | PHP, 22 | PowerShell, 23 | R, 24 | SCSS, 25 | TypeScript, 26 | VisualBasic, 27 | XAML, 28 | XML 29 | } 30 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/TypeFormatHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace SteveCadwallader.CodeMaid.Helpers 4 | { 5 | /// 6 | /// A simple helper class for formatting type definitions. 7 | /// 8 | public static class TypeFormatHelper 9 | { 10 | /// 11 | /// Formats the specified input type string. 12 | /// 13 | /// The input string. 14 | /// The formatted output string. 15 | public static string Format(string input) 16 | { 17 | if (string.IsNullOrEmpty(input)) return input; 18 | 19 | var result = Regex.Replace(input, @"[^ \t,<>\[\]]*\.", string.Empty); 20 | 21 | return result; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Finding/FindingDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Collapsing/CollapsingDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/EnumHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | namespace SteveCadwallader.CodeMaid.Helpers 5 | { 6 | /// 7 | /// A static helper class for common enumeration utilities. 8 | /// 9 | public static class EnumHelper 10 | { 11 | /// 12 | /// Gets the description from the specified enumeration value. 13 | /// 14 | /// The value. 15 | /// The description. 16 | public static string GetDescription(this Enum value) 17 | { 18 | var fieldInfo = value.GetType().GetField(value.ToString()); 19 | var attribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute)) as DescriptionAttribute; 20 | 21 | return attribute != null ? attribute.Description : value.ToString(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /CodeMaid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | [assembly: AssemblyTitle("SteveCadwallader.CodeMaid")] 5 | [assembly: InternalsVisibleTo("SteveCadwallader.CodeMaid.IntegrationTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100fd90a5de02e8a23b56c1f2b69e9f48bc15be99222c50ba9a2dacebabb811b251deb9d156e4a803b1cdaefb0d74ed78ef55f8c8f64e0ae5dedead2ed19619ac3fbb111ab70f54ce78e49f71a19dcb09c169e0c055dc40e6d675ad3e5db2300d9f3ce394f7514e7e06597a31e7e8a67fdcda4c75acb8f600da5d8c1934c8a129c7")] 6 | [assembly: InternalsVisibleTo("SteveCadwallader.CodeMaid.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100fd90a5de02e8a23b56c1f2b69e9f48bc15be99222c50ba9a2dacebabb811b251deb9d156e4a803b1cdaefb0d74ed78ef55f8c8f64e0ae5dedead2ed19619ac3fbb111ab70f54ce78e49f71a19dcb09c169e0c055dc40e6d675ad3e5db2300d9f3ce394f7514e7e06597a31e7e8a67fdcda4c75acb8f600da5d8c1934c8a129c7")] -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/SetCodeItems.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 4 | { 5 | /// 6 | /// A specialized container for holding a set of code items. 7 | /// 8 | public class SetCodeItems : List 9 | { 10 | /// 11 | /// Initializes a new instance of the class. 12 | /// 13 | public SetCodeItems() 14 | { 15 | } 16 | 17 | /// 18 | /// Initializes a new instance of the class initialized with the 19 | /// specified collection members. 20 | /// 21 | /// The collection. 22 | public SetCodeItems(IEnumerable collection) 23 | : this() 24 | { 25 | AddRange(collection); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/ICodeItemParent.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using System; 3 | 4 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 5 | { 6 | /// 7 | /// An interface for code items that support having children. 8 | /// 9 | public interface ICodeItemParent : ICodeItem 10 | { 11 | /// 12 | /// An event raised when the IsExpanded state has changed. 13 | /// 14 | event EventHandler IsExpandedChanged; 15 | 16 | /// 17 | /// Gets the children of this code item, may be empty. 18 | /// 19 | SetCodeItems Children { get; } 20 | 21 | /// 22 | /// Gets the insert point, may be null. 23 | /// 24 | EditPoint InsertPoint { get; } 25 | 26 | /// 27 | /// Gets or sets the flag indicating if this parent item is expanded. 28 | /// 29 | bool IsExpanded { get; set; } 30 | } 31 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/OptionsPageViewModelEnumerableExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options 5 | { 6 | /// 7 | /// A set of extensions methods for enumerable sets of . 8 | /// 9 | public static class OptionsPageViewModelEnumerableExtensions 10 | { 11 | /// 12 | /// Flattens the specified collection by pulling out children. 13 | /// 14 | /// This currently only recurses down one level as that's all that is needed. 15 | /// The initial pages collection. 16 | /// The flattened collection including children. 17 | public static IEnumerable Flatten(this IEnumerable pages) 18 | { 19 | return pages.Union(pages.SelectMany(x => x.Children)); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Switching/SwitchingDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /CodeMaidShared/CodeMaidShared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | e94629d8-7803-4242-a0c6-3560005515e6 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/Themes/CodeMaidDarkTheme.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | /UI/Themes/Images/CollapsedDark.png 20 | /UI/Themes/Images/ExpandedDark.png 21 | -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/XmlTagNewLine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 4 | { 5 | [Flags] 6 | public enum XmlTagNewLine 7 | { 8 | /// 9 | /// Use formatter default settings. 10 | /// 11 | Default = 0, 12 | 13 | /// 14 | /// Put tags on their own line when content is too long to fit on a single line. 15 | /// 16 | Content = 1 << 0, 17 | 18 | BeforeOpen = 1 << 1, 19 | AfterOpen = 1 << 2, 20 | 21 | BeforeClose = 1 << 3, 22 | AfterClose = 1 << 4, 23 | 24 | /// 25 | /// Force a break before the open tag and after the close tag, regardless of content length. 26 | /// 27 | BeforeAndAfter = BeforeOpen | AfterClose, 28 | 29 | /// 30 | /// Force a break before and after the open and close tags, ie put tags on their own lines. 31 | /// 32 | Always = BeforeOpen | AfterOpen | BeforeClose | AfterClose 33 | } 34 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Themes/CodeMaidLightTheme.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | /UI/Themes/Images/CollapsedLight.png 20 | /UI/Themes/Images/ExpandedLight.png 21 | -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/UIThread.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.Shell; 2 | using System; 3 | 4 | namespace SteveCadwallader.CodeMaid.Helpers 5 | { 6 | internal static class UIThread 7 | { 8 | public static void Run(Action action) 9 | { 10 | if (ThreadHelper.CheckAccess()) 11 | { 12 | action(); 13 | } 14 | else 15 | { 16 | ThreadHelper.JoinableTaskFactory.Run(async () => 17 | { 18 | await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); 19 | action(); 20 | }); 21 | } 22 | } 23 | 24 | public static T Run(Func func) 25 | { 26 | if (ThreadHelper.CheckAccess()) 27 | { 28 | return func(); 29 | } 30 | return ThreadHelper.JoinableTaskFactory.Run(async () => 31 | { 32 | await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); 33 | return func(); 34 | }); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 12.0.{build} 2 | image: Visual Studio 2019 3 | 4 | install: 5 | - ps: (new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex 6 | 7 | assembly_info: 8 | patch: true 9 | file: '**\AssemblyInfo.*' 10 | assembly_version: '{version}' 11 | assembly_file_version: '{version}' 12 | assembly_informational_version: '{version}' 13 | 14 | before_build: 15 | - nuget restore 16 | - ps: Vsix-IncrementVsixVersion | Vsix-UpdateBuildVersion 17 | - ps: Vsix-TokenReplacement CodeMaid\source.extension.cs 'Version = "([0-9\\.]+)"' 'Version = "{version}"' 18 | 19 | build_script: 20 | - msbuild /p:configuration=Release /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m 21 | 22 | test: 23 | assemblies: SteveCadwallader.CodeMaid.UnitTests.dll 24 | 25 | after_test: 26 | - ps: if ($env:APPVEYOR_REPO_BRANCH -eq 'dev' -or $env:APPVEYOR_REPO_BRANCH -eq 'release') { Vsix-PushArtifacts | Vsix-PublishToGallery } 27 | - ps: if ($env:APPVEYOR_REPO_BRANCH -ne 'dev' -and $env:APPVEYOR_REPO_BRANCH -ne 'release') { Vsix-PushArtifacts } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/FormatterOptionsXmlTag.cs: -------------------------------------------------------------------------------- 1 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 2 | { 3 | public class FormatterOptionsXmlTag 4 | { 5 | /// 6 | /// If not , overrides the default tag case setting. 7 | /// 8 | public XmlTagCase Case { get; set; } 9 | 10 | /// 11 | /// If not null, overrides the default tag indentation. 12 | /// 13 | public int? Indent { get; set; } 14 | 15 | public bool? KeepTogether { get; set; } 16 | 17 | /// 18 | /// Whether the content should be kept literally and not formatted. 19 | /// 20 | public bool? Literal { get; set; } 21 | 22 | public bool? SpaceContent { get; set; } 23 | 24 | public bool? SpaceSelfClosing { get; set; } 25 | 26 | /// 27 | /// If not , overrides the default tag split setting. 28 | /// 29 | public XmlTagNewLine Split { get; set; } 30 | } 31 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/PropertyInfoHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq.Expressions; 3 | using System.Reflection; 4 | 5 | namespace SteveCadwallader.CodeMaid.Helpers 6 | { 7 | /// 8 | /// A helper class that provides reflection access to property information. 9 | /// 10 | /// The class where the property exists. 11 | public static class PropertyInfoHelper 12 | { 13 | /// 14 | /// Gets the property info referenced by the specified lambda expression. 15 | /// 16 | /// The type of the value. 17 | /// The lambda. 18 | /// The property info for the referenced property, otherwise null. 19 | public static PropertyInfo GetPropertyInfo(Expression> lambda) 20 | { 21 | return lambda.Body.NodeType == ExpressionType.MemberAccess 22 | ? ((MemberExpression)lambda.Body).Member as PropertyInfo 23 | : null; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/EditPointExtensions.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | 3 | namespace SteveCadwallader.CodeMaid.Helpers 4 | { 5 | /// 6 | /// A set of extension methods for . 7 | /// 8 | internal static class EditPointExtensions 9 | { 10 | /// 11 | /// Gets the for this edit point. 12 | /// 13 | /// The edit point. 14 | /// A . 15 | internal static CodeLanguage GetCodeLanguage(this EditPoint editPoint) 16 | { 17 | return editPoint.Parent.GetCodeLanguage(); 18 | } 19 | 20 | /// 21 | /// Gets the text for the line where the edit point is located. 22 | /// 23 | /// The edit point. 24 | /// The text of the edit point's line. 25 | internal static string GetLine(this EditPoint editPoint) 26 | { 27 | return editPoint.GetLines(editPoint.Line, editPoint.Line + 1); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /CodeMaid/CodeMaid.imagemanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /CodeMaidShared/Properties/Settings.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Helpers; 2 | using System.Configuration; 3 | 4 | namespace SteveCadwallader.CodeMaid.Properties 5 | { 6 | /// 7 | /// This partial class instructs the class to utilize the . 8 | /// 9 | [SettingsProvider(typeof(CodeMaidSettingsProvider))] 10 | public sealed partial class Settings 11 | { 12 | /// 13 | /// Updates application settings to reflect a more recent installation of the application. 14 | /// 15 | public override void Upgrade() 16 | { 17 | var oldSettingsProvider = new LocalFileSettingsProvider(); 18 | var oldPropertyValues = oldSettingsProvider.GetPropertyValues(Context, Properties); 19 | 20 | foreach (SettingsPropertyValue oldPropertyValue in oldPropertyValues) 21 | { 22 | if (!Equals(this[oldPropertyValue.Name], oldPropertyValue.PropertyValue)) 23 | { 24 | this[oldPropertyValue.Name] = oldPropertyValue.PropertyValue; 25 | } 26 | } 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Cleaning/CleaningParentViewModel.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | 3 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options.Cleaning 4 | { 5 | /// 6 | /// The view model for cleaning options - a parent to more specific view models. 7 | /// 8 | public class CleaningParentViewModel : OptionsPageViewModel 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | /// The active settings. 17 | public CleaningParentViewModel(CodeMaidPackage package, Settings activeSettings) 18 | : base(package, activeSettings) 19 | { 20 | } 21 | 22 | #endregion Constructors 23 | 24 | #region Overrides of OptionsPageViewModel 25 | 26 | /// 27 | /// Gets the header. 28 | /// 29 | public override string Header => Resources.Cleaning_n; 30 | 31 | #endregion Overrides of OptionsPageViewModel 32 | } 33 | } -------------------------------------------------------------------------------- /CodeMaid.UnitTests/MemberTypeSettingTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using SteveCadwallader.CodeMaid.Helpers; 3 | 4 | namespace SteveCadwallader.CodeMaid.UnitTests 5 | { 6 | [TestClass] 7 | public class MemberTypeSettingTests 8 | { 9 | [TestMethod] 10 | public void CanSerializeMemberTypeSetting() 11 | { 12 | var memberTypeSetting = new MemberTypeSetting("Fields", "Member Variables", 1); 13 | Assert.IsNotNull(memberTypeSetting); 14 | 15 | var serializedString = (string)memberTypeSetting; 16 | Assert.IsFalse(string.IsNullOrWhiteSpace(serializedString)); 17 | } 18 | 19 | [TestMethod] 20 | public void CanDeserializeMemberTypeSetting() 21 | { 22 | const string serializedString = @"Fields||1||Member Variables"; 23 | 24 | var memberTypeSetting = (MemberTypeSetting)serializedString; 25 | 26 | Assert.IsNotNull(memberTypeSetting); 27 | Assert.AreEqual(memberTypeSetting.DefaultName, "Fields"); 28 | Assert.AreEqual(memberTypeSetting.EffectiveName, "Member Variables"); 29 | Assert.AreEqual(memberTypeSetting.Order, 1); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/SnapshotCodeItems.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 4 | { 5 | /// 6 | /// A snapshot of a document and its associated code items at a point in time. 7 | /// 8 | internal class SnapshotCodeItems 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The document. 16 | /// The code items. 17 | internal SnapshotCodeItems(Document document, SetCodeItems codeItems) 18 | { 19 | Document = document; 20 | CodeItems = codeItems; 21 | } 22 | 23 | #endregion Constructors 24 | 25 | #region Properties 26 | 27 | /// 28 | /// Gets the document. 29 | /// 30 | internal Document Document { get; private set; } 31 | 32 | /// 33 | /// Gets the code items. 34 | /// 35 | internal SetCodeItems CodeItems { get; private set; } 36 | 37 | #endregion Properties 38 | } 39 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Reorganizing/ReorganizingParentViewModel.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | 3 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options.Reorganizing 4 | { 5 | /// 6 | /// The view model for reorganizing options - a parent to more specific view models. 7 | /// 8 | public class ReorganizingParentViewModel : OptionsPageViewModel 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | /// The active settings. 17 | public ReorganizingParentViewModel(CodeMaidPackage package, Settings activeSettings) 18 | : base(package, activeSettings) 19 | { 20 | } 21 | 22 | #endregion Constructors 23 | 24 | #region Overrides of OptionsPageViewModel 25 | 26 | /// 27 | /// Gets the header. 28 | /// 29 | public override string Header => Resources.Reorganizing; 30 | 31 | #endregion Overrides of OptionsPageViewModel 32 | } 33 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/RegexNullSafe.cs: -------------------------------------------------------------------------------- 1 | using System.Text.RegularExpressions; 2 | 3 | namespace SteveCadwallader.CodeMaid.Helpers 4 | { 5 | /// 6 | /// A helper class that wraps with safe handling for null input scenarios. 7 | /// 8 | public static class RegexNullSafe 9 | { 10 | /// 11 | /// A wrapper around that returns false if either 12 | /// input or pattern are null instead of throwing an . 13 | /// 14 | /// The string to search for a match. 15 | /// The regular expression pattern to match. 16 | /// True if the regular expression finds a match; otherwise, false. 17 | public static bool IsMatch(string input, string pattern) 18 | { 19 | if (input == null || pattern == null) 20 | { 21 | OutputWindowHelper.WarningWriteLine("Returned false due to a null input or pattern passed to RegexNullSafe's IsMatch."); 22 | return false; 23 | } 24 | 25 | return Regex.IsMatch(input, pattern); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/NotifiesOnAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SteveCadwallader.CodeMaid.UI 4 | { 5 | /// 6 | /// This attribute is used to declare that a property should raise a notification 7 | /// when an independent property is raising a notification. 8 | /// 9 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = true)] 10 | public class NotifiesOnAttribute : Attribute 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The name of the independent property. 16 | /// is null. 17 | public NotifiesOnAttribute(string name) 18 | { 19 | if (name == null) throw new ArgumentNullException(nameof(name)); 20 | 21 | Name = name; 22 | } 23 | 24 | /// 25 | /// The name of the independent property. 26 | /// 27 | public string Name { get; private set; } 28 | 29 | /// 30 | /// A unique identifier for this attribute. 31 | /// 32 | public override object TypeId => this; 33 | } 34 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/CodeItemParentExtensions.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Model.CodeItems; 2 | 3 | namespace SteveCadwallader.CodeMaid.Helpers 4 | { 5 | /// 6 | /// A set of extension methods for . 7 | /// 8 | public static class CodeItemParentExtensions 9 | { 10 | /// 11 | /// Recursively gets the children in a depth-first fashion for the specified parent without 12 | /// delving into nested element parents. 13 | /// 14 | /// The parent. 15 | /// The recursive set of children. 16 | public static SetCodeItems GetChildrenRecursive(this ICodeItemParent parent) 17 | { 18 | var children = new SetCodeItems(); 19 | 20 | foreach (var child in parent.Children) 21 | { 22 | children.Add(child); 23 | 24 | var childAsParent = child as ICodeItemParent; 25 | if (childAsParent != null && !(child is BaseCodeItemElementParent)) 26 | { 27 | children.AddRange(childAsParent.GetChildrenRecursive()); 28 | } 29 | } 30 | 31 | return children; 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /CodeMaid.UnitTests/Formatting/CommentFormatHelper.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | using SteveCadwallader.CodeMaid.Model.Comments; 3 | using SteveCadwallader.CodeMaid.Model.Comments.Options; 4 | using System; 5 | 6 | namespace SteveCadwallader.CodeMaid.UnitTests.Formatting 7 | { 8 | internal class CommentFormatHelper 9 | { 10 | public static string AssertEqualAfterFormat( 11 | string text, 12 | Action options = null) 13 | { 14 | return AssertEqualAfterFormat(text, null, null, options); 15 | } 16 | 17 | public static string AssertEqualAfterFormat( 18 | string text, 19 | string expected, 20 | Action options = null) 21 | { 22 | return AssertEqualAfterFormat(text, expected, null, options); 23 | } 24 | 25 | public static string AssertEqualAfterFormat( 26 | string text, 27 | string expected, 28 | string prefix, 29 | Action options = null) 30 | { 31 | var result = CodeComment.Format(text, prefix, options); 32 | Assert.AreEqual(expected ?? text, result); 33 | return result; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/TextDocumentExtensions.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | 3 | namespace SteveCadwallader.CodeMaid.Helpers 4 | { 5 | /// 6 | /// A set of extension methods for . 7 | /// 8 | internal static class TextDocumentExtensions 9 | { 10 | /// 11 | /// Gets the for this text document. 12 | /// 13 | /// The document. 14 | /// A . 15 | internal static CodeLanguage GetCodeLanguage(this TextDocument document) 16 | { 17 | return CodeLanguageHelper.GetCodeLanguage(document.Language); 18 | } 19 | 20 | /// 21 | /// Gets an edit point at the cursor for the specified text document. 22 | /// 23 | /// The text document. 24 | /// An edit point at the cursor. 25 | internal static EditPoint GetEditPointAtCursor(this TextDocument textDocument) 26 | { 27 | var cursor = textDocument.CreateEditPoint(); 28 | cursor.MoveToPoint(textDocument.Selection.ActivePoint); 29 | 30 | return cursor; 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Progressing/ProgressingDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/EditableTextBlock.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/CodeItemNamespace.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using System; 3 | 4 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 5 | { 6 | /// 7 | /// The representation of a code namespace. 8 | /// 9 | public class CodeItemNamespace : BaseCodeItemElementParent 10 | { 11 | #region Constructors 12 | 13 | /// 14 | /// Initializes a new instance of the class. 15 | /// 16 | public CodeItemNamespace() 17 | { 18 | _DocComment = LazyTryDefault( 19 | () => CodeNamespace?.DocComment); 20 | 21 | _TypeString = new Lazy( 22 | () => "namespace"); 23 | } 24 | 25 | #endregion Constructors 26 | 27 | #region BaseCodeItem Overrides 28 | 29 | /// 30 | /// Gets the kind. 31 | /// 32 | public override KindCodeItem Kind => KindCodeItem.Namespace; 33 | 34 | #endregion BaseCodeItem Overrides 35 | 36 | #region Properties 37 | 38 | /// 39 | /// Gets or sets the underlying VSX CodeNamespace. 40 | /// 41 | public CodeNamespace CodeNamespace { get; set; } 42 | 43 | #endregion Properties 44 | } 45 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/KindCodeItem.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 4 | { 5 | /// 6 | /// An enumeration of kind of code items. Does not 1:1 correspond to the code item classes (ex: 7 | /// CodeItemMethod includes constructors and destructors). 8 | /// 9 | public enum KindCodeItem 10 | { 11 | [Description("Fields")] 12 | Field, 13 | 14 | [Description("Constructors")] 15 | Constructor, 16 | 17 | [Description("Destructors")] 18 | Destructor, 19 | 20 | [Description("Delegates")] 21 | Delegate, 22 | 23 | [Description("Events")] 24 | Event, 25 | 26 | [Description("Enums")] 27 | Enum, 28 | 29 | [Description("Indexers")] 30 | Indexer, 31 | 32 | [Description("Interfaces")] 33 | Interface, 34 | 35 | [Description("Properties")] 36 | Property, 37 | 38 | [Description("Methods")] 39 | Method, 40 | 41 | [Description("Structs")] 42 | Struct, 43 | 44 | [Description("Classes")] 45 | Class, 46 | 47 | [Description("Namespaces")] 48 | Namespace, 49 | 50 | [Description("Regions")] 51 | Region, 52 | 53 | [Description("Usings")] 54 | Using 55 | } 56 | } -------------------------------------------------------------------------------- /CodeMaid.UnitTests/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /CodeMaid.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | \.Designer\.cs$||\.Designer\.vb$||\.resx$||CodeMaid.IntegrationTests\\.*\\Data\\||CodeMaid\\CodeMaid.cs||CodeMaid\\source.extension.cs 12 | 13 | 14 | True 15 | 16 | 17 | False 18 | 19 | 20 | True 21 | 22 | 23 | True 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/ToolWindows/Spade/MemberSearchTask.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio; 2 | using Microsoft.VisualStudio.Shell; 3 | using Microsoft.VisualStudio.Shell.Interop; 4 | using System; 5 | 6 | namespace SteveCadwallader.CodeMaid.UI.ToolWindows.Spade 7 | { 8 | /// 9 | /// A class implementing in order to search code members. 10 | /// 11 | internal class MemberSearchTask : VsSearchTask 12 | { 13 | private readonly Action _callback; 14 | 15 | /// 16 | /// Initializes a new instance of the class. 17 | /// 18 | public MemberSearchTask(uint dwCookie, IVsSearchQuery pSearchQuery, IVsSearchCallback pSearchCallback, Action callback) 19 | : base(dwCookie, pSearchQuery, pSearchCallback) 20 | { 21 | _callback = callback; 22 | } 23 | 24 | /// 25 | /// Performs the search task. 26 | /// 27 | protected override void OnStartSearch() 28 | { 29 | ErrorCode = VSConstants.S_OK; 30 | 31 | try 32 | { 33 | _callback(SearchQuery.SearchString); 34 | } 35 | catch (Exception) 36 | { 37 | ErrorCode = VSConstants.E_FAIL; 38 | } 39 | 40 | base.OnStartSearch(); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/CodeItemNameComparer.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Model.CodeItems; 2 | using System.Collections.Generic; 3 | 4 | namespace SteveCadwallader.CodeMaid.Helpers 5 | { 6 | /// 7 | /// A helper for comparing code items by name. 8 | /// 9 | public class CodeItemNameComparer : Comparer 10 | { 11 | /// 12 | /// Performs a comparison of two objects of the same type and returns a value indicating 13 | /// whether one object is less than, equal to, or greater than the other. 14 | /// 15 | /// The first object to compare. 16 | /// The second object to compare. 17 | /// 18 | /// Less than zero: is less than . 19 | /// Zero: equals . 20 | /// Greater than zero: is greater than . 21 | /// 22 | public override int Compare(BaseCodeItem x, BaseCodeItem y) 23 | { 24 | int nameComparison = x.Name.CompareTo(y.Name); 25 | 26 | if (nameComparison == 0) 27 | { 28 | // Fall back to position comparison for matching elements. 29 | return x.StartOffset.CompareTo(y.StartOffset); 30 | } 31 | 32 | return nameComparison; 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/FormatterOptions.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | using System; 3 | 4 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 5 | { 6 | /// 7 | /// Document wide options for the comment formatter. 8 | /// 9 | public class FormatterOptions 10 | { 11 | /// 12 | /// The list of comment prefix tokens to ignore while formatting the comment. 13 | /// 14 | public string[] IgnoreTokens { get; set; } 15 | 16 | /// 17 | /// Do not wrap to a newline for only a single word. 18 | /// 19 | public bool SkipWrapOnLastWord { get; set; } 20 | 21 | public int TabSize { get; set; } = 4; 22 | 23 | public int WrapColumn { get; set; } 24 | 25 | public FormatterOptionsXml Xml { get; set; } 26 | 27 | internal static FormatterOptions FromSettings(Settings settings) 28 | { 29 | return new FormatterOptions 30 | { 31 | WrapColumn = settings.Formatting_CommentWrapColumn, 32 | SkipWrapOnLastWord = settings.Formatting_CommentSkipWrapOnLastWord, 33 | Xml = FormatterOptionsXml.FromSettings(settings) 34 | }; 35 | } 36 | 37 | internal FormatterOptions Set(Action action) 38 | { 39 | action?.Invoke(this); 40 | return this; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/ISettingToOptionMapping.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | using System.Reflection; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options 5 | { 6 | /// 7 | /// An interface describing a setting to option mapping. 8 | /// 9 | public interface ISettingToOptionMapping 10 | { 11 | /// 12 | /// Gets the defining the setting property. 13 | /// 14 | PropertyInfo SettingProperty { get; } 15 | 16 | /// 17 | /// Gets the defining the option property. 18 | /// 19 | PropertyInfo OptionProperty { get; } 20 | 21 | /// 22 | /// Copies the value within the setting property onto the option property. 23 | /// 24 | /// The class instance for the settings property. 25 | /// The class instance for the option property. 26 | void CopySettingToOption(Settings settingsClass, object optionClass); 27 | 28 | /// 29 | /// Copies the value within the option property onto the setting property. 30 | /// 31 | /// The class instance for the settings property. 32 | /// The class instance for the option property. 33 | void CopyOptionToSetting(Settings settingsClass, object optionClass); 34 | } 35 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/CodeItemEnum.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using System; 3 | 4 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 5 | { 6 | /// 7 | /// The representation of a code enumeration. 8 | /// 9 | public class CodeItemEnum : BaseCodeItemElementParent 10 | { 11 | #region Constructors 12 | 13 | /// 14 | /// Initializes a new instance of the class. 15 | /// 16 | public CodeItemEnum() 17 | { 18 | _Access = LazyTryDefault( 19 | () => CodeEnum?.Access ?? vsCMAccess.vsCMAccessPublic); 20 | 21 | _Attributes = LazyTryDefault( 22 | () => CodeEnum?.Attributes); 23 | 24 | _DocComment = LazyTryDefault( 25 | () => CodeEnum?.DocComment); 26 | 27 | _Namespace = LazyTryDefault( 28 | () => CodeEnum?.Namespace?.Name); 29 | 30 | _TypeString = new Lazy( 31 | () => "enum"); 32 | } 33 | 34 | #endregion Constructors 35 | 36 | #region BaseCodeItem Overrides 37 | 38 | /// 39 | /// Gets the kind. 40 | /// 41 | public override KindCodeItem Kind => KindCodeItem.Enum; 42 | 43 | #endregion BaseCodeItem Overrides 44 | 45 | #region Properties 46 | 47 | /// 48 | /// Gets or sets the underlying VSX CodeEnum. 49 | /// 50 | public CodeEnum CodeEnum { get; set; } 51 | 52 | #endregion Properties 53 | } 54 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/CleanupProgress/CleanupProgressWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | using System.Reflection; 3 | using System.Windows; 4 | 5 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.CleanupProgress 6 | { 7 | /// 8 | /// Interaction logic for CleanupProgressWindow.xaml 9 | /// 10 | public partial class CleanupProgressWindow 11 | { 12 | #region Constructors 13 | 14 | /// 15 | /// Initializes a new instance of the class. 16 | /// 17 | public CleanupProgressWindow() 18 | { 19 | Application.ResourceAssembly = Assembly.GetExecutingAssembly(); 20 | 21 | InitializeComponent(); 22 | } 23 | 24 | #endregion Constructors 25 | 26 | #region Private Event Handlers 27 | 28 | /// 29 | /// Called when the window is attempting to close. 30 | /// 31 | /// The sender. 32 | /// 33 | /// The instance containing the event data. 34 | /// 35 | private void OnClosing(object sender, CancelEventArgs e) 36 | { 37 | var viewModel = DataContext as CleanupProgressViewModel; 38 | if (viewModel != null && viewModel.DialogResult == null) 39 | { 40 | viewModel.CancelCommand.Execute(null); 41 | e.Cancel = true; 42 | } 43 | } 44 | 45 | #endregion Private Event Handlers 46 | } 47 | } -------------------------------------------------------------------------------- /CodeMaid/source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CodeMaid 6 | CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding. 7 | http://www.codemaid.net/ 8 | LICENSE.txt 9 | CodeMaid.png 10 | CodeMaid_Large.png 11 | build, code, c#, beautify, cleanup, cleaning, digging, reorganizing, formatting 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/CodeItemStruct.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using EnvDTE80; 3 | using System; 4 | 5 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 6 | { 7 | /// 8 | /// The representation of a code struct. 9 | /// 10 | public class CodeItemStruct : BaseCodeItemElementParent 11 | { 12 | #region Constructors 13 | 14 | /// 15 | /// Initializes a new instance of the class. 16 | /// 17 | public CodeItemStruct() 18 | { 19 | _Access = LazyTryDefault( 20 | () => CodeStruct?.Access ?? vsCMAccess.vsCMAccessPublic); 21 | 22 | _Attributes = LazyTryDefault( 23 | () => CodeStruct?.Attributes); 24 | 25 | _DocComment = LazyTryDefault( 26 | () => CodeStruct?.DocComment); 27 | 28 | _Namespace = LazyTryDefault( 29 | () => CodeStruct?.Namespace?.Name); 30 | 31 | _TypeString = new Lazy( 32 | () => "struct"); 33 | } 34 | 35 | #endregion Constructors 36 | 37 | #region BaseCodeItem Overrides 38 | 39 | /// 40 | /// Gets the kind. 41 | /// 42 | public override KindCodeItem Kind => KindCodeItem.Struct; 43 | 44 | #endregion BaseCodeItem Overrides 45 | 46 | #region Properties 47 | 48 | /// 49 | /// Gets or sets the underlying VSX CodeStruct. 50 | /// 51 | public CodeStruct2 CodeStruct { get; set; } 52 | 53 | #endregion Properties 54 | } 55 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/AboutCommand.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.UI.Dialogs.About; 2 | using System.Threading.Tasks; 3 | 4 | namespace SteveCadwallader.CodeMaid.Integration.Commands 5 | { 6 | /// 7 | /// A command that provides for launching the CodeMaid about window. 8 | /// 9 | internal sealed class AboutCommand : BaseCommand 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The hosting package. 15 | private AboutCommand(CodeMaidPackage package) 16 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidAbout) 17 | { 18 | } 19 | 20 | /// 21 | /// A singleton instance of this command. 22 | /// 23 | public static AboutCommand Instance { get; private set; } 24 | 25 | /// 26 | /// Initializes a singleton instance of this command. 27 | /// 28 | /// The hosting package. 29 | /// A task. 30 | public static async Task InitializeAsync(CodeMaidPackage package) 31 | { 32 | Instance = new AboutCommand(package); 33 | await Instance.SwitchAsync(on: true); 34 | } 35 | 36 | /// 37 | /// Called to execute the command. 38 | /// 39 | protected override void OnExecute() 40 | { 41 | base.OnExecute(); 42 | 43 | new AboutWindow().ShowModal(); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/CodeItemInterface.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using EnvDTE80; 3 | using System; 4 | 5 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 6 | { 7 | /// 8 | /// The representation of a code interface. 9 | /// 10 | public class CodeItemInterface : BaseCodeItemElementParent 11 | { 12 | #region Constructors 13 | 14 | /// 15 | /// Initializes a new instance of the class. 16 | /// 17 | public CodeItemInterface() 18 | { 19 | _Access = LazyTryDefault( 20 | () => CodeInterface?.Access ?? vsCMAccess.vsCMAccessPublic); 21 | 22 | _Attributes = LazyTryDefault( 23 | () => CodeInterface?.Attributes); 24 | 25 | _DocComment = LazyTryDefault( 26 | () => CodeInterface?.DocComment); 27 | 28 | _Namespace = LazyTryDefault( 29 | () => CodeInterface?.Namespace?.Name); 30 | 31 | _TypeString = new Lazy( 32 | () => "interface"); 33 | } 34 | 35 | #endregion Constructors 36 | 37 | #region BaseCodeItem Overrides 38 | 39 | /// 40 | /// Gets the kind. 41 | /// 42 | public override KindCodeItem Kind => KindCodeItem.Interface; 43 | 44 | #endregion BaseCodeItem Overrides 45 | 46 | #region Properties 47 | 48 | /// 49 | /// Gets or sets the underlying VSX CodeInterface. 50 | /// 51 | public CodeInterface2 CodeInterface { get; set; } 52 | 53 | #endregion Properties 54 | } 55 | } -------------------------------------------------------------------------------- /CodeMaidShared/Helpers/DocumentExtensions.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | 3 | namespace SteveCadwallader.CodeMaid.Helpers 4 | { 5 | /// 6 | /// A set of extension methods for . 7 | /// 8 | internal static class DocumentExtensions 9 | { 10 | /// 11 | /// Gets the for this document. 12 | /// 13 | /// The document. 14 | /// A . 15 | internal static CodeLanguage GetCodeLanguage(this Document document) 16 | { 17 | return CodeLanguageHelper.GetCodeLanguage(document.Language); 18 | } 19 | 20 | /// 21 | /// Attempts to get the TextDocument associated with the specified document. 22 | /// 23 | /// The document. 24 | /// The associated text document, otherwise null. 25 | internal static TextDocument GetTextDocument(this Document document) 26 | { 27 | return document.Object("TextDocument") as TextDocument; 28 | } 29 | 30 | /// 31 | /// Determines if the specified document is external to the solution. 32 | /// 33 | /// The document. 34 | /// True if the document is external, otherwise false. 35 | internal static bool IsExternal(this Document document) 36 | { 37 | var projectItem = document.ProjectItem; 38 | 39 | return projectItem == null || projectItem.IsExternal(); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeTree/CodeTreeRequest.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using SteveCadwallader.CodeMaid.Model.CodeItems; 3 | 4 | namespace SteveCadwallader.CodeMaid.Model.CodeTree 5 | { 6 | /// 7 | /// A simple class for containing a request to build a code tree. 8 | /// 9 | internal class CodeTreeRequest 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The document. 15 | /// The raw code items. 16 | /// The sort order. 17 | /// The name filter. 18 | internal CodeTreeRequest(Document document, SetCodeItems rawCodeItems, CodeSortOrder sortOrder, string nameFilter = null) 19 | { 20 | Document = document; 21 | RawCodeItems = rawCodeItems; 22 | SortOrder = sortOrder; 23 | NameFilter = nameFilter; 24 | } 25 | 26 | /// 27 | /// Gets the document. 28 | /// 29 | internal Document Document { get; private set; } 30 | 31 | /// 32 | /// Gets the raw code items. 33 | /// 34 | internal SetCodeItems RawCodeItems { get; private set; } 35 | 36 | /// 37 | /// Gets the sort order. 38 | /// 39 | internal CodeSortOrder SortOrder { get; private set; } 40 | 41 | /// 42 | /// Gets the name filter. 43 | /// 44 | internal string NameFilter { get; private set; } 45 | } 46 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/CodeItemUsingStatement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 4 | { 5 | /// 6 | /// The representation of a code using statemen. 7 | /// 8 | public class CodeItemUsingStatement : BaseCodeItemElement 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public CodeItemUsingStatement() 16 | { 17 | _TypeString = new Lazy( 18 | () => "using"); 19 | } 20 | 21 | #endregion Constructors 22 | 23 | #region BaseCodeItem Overrides 24 | 25 | /// 26 | /// Gets the kind. 27 | /// 28 | public override KindCodeItem Kind => KindCodeItem.Using; 29 | 30 | /// 31 | /// Refreshes the cached position and name fields on this item. 32 | /// 33 | /// 34 | /// Similar to BaseCodeItemElement's implementation, except ignores the Name property which 35 | /// is not available for using statements. 36 | /// 37 | public override void RefreshCachedPositionAndName() 38 | { 39 | var startPoint = CodeElement.GetStartPoint(); 40 | var endPoint = CodeElement.GetEndPoint(); 41 | 42 | StartLine = startPoint.Line; 43 | StartOffset = startPoint.AbsoluteCharOffset; 44 | EndLine = endPoint.Line; 45 | EndOffset = endPoint.AbsoluteCharOffset; 46 | } 47 | 48 | #endregion BaseCodeItem Overrides 49 | } 50 | } -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/CodeItemClass.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using EnvDTE80; 3 | using System; 4 | 5 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 6 | { 7 | /// 8 | /// The representation of a code class. 9 | /// 10 | public class CodeItemClass : BaseCodeItemElementParent 11 | { 12 | #region Constructors 13 | 14 | /// 15 | /// Initializes a new instance of the class. 16 | /// 17 | public CodeItemClass() 18 | { 19 | _Access = LazyTryDefault( 20 | () => CodeClass?.Access ?? vsCMAccess.vsCMAccessPublic); 21 | 22 | _Attributes = LazyTryDefault( 23 | () => CodeClass?.Attributes); 24 | 25 | _DocComment = LazyTryDefault( 26 | () => CodeClass?.DocComment); 27 | 28 | _IsStatic = LazyTryDefault( 29 | () => CodeClass != null && CodeClass.IsShared); 30 | 31 | _Namespace = LazyTryDefault( 32 | () => CodeClass?.Namespace?.Name); 33 | 34 | _TypeString = new Lazy( 35 | () => "class"); 36 | } 37 | 38 | #endregion Constructors 39 | 40 | #region BaseCodeItem Overrides 41 | 42 | /// 43 | /// Gets the kind. 44 | /// 45 | public override KindCodeItem Kind => KindCodeItem.Class; 46 | 47 | #endregion BaseCodeItem Overrides 48 | 49 | #region Properties 50 | 51 | /// 52 | /// Gets or sets the underlying VSX CodeClass. 53 | /// 54 | public CodeClass2 CodeClass { get; set; } 55 | 56 | #endregion Properties 57 | } 58 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/OptionsCommand.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.UI.Dialogs.Options; 2 | using System.Threading.Tasks; 3 | 4 | namespace SteveCadwallader.CodeMaid.Integration.Commands 5 | { 6 | /// 7 | /// A command that provides for launching the CodeMaid Options to the general cleanup page. 8 | /// 9 | internal sealed class OptionsCommand : BaseCommand 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The hosting package. 15 | internal OptionsCommand(CodeMaidPackage package) 16 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidOptions) 17 | { 18 | } 19 | 20 | /// 21 | /// A singleton instance of this command. 22 | /// 23 | public static OptionsCommand Instance { get; private set; } 24 | 25 | /// 26 | /// Initializes a singleton instance of this command. 27 | /// 28 | /// The hosting package. 29 | /// A task. 30 | public static async Task InitializeAsync(CodeMaidPackage package) 31 | { 32 | Instance = new OptionsCommand(package); 33 | await Instance.SwitchAsync(on: true); 34 | } 35 | 36 | /// 37 | /// Called to execute the command. 38 | /// 39 | protected override void OnExecute() 40 | { 41 | base.OnExecute(); 42 | 43 | new OptionsWindow { DataContext = new OptionsViewModel(Package) }.ShowModal(); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/SpadeRefreshCommand.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace SteveCadwallader.CodeMaid.Integration.Commands 4 | { 5 | /// 6 | /// A command that provides for refreshing the Spade tool window. 7 | /// 8 | internal sealed class SpadeRefreshCommand : BaseCommand 9 | { 10 | /// 11 | /// Initializes a new instance of the class. 12 | /// 13 | /// The hosting package. 14 | internal SpadeRefreshCommand(CodeMaidPackage package) 15 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidSpadeRefresh) 16 | { 17 | } 18 | 19 | /// 20 | /// A singleton instance of this command. 21 | /// 22 | public static SpadeRefreshCommand Instance { get; private set; } 23 | 24 | /// 25 | /// Initializes a singleton instance of this command. 26 | /// 27 | /// The hosting package. 28 | /// A task. 29 | public static async Task InitializeAsync(CodeMaidPackage package) 30 | { 31 | Instance = new SpadeRefreshCommand(package); 32 | await Instance.SwitchAsync(on: true); 33 | } 34 | 35 | /// 36 | /// Called to execute the command. 37 | /// 38 | protected override void OnExecute() 39 | { 40 | base.OnExecute(); 41 | 42 | var spade = Package.Spade; 43 | if (spade != null) 44 | { 45 | spade.Refresh(); 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Reorganizing/ReorganizingRegionsDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/SpadeSearchCommand.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace SteveCadwallader.CodeMaid.Integration.Commands 4 | { 5 | /// 6 | /// A command that provides for setting focus on the search bar in the Spade tool window. 7 | /// 8 | internal sealed class SpadeSearchCommand : BaseCommand 9 | { 10 | /// 11 | /// Initializes a new instance of the class. 12 | /// 13 | /// The hosting package. 14 | internal SpadeSearchCommand(CodeMaidPackage package) 15 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidSpadeSearch) 16 | { 17 | } 18 | 19 | /// 20 | /// A singleton instance of this command. 21 | /// 22 | public static SpadeSearchCommand Instance { get; private set; } 23 | 24 | /// 25 | /// Initializes a singleton instance of this command. 26 | /// 27 | /// The hosting package. 28 | /// A task. 29 | public static async Task InitializeAsync(CodeMaidPackage package) 30 | { 31 | Instance = new SpadeSearchCommand(package); 32 | await Instance.SwitchAsync(on: true); 33 | } 34 | 35 | /// 36 | /// Called to execute the command. 37 | /// 38 | protected override void OnExecute() 39 | { 40 | base.OnExecute(); 41 | 42 | var spade = Package.Spade; 43 | if (spade != null) 44 | { 45 | spade.SearchHost.Activate(); 46 | } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /CodeMaid.VS2022/source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CodeMaid VS2022 6 | CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding. 7 | http://www.codemaid.net/ 8 | LICENSE.txt 9 | CodeMaid.png 10 | CodeMaid_Large.png 11 | build, code, c#, beautify, cleanup, cleaning, digging, reorganizing, formatting 12 | 13 | 14 | 15 | amd64 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Switching/SwitchingViewModel.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | 3 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options.Switching 4 | { 5 | /// 6 | /// The view model for switching options. 7 | /// 8 | public class SwitchingViewModel : OptionsPageViewModel 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | /// The active settings. 17 | public SwitchingViewModel(CodeMaidPackage package, Settings activeSettings) 18 | : base(package, activeSettings) 19 | { 20 | Mappings = new SettingsToOptionsList(ActiveSettings, this) 21 | { 22 | new SettingToOptionMapping(x => ActiveSettings.Switching_RelatedFileExtensionsExpression, x => RelatedFileExtensionsExpression) 23 | }; 24 | } 25 | 26 | #endregion Constructors 27 | 28 | #region Overrides of OptionsPageViewModel 29 | 30 | /// 31 | /// Gets the header. 32 | /// 33 | public override string Header => Resources.SwitchingViewModel_Switching; 34 | 35 | #endregion Overrides of OptionsPageViewModel 36 | 37 | #region Options 38 | 39 | /// 40 | /// Gets or sets the expression for related file extensions. 41 | /// 42 | public string RelatedFileExtensionsExpression 43 | { 44 | get { return GetPropertyValue(); } 45 | set { SetPropertyValue(value); } 46 | } 47 | 48 | #endregion Options 49 | } 50 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/SpadeOptionsCommand.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.UI.Dialogs.Options; 2 | using SteveCadwallader.CodeMaid.UI.Dialogs.Options.Digging; 3 | using System.Threading.Tasks; 4 | 5 | namespace SteveCadwallader.CodeMaid.Integration.Commands 6 | { 7 | /// 8 | /// A command that provides for launching the CodeMaid Options to the Spade page. 9 | /// 10 | internal sealed class SpadeOptionsCommand : BaseCommand 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | internal SpadeOptionsCommand(CodeMaidPackage package) 17 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidSpadeOptions) 18 | { 19 | } 20 | 21 | /// 22 | /// A singleton instance of this command. 23 | /// 24 | public static SpadeOptionsCommand Instance { get; private set; } 25 | 26 | /// 27 | /// Initializes a singleton instance of this command. 28 | /// 29 | /// The hosting package. 30 | /// A task. 31 | public static async Task InitializeAsync(CodeMaidPackage package) 32 | { 33 | Instance = new SpadeOptionsCommand(package); 34 | await Instance.SwitchAsync(on: true); 35 | } 36 | 37 | /// 38 | /// Called to execute the command. 39 | /// 40 | protected override void OnExecute() 41 | { 42 | base.OnExecute(); 43 | 44 | new OptionsWindow { DataContext = new OptionsViewModel(Package, typeof(DiggingViewModel)) }.ShowModal(); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/ThirdParty/ThirdPartyDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Cleaning/CleaningVisualStudioDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 12 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /CodeMaidShared/Model/CodeItems/ICodeItem.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.CodeItems 4 | { 5 | /// 6 | /// An interface for code items. 7 | /// 8 | public interface ICodeItem 9 | { 10 | #region Properties 11 | 12 | /// 13 | /// Gets the kind. 14 | /// 15 | KindCodeItem Kind { get; } 16 | 17 | /// 18 | /// Gets or sets the name, may be empty. 19 | /// 20 | string Name { get; set; } 21 | 22 | /// 23 | /// Gets or sets the start line. 24 | /// 25 | int StartLine { get; set; } 26 | 27 | /// 28 | /// Gets or sets the start offset. 29 | /// 30 | int StartOffset { get; set; } 31 | 32 | /// 33 | /// Gets or sets the start point, may be null. 34 | /// 35 | EditPoint StartPoint { get; set; } 36 | 37 | /// 38 | /// Gets or sets the end line. 39 | /// 40 | int EndLine { get; set; } 41 | 42 | /// 43 | /// Gets or sets the end offset. 44 | /// 45 | int EndOffset { get; set; } 46 | 47 | /// 48 | /// Gets or sets the end point, may be null. 49 | /// 50 | EditPoint EndPoint { get; set; } 51 | 52 | #endregion Properties 53 | 54 | #region Methods 55 | 56 | /// 57 | /// Loads all lazy initialized values immediately. 58 | /// 59 | void LoadLazyInitializedValues(); 60 | 61 | /// 62 | /// Refreshes the cached position and name fields on this item. 63 | /// 64 | void RefreshCachedPositionAndName(); 65 | 66 | #endregion Methods 67 | } 68 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Converters/BooleanInverseConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows.Data; 4 | 5 | namespace SteveCadwallader.CodeMaid.UI.Converters 6 | { 7 | /// 8 | /// A simple converter for inverting a boolean. 9 | /// 10 | public class BooleanInverseConverter : IValueConverter 11 | { 12 | /// 13 | /// A default instance of . 14 | /// 15 | public static BooleanInverseConverter Default = new BooleanInverseConverter(); 16 | 17 | /// 18 | /// Converts a value. 19 | /// 20 | /// The value produced by the binding source. 21 | /// The type of the binding target property. 22 | /// The converter parameter to use. 23 | /// The culture to use in the converter. 24 | /// A converted value. If the method returns null, the valid null value is used. 25 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 26 | { 27 | return !((bool)value); 28 | } 29 | 30 | /// 31 | /// Converts a value. 32 | /// 33 | /// The value that is produced by the binding target. 34 | /// The type to convert to. 35 | /// The converter parameter to use. 36 | /// The culture to use in the converter. 37 | /// A converted value. If the method returns null, the valid null value is used. 38 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 39 | { 40 | return !((bool)value); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Converters/EnumToBooleanConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows.Data; 4 | 5 | namespace SteveCadwallader.CodeMaid.UI.Converters 6 | { 7 | /// 8 | /// A converter for turning enumeration values into booleans. 9 | /// 10 | public class EnumToBooleanConverter : IValueConverter 11 | { 12 | /// 13 | /// A default instance of the . 14 | /// 15 | public static EnumToBooleanConverter Default = new EnumToBooleanConverter(); 16 | 17 | /// 18 | /// Converts a value. 19 | /// 20 | /// The value produced by the binding source. 21 | /// The type of the binding target property. 22 | /// The converter parameter to use. 23 | /// The culture to use in the converter. 24 | /// A converted value. If the method returns null, the valid null value is used. 25 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 26 | { 27 | return value.Equals(parameter); 28 | } 29 | 30 | /// 31 | /// Converts a value. 32 | /// 33 | /// The value that is produced by the binding target. 34 | /// The type to convert to. 35 | /// The converter parameter to use. 36 | /// The culture to use in the converter. 37 | /// A converted value. If the method returns null, the valid null value is used. 38 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 39 | { 40 | return value.Equals(true) ? parameter : Binding.DoNothing; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Converters/TypeStringConverter.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Helpers; 2 | using System; 3 | using System.Globalization; 4 | using System.Windows.Data; 5 | 6 | namespace SteveCadwallader.CodeMaid.UI.Converters 7 | { 8 | /// 9 | /// Converts a type string into a simpler value using the . 10 | /// 11 | public class TypeStringConverter : IValueConverter 12 | { 13 | /// 14 | /// A default instance of the . 15 | /// 16 | public static TypeStringConverter Default = new TypeStringConverter(); 17 | 18 | /// 19 | /// Converts a value. 20 | /// 21 | /// The value produced by the binding source. 22 | /// The type of the binding target property. 23 | /// The converter parameter to use. 24 | /// The culture to use in the converter. 25 | /// A converted value. If the method returns null, the valid null value is used. 26 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 27 | { 28 | return TypeFormatHelper.Format(value as string); 29 | } 30 | 31 | /// 32 | /// Converts a value. 33 | /// 34 | /// The value that is produced by the binding target. 35 | /// The type to convert to. 36 | /// The converter parameter to use. 37 | /// The culture to use in the converter. 38 | /// A converted value. If the method returns null, the valid null value is used. 39 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 40 | { 41 | throw new NotImplementedException(); 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/SettingsToOptionsList.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | using System.Collections.Generic; 3 | 4 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options 5 | { 6 | /// 7 | /// A specialized list class holding settings to options mappings. 8 | /// 9 | public class SettingsToOptionsList : List 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The active settings. 15 | /// The options page view model. 16 | public SettingsToOptionsList(Settings activeSettings, OptionsPageViewModel optionsPageViewModel) 17 | { 18 | ActiveSettings = activeSettings; 19 | OptionsPageViewModel = optionsPageViewModel; 20 | } 21 | 22 | /// 23 | /// Gets the active settings. 24 | /// 25 | public Settings ActiveSettings { get; private set; } 26 | 27 | /// 28 | /// Gets or sets the that owns this list. 29 | /// 30 | public OptionsPageViewModel OptionsPageViewModel { get; set; } 31 | 32 | /// 33 | /// Iterates across all mappings, copying the setting values onto the options. 34 | /// 35 | public void CopySettingsToOptions() 36 | { 37 | foreach (var mapping in this) 38 | { 39 | mapping.CopySettingToOption(ActiveSettings, OptionsPageViewModel); 40 | } 41 | } 42 | 43 | /// 44 | /// Iterates across all mappings, copying the option values onto the settings. 45 | /// 46 | public void CopyOptionsToSettings() 47 | { 48 | foreach (var mapping in this) 49 | { 50 | mapping.CopyOptionToSetting(ActiveSettings, OptionsPageViewModel); 51 | } 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /CodeMaidShared/Logic/Reorganizing/RegionComparerByName.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Model.CodeItems; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace SteveCadwallader.CodeMaid.Logic.Reorganizing 6 | { 7 | /// 8 | /// An implementation of for handling region comparison by name. 9 | /// 10 | public class RegionComparerByName : IEqualityComparer 11 | { 12 | /// 13 | /// Determines whether the specified objects are equal. 14 | /// 15 | /// The first object of type to compare. 16 | /// The second object of type to compare. 17 | /// True if the specified objects are equal; otherwise, false. 18 | public bool Equals(CodeItemRegion x, CodeItemRegion y) 19 | { 20 | if (x == null && y == null) return true; 21 | if (x == null || y == null) return false; 22 | 23 | if (x.Name == null && y.Name == null) return true; 24 | if (x.Name == null || y.Name == null) return false; 25 | 26 | return x.Name.Equals(y.Name); 27 | } 28 | 29 | /// 30 | /// Returns a hash code for the specified object. 31 | /// 32 | /// 33 | /// The for which a hash code is to be returned. 34 | /// 35 | /// 36 | /// The type of is a reference type and is null. 38 | /// 39 | /// A hash code for the specified object. 40 | public int GetHashCode(CodeItemRegion region) 41 | { 42 | if (region == null) 43 | { 44 | throw new ArgumentNullException(nameof(region)); 45 | } 46 | 47 | return region.Name?.GetHashCode() ?? 0; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Converters/EnumDescriptionConverter.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Helpers; 2 | using System; 3 | using System.Globalization; 4 | using System.Windows.Data; 5 | 6 | namespace SteveCadwallader.CodeMaid.UI.Converters 7 | { 8 | /// 9 | /// A converter that retrieves the description attribute from a specified enumeration value. 10 | /// 11 | public class EnumDescriptionConverter : IValueConverter 12 | { 13 | /// 14 | /// A default instance of the . 15 | /// 16 | public static EnumDescriptionConverter Default = new EnumDescriptionConverter(); 17 | 18 | /// 19 | /// Converts a value. 20 | /// 21 | /// The value produced by the binding source. 22 | /// The type of the binding target property. 23 | /// The converter parameter to use. 24 | /// The culture to use in the converter. 25 | /// A converted value. If the method returns null, the valid null value is used. 26 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 27 | { 28 | var enumValue = value as Enum; 29 | 30 | return enumValue?.GetDescription(); 31 | } 32 | 33 | /// 34 | /// Converts a value. 35 | /// 36 | /// The value that is produced by the binding target. 37 | /// The type to convert to. 38 | /// The converter parameter to use. 39 | /// The culture to use in the converter. 40 | /// A converted value. If the method returns null, the valid null value is used. 41 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 42 | { 43 | throw new NotImplementedException(); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/ToolWindows/Spade/CodeItemBaseTemplates.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /CodeMaidShared/Model/Comments/Options/XmlTagOptions.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | 3 | namespace SteveCadwallader.CodeMaid.Model.Comments.Options 4 | { 5 | public class XmlTagOptions : IXmlTagOptions 6 | { 7 | public XmlTagOptions() 8 | { 9 | } 10 | 11 | public XmlTagOptions(FormatterOptionsXmlTag tag, IXmlTagOptions fallback) 12 | { 13 | Case = tag.Case != XmlTagCase.Default ? tag.Case : fallback.Case != XmlTagCase.Default ? fallback.Case : XmlTagCase.Keep; 14 | Indent = tag.Indent ?? fallback.Indent; 15 | KeepTogether = tag.KeepTogether ?? fallback.KeepTogether; 16 | Literal = tag.Literal ?? false; 17 | SpaceContent = tag.SpaceContent ?? fallback.SpaceContent; 18 | SpaceSelfClosing = tag.SpaceSelfClosing ?? fallback.SpaceSelfClosing; 19 | Split = tag.Split != XmlTagNewLine.Default ? tag.Split : fallback.Split != XmlTagNewLine.Default ? fallback.Split : XmlTagNewLine.Content; 20 | } 21 | 22 | public XmlTagCase Case { get; set; } 23 | 24 | public int Indent { get; set; } 25 | 26 | public bool KeepTogether { get; set; } 27 | 28 | public bool Literal { get; set; } 29 | 30 | public bool SpaceContent { get; set; } 31 | 32 | public bool SpaceSelfClosing { get; set; } 33 | 34 | public XmlTagNewLine Split { get; set; } 35 | 36 | internal static XmlTagOptions FromSettings(Settings settings) 37 | { 38 | return new XmlTagOptions 39 | { 40 | Case = settings.Formatting_CommentXmlTagsToLowerCase ? XmlTagCase.LowerCase : XmlTagCase.Keep, 41 | Indent = settings.Formatting_CommentXmlValueIndent, 42 | KeepTogether = settings.Formatting_CommentXmlKeepTagsTogether, 43 | Literal = false, 44 | SpaceContent = settings.Formatting_CommentXmlSpaceTags, 45 | SpaceSelfClosing = settings.Formatting_CommentXmlSpaceSingleTags, 46 | Split = settings.Formatting_CommentXmlSplitAllTags ? XmlTagNewLine.Always : XmlTagNewLine.Content 47 | }; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Cleaning/CleaningGeneralDataTemplate.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/SpadeSortOrderFileCommand.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Model.CodeTree; 2 | using System.Threading.Tasks; 3 | 4 | namespace SteveCadwallader.CodeMaid.Integration.Commands 5 | { 6 | /// 7 | /// A command that provides for setting Spade to file sort order. 8 | /// 9 | internal sealed class SpadeSortOrderFileCommand : BaseCommand 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The hosting package. 15 | internal SpadeSortOrderFileCommand(CodeMaidPackage package) 16 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidSpadeSortOrderFile) 17 | { 18 | } 19 | 20 | /// 21 | /// A singleton instance of this command. 22 | /// 23 | public static SpadeSortOrderFileCommand Instance { get; private set; } 24 | 25 | /// 26 | /// Initializes a singleton instance of this command. 27 | /// 28 | /// The hosting package. 29 | /// A task. 30 | public static async Task InitializeAsync(CodeMaidPackage package) 31 | { 32 | Instance = new SpadeSortOrderFileCommand(package); 33 | await Instance.SwitchAsync(on: true); 34 | } 35 | 36 | /// 37 | /// Called to update the current status of the command. 38 | /// 39 | protected override void OnBeforeQueryStatus() 40 | { 41 | var spade = Package.Spade; 42 | if (spade != null) 43 | { 44 | Checked = spade.SortOrder == CodeSortOrder.File; 45 | } 46 | } 47 | 48 | /// 49 | /// Called to execute the command. 50 | /// 51 | protected override void OnExecute() 52 | { 53 | base.OnExecute(); 54 | 55 | var spade = Package.Spade; 56 | if (spade != null) 57 | { 58 | spade.SortOrder = CodeSortOrder.File; 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/SpadeSortOrderTypeCommand.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Model.CodeTree; 2 | using System.Threading.Tasks; 3 | 4 | namespace SteveCadwallader.CodeMaid.Integration.Commands 5 | { 6 | /// 7 | /// A command that provides for setting Spade to type sort order. 8 | /// 9 | internal sealed class SpadeSortOrderTypeCommand : BaseCommand 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The hosting package. 15 | internal SpadeSortOrderTypeCommand(CodeMaidPackage package) 16 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidSpadeSortOrderType) 17 | { 18 | } 19 | 20 | /// 21 | /// A singleton instance of this command. 22 | /// 23 | public static SpadeSortOrderTypeCommand Instance { get; private set; } 24 | 25 | /// 26 | /// Initializes a singleton instance of this command. 27 | /// 28 | /// The hosting package. 29 | /// A task. 30 | public static async Task InitializeAsync(CodeMaidPackage package) 31 | { 32 | Instance = new SpadeSortOrderTypeCommand(package); 33 | await Instance.SwitchAsync(on: true); 34 | } 35 | 36 | /// 37 | /// Called to update the current status of the command. 38 | /// 39 | protected override void OnBeforeQueryStatus() 40 | { 41 | var spade = Package.Spade; 42 | if (spade != null) 43 | { 44 | Checked = spade.SortOrder == CodeSortOrder.Type; 45 | } 46 | } 47 | 48 | /// 49 | /// Called to execute the command. 50 | /// 51 | protected override void OnExecute() 52 | { 53 | base.OnExecute(); 54 | 55 | var spade = Package.Spade; 56 | if (spade != null) 57 | { 58 | spade.SortOrder = CodeSortOrder.Type; 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/SpadeSortOrderAlphaCommand.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Model.CodeTree; 2 | using System.Threading.Tasks; 3 | 4 | namespace SteveCadwallader.CodeMaid.Integration.Commands 5 | { 6 | /// 7 | /// A command that provides for setting Spade to alphabetical sort order. 8 | /// 9 | internal sealed class SpadeSortOrderAlphaCommand : BaseCommand 10 | { 11 | /// 12 | /// Initializes a new instance of the class. 13 | /// 14 | /// The hosting package. 15 | internal SpadeSortOrderAlphaCommand(CodeMaidPackage package) 16 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidSpadeSortOrderAlpha) 17 | { 18 | } 19 | 20 | /// 21 | /// A singleton instance of this command. 22 | /// 23 | public static SpadeSortOrderAlphaCommand Instance { get; private set; } 24 | 25 | /// 26 | /// Initializes a singleton instance of this command. 27 | /// 28 | /// The hosting package. 29 | /// A task. 30 | public static async Task InitializeAsync(CodeMaidPackage package) 31 | { 32 | Instance = new SpadeSortOrderAlphaCommand(package); 33 | await Instance.SwitchAsync(on: true); 34 | } 35 | 36 | /// 37 | /// Called to update the current status of the command. 38 | /// 39 | protected override void OnBeforeQueryStatus() 40 | { 41 | var spade = Package.Spade; 42 | if (spade != null) 43 | { 44 | Checked = spade.SortOrder == CodeSortOrder.Alpha; 45 | } 46 | } 47 | 48 | /// 49 | /// Called to execute the command. 50 | /// 51 | protected override void OnExecute() 52 | { 53 | base.OnExecute(); 54 | 55 | var spade = Package.Spade; 56 | if (spade != null) 57 | { 58 | spade.SortOrder = CodeSortOrder.Alpha; 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Events/BaseEventListener.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace SteveCadwallader.CodeMaid.Integration.Events 4 | { 5 | /// 6 | /// The base implementation of an event listener. 7 | /// 8 | internal abstract class BaseEventListener : ISwitchableFeature 9 | { 10 | /// 11 | /// Initializes a new instance of the class. 12 | /// 13 | /// The package hosting the event listener. 14 | protected BaseEventListener(CodeMaidPackage package) 15 | { 16 | Package = package; 17 | } 18 | 19 | /// 20 | /// Gets or sets a value indicating whether listeners are registered. 21 | /// 22 | protected bool IsListening { get; set; } 23 | 24 | /// 25 | /// Gets the hosting package. 26 | /// 27 | protected CodeMaidPackage Package { get; private set; } 28 | 29 | #pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously 30 | 31 | /// 32 | /// Switches the event listener on or off, registering/unregistering from events from the IDE. 33 | /// 34 | /// True if switching the event listener on, otherwise false. 35 | /// A task. 36 | public async Task SwitchAsync(bool on) 37 | #pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously 38 | { 39 | if (on && !IsListening) 40 | { 41 | IsListening = true; 42 | RegisterListeners(); 43 | } 44 | else if (IsListening && !on) 45 | { 46 | IsListening = false; 47 | UnRegisterListeners(); 48 | } 49 | } 50 | 51 | /// 52 | /// Registers event handlers with the IDE. 53 | /// 54 | protected abstract void RegisterListeners(); 55 | 56 | /// 57 | /// Unregisters event handlers with the IDE. 58 | /// 59 | protected abstract void UnRegisterListeners(); 60 | } 61 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Finding/FindingViewModel.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | 3 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options.Finding 4 | { 5 | /// 6 | /// The view model for finding options. 7 | /// 8 | public class FindingViewModel : OptionsPageViewModel 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | /// The active settings. 17 | public FindingViewModel(CodeMaidPackage package, Settings activeSettings) 18 | : base(package, activeSettings) 19 | { 20 | Mappings = new SettingsToOptionsList(ActiveSettings, this) 21 | { 22 | new SettingToOptionMapping(x => ActiveSettings.Finding_ClearSolutionExplorerSearch, x => ClearSolutionExplorerSearch), 23 | new SettingToOptionMapping(x => ActiveSettings.Finding_TemporarilyOpenSolutionFolders, x => TemporarilyOpenSolutionFolders) 24 | }; 25 | } 26 | 27 | #endregion Constructors 28 | 29 | #region Overrides of OptionsPageViewModel 30 | 31 | /// 32 | /// Gets the header. 33 | /// 34 | public override string Header => Resources.FindingViewModel_Finding; 35 | 36 | #endregion Overrides of OptionsPageViewModel 37 | 38 | #region Options 39 | 40 | /// 41 | /// Gets or sets a flag indicating if Solution Explorer search should be cleared. 42 | /// 43 | public bool ClearSolutionExplorerSearch 44 | { 45 | get { return GetPropertyValue(); } 46 | set { SetPropertyValue(value); } 47 | } 48 | 49 | /// 50 | /// Gets or sets a flag indicating if solution folders should be temporarily opened. 51 | /// 52 | public bool TemporarilyOpenSolutionFolders 53 | { 54 | get { return GetPropertyValue(); } 55 | set { SetPropertyValue(value); } 56 | } 57 | 58 | #endregion Options 59 | } 60 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/Dialogs/Options/Collapsing/CollapsingViewModel.cs: -------------------------------------------------------------------------------- 1 | using SteveCadwallader.CodeMaid.Properties; 2 | 3 | namespace SteveCadwallader.CodeMaid.UI.Dialogs.Options.Collapsing 4 | { 5 | /// 6 | /// The view model for collapsing options. 7 | /// 8 | public class CollapsingViewModel : OptionsPageViewModel 9 | { 10 | #region Constructors 11 | 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | /// The active settings. 17 | public CollapsingViewModel(CodeMaidPackage package, Settings activeSettings) 18 | : base(package, activeSettings) 19 | { 20 | Mappings = new SettingsToOptionsList(ActiveSettings, this) 21 | { 22 | new SettingToOptionMapping(x => ActiveSettings.Collapsing_CollapseSolutionWhenOpened, x => CollapseSolutionWhenOpened), 23 | new SettingToOptionMapping(x => ActiveSettings.Collapsing_KeepSoloProjectExpanded, x => KeepSoloProjectExpanded) 24 | }; 25 | } 26 | 27 | #endregion Constructors 28 | 29 | #region Overrides of OptionsPageViewModel 30 | 31 | /// 32 | /// Gets the header. 33 | /// 34 | public override string Header => Resources.CollapsingViewModel_Collapsing; 35 | 36 | #endregion Overrides of OptionsPageViewModel 37 | 38 | #region Options 39 | 40 | /// 41 | /// Gets or sets a flag indicating if the solution should be collapsed when it is opened. 42 | /// 43 | public bool CollapseSolutionWhenOpened 44 | { 45 | get { return GetPropertyValue(); } 46 | set { SetPropertyValue(value); } 47 | } 48 | 49 | /// 50 | /// Gets or sets a flag indicating if a solo project should be kept expanded. 51 | /// 52 | public bool KeepSoloProjectExpanded 53 | { 54 | get { return GetPropertyValue(); } 55 | set { SetPropertyValue(value); } 56 | } 57 | 58 | #endregion Options 59 | } 60 | } -------------------------------------------------------------------------------- /CodeMaidShared/Integration/Commands/CloseAllReadOnlyCommand.cs: -------------------------------------------------------------------------------- 1 | using EnvDTE; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | 5 | namespace SteveCadwallader.CodeMaid.Integration.Commands 6 | { 7 | /// 8 | /// A command that provides for closing all read-only files. 9 | /// 10 | internal sealed class CloseAllReadOnlyCommand : BaseCommand 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | /// The hosting package. 16 | internal CloseAllReadOnlyCommand(CodeMaidPackage package) 17 | : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidCloseAllReadOnly) 18 | { 19 | } 20 | 21 | /// 22 | /// A singleton instance of this command. 23 | /// 24 | public static CloseAllReadOnlyCommand Instance { get; private set; } 25 | 26 | /// 27 | /// Initializes a singleton instance of this command. 28 | /// 29 | /// The hosting package. 30 | /// A task. 31 | public static async Task InitializeAsync(CodeMaidPackage package) 32 | { 33 | Instance = new CloseAllReadOnlyCommand(package); 34 | await package.SettingsMonitor.WatchAsync(s => s.Feature_CloseAllReadOnly, Instance.SwitchAsync); 35 | } 36 | 37 | /// 38 | /// Called to update the current status of the command. 39 | /// 40 | protected override void OnBeforeQueryStatus() 41 | { 42 | Enabled = Package.IDE.Documents.Cast().Any(x => x.ReadOnly && x.Saved); 43 | } 44 | 45 | /// 46 | /// Called to execute the command. 47 | /// 48 | protected override void OnExecute() 49 | { 50 | base.OnExecute(); 51 | 52 | var docs = Package.IDE.Documents; 53 | 54 | foreach (Document doc in docs) 55 | { 56 | if (doc.ReadOnly && doc.Saved) 57 | { 58 | doc.Close(vsSaveChanges.vsSaveChangesNo); 59 | } 60 | } 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /CodeMaidShared/UI/ToolWindows/BuildProgress/BuildProgressView.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 31 | 32 | 33 | 34 | 37 | 38 |