Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: wmjordan/Codist
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.4
Choose a base ref
...
head repository: wmjordan/Codist
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 47,611 additions and 17,523 deletions.
  1. +11 −4 Codist.sln
  2. BIN Codist/AppHelpers.Ext.dll
  3. +11 −19 Codist/AutoBuildVersion/BuildConfigSetting.cs
  4. +15 −3 Codist/AutoBuildVersion/BuildSetting.cs
  5. +53 −57 Codist/AutoBuildVersion/{BuildEvents.cs → SolutionDocumentEvents.cs}
  6. +199 −64 Codist/Codist.csproj
  7. +48 −78 Codist/CodistPackage.cs
  8. +38 −15 Codist/Commands/AutoBuildVersionWindow.cs
  9. +4 −11 Codist/Commands/AutoBuildVersionWindowCommand.cs
  10. +173 −0 Codist/Commands/AutoSurroundSelectionCommand.cs
  11. +50 −0 Codist/Commands/CancelRepeatingActionCommand.cs
  12. +91 −3 Codist/Commands/CodistPackage.en-US.vsct
  13. +8 −3 Codist/Commands/CodistPackage.vsct
  14. +92 −4 Codist/Commands/CodistPackage.zh-Hans.vsct
  15. +28 −11 Codist/Commands/CommandRegistry.cs
  16. +0 −65 Codist/Commands/GetContentTypeCommand.cs
  17. +18 −17 Codist/Commands/IncrementVsixVersionCommand.cs
  18. +2 −1 Codist/Commands/NaviBarSearchDeclarationCommand.cs
  19. +108 −0 Codist/Commands/OpenOutputFolderCommand.cs
  20. +3 −2 Codist/Commands/ScreenshotCommand.cs
  21. +70 −0 Codist/Commands/SemanticContextCommand.cs
  22. +62 −0 Codist/Commands/ShowSupportedFileTypesCommand.cs
  23. +1 −1 Codist/Commands/SymbolFinderWindowCommand.cs
  24. +6 −35 Codist/Commands/SyntaxCustomizerWindowCommand.cs
  25. +4 −3 Codist/Commands/ToggleAutoBuildVersionCommand.cs
  26. +36 −0 Codist/Commands/TransformDocumentCommand.cs
  27. +393 −0 Codist/Commands/TransformDocumentWindow.cs
  28. +647 −0 Codist/Commands/WindowInformerCommand.cs
  29. +195 −116 Codist/Config.cs
  30. +75 −564 Codist/Constants.cs
  31. +481 −132 Codist/Controls/CSharpSymbolContextMenu.cs
  32. +485 −0 Codist/Controls/ColorComponents.cs
  33. +29 −0 Codist/Controls/ColorSelector.xaml
  34. +227 −0 Codist/Controls/ColorSelector.xaml.cs
  35. +64 −0 Codist/Controls/CommandToolTip.cs
  36. +222 −0 Codist/Controls/ExtIconProvider.cs
  37. +68 −0 Codist/Controls/ExtensionProperties.cs
  38. +0 −34 Codist/Controls/ExternalCommand.cs
  39. +6 −9 Codist/Controls/IntegerBox.xaml
  40. +48 −64 Codist/Controls/IntegerBox.xaml.cs
  41. +25 −16 Codist/Controls/KeystrokeThief.cs
  42. +0 −223 Codist/Controls/LayoutOverrider.cs
  43. +93 −0 Codist/Controls/MenuItemFilter.cs
  44. +240 −0 Codist/Controls/MessageWindow.cs
  45. +0 −2 Codist/Controls/NavigationBar.xaml
  46. +2 −7 Codist/Controls/NumericUpDown.cs
  47. +13 −0 Codist/Controls/OverlayElementRemovedEventArgs.cs
  48. +6 −5 Codist/Controls/QuickInfoTextBox.cs
  49. +74 −0 Codist/Controls/SearchScopeBox.cs
  50. +556 −0 Codist/Controls/SliderResources.xaml
  51. +57 −0 Codist/Controls/SquiggleBrushCache.cs
  52. +5 −9 Codist/Controls/StateButton.cs
  53. +206 −90 Codist/Controls/SymbolCommands.cs
  54. +826 −0 Codist/Controls/SymbolFilterBox.cs
  55. +9 −983 Codist/Controls/SymbolFilters.cs
  56. +89 −44 Codist/Controls/SymbolItem.cs
  57. +15 −0 Codist/Controls/SymbolItemTemplateSelector.cs
  58. +282 −439 Codist/Controls/SymbolList.cs
  59. +6 −0 Codist/Controls/SymbolList.xaml
  60. +35 −0 Codist/Controls/SymbolListType.cs
  61. +57 −22 Codist/Controls/SymbolMenu.cs
  62. +192 −0 Codist/Controls/TextEditorWrapper.cs
  63. +100 −51 Codist/Controls/{ExternalAdornment.cs → TextViewOverlay.cs}
  64. +91 −19 Codist/Controls/ThemedButton.cs
  65. +13 −0 Codist/Controls/ThemedHyperlink.cs
  66. +3 −3 Codist/Controls/ThemedMenuItem.cs
  67. +18 −0 Codist/Controls/ThemedMenuText.cs
  68. +23 −0 Codist/Controls/ThemedRichTextBox.cs
  69. +0 −299 Codist/Controls/ThemedText.cs
  70. +0 −5 Codist/Controls/ThemedTextBox.cs
  71. +67 −0 Codist/Controls/ThemedTipDocument.cs
  72. +19 −0 Codist/Controls/ThemedTipParagraph.cs
  73. +23 −0 Codist/Controls/ThemedTipText.cs
  74. +15 −0 Codist/Controls/ThemedToolBarText.cs
  75. +12 −10 Codist/Controls/ThemedToolTip.cs
  76. +0 −31 Codist/Controls/TitleLabel.cs
  77. +0 −286 Codist/Controls/ToolTipFactory.cs
  78. +11 −15 Codist/Controls/VirtualList.cs
  79. +8 −5 Codist/Display/EditorWindowDisplayOptimizer.cs
  80. +4 −3 Codist/Display/JumpListEnhancer.cs
  81. +288 −0 Codist/Display/LayoutOverride.cs
  82. +537 −0 Codist/Display/ResourceMonitor.cs
  83. +116 −0 Codist/Helpers/Chain.cs
  84. +0 −1,328 Codist/Helpers/CodeAnalysisHelper.Symbol.cs
  85. +175 −33 Codist/Helpers/ColorHelper.cs
  86. +0 −5 Codist/Helpers/DragDropHelper.cs
  87. +13 −0 Codist/Helpers/EventArgs.cs
  88. +36 −0 Codist/Helpers/ExternalCommand.cs
  89. +71 −0 Codist/Helpers/FileHelper.cs
  90. +23 −0 Codist/Helpers/GenericEqualityComparer.cs
  91. +32 −0 Codist/Helpers/InstalledFont.cs
  92. +87 −0 Codist/Helpers/LogHelper.cs
  93. +97 −7 Codist/Helpers/ReflectionHelper.cs
  94. +0 −470 Codist/Helpers/SemanticContext.cs
  95. +43 −4 Codist/Helpers/ServicesHelper.cs
  96. +0 −598 Codist/Helpers/SymbolFormatter.cs
  97. +12 −6 Codist/Helpers/SyncHelper.cs
  98. +1,045 −283 Codist/Helpers/TextEditorHelper.cs
  99. +62 −65 Codist/Helpers/ThemeHelper.cs
  100. +392 −0 Codist/Helpers/ToolTipHelper.cs
  101. +4 −4 Codist/Helpers/UIHelper.cs
  102. +204 −0 Codist/Helpers/VsColorThemeService.cs
  103. +92 −0 Codist/Helpers/VsImageHelper.cs
  104. +232 −0 Codist/Helpers/VsShellHelper.cs
  105. +163 −183 Codist/Helpers/WpfHelper.VS.cs
  106. +319 −78 Codist/Helpers/WpfHelper.cs
  107. +118 −16 Codist/IconIds.cs
  108. BIN Codist/Lib/CLR.dll
  109. BIN Codist/Lib/Markdig.dll
  110. +6,625 −0 Codist/Lib/Markdig.xml
  111. BIN Codist/Lib/System.Buffers.dll
  112. BIN Codist/Lib/System.Memory.dll
  113. BIN Codist/Lib/System.Runtime.CompilerServices.Unsafe.dll
  114. +17 −20 Codist/LineTransformers/LineHeightTransform.cs
  115. +725 −0 Codist/Margins/CSharpMargin.cs
  116. +0 −589 Codist/Margins/CSharpMembersMargin.cs
  117. +77 −84 Codist/Margins/{CommentMarginElement.cs → CommentMargin.cs}
  118. +6 −7 Codist/Margins/DisableChangeTrackerMargin.cs
  119. +44 −35 Codist/Margins/LineNumberMargin.cs
  120. +52 −0 Codist/Margins/MarginElementBase.cs
  121. +27 −12 Codist/Margins/MarginFactories.cs
  122. +6 −2 Codist/Margins/MarkerStyle.cs
  123. +19 −35 Codist/Margins/SelectionMargin.cs
  124. +34 −20 Codist/Margins/SymbolReferenceMarkerStyle.cs
  125. +13 −9 Codist/NaviBar/CSharpBar.GlobalNamespaceItem.cs
  126. +36 −29 Codist/NaviBar/CSharpBar.NamespaceItem.cs
  127. +159 −80 Codist/NaviBar/CSharpBar.NodeItem.cs
  128. +20 −13 Codist/NaviBar/CSharpBar.RootItem.cs
  129. +139 −128 Codist/NaviBar/CSharpBar.cs
  130. +8 −0 Codist/NaviBar/INaviBar.cs
  131. +332 −116 Codist/NaviBar/MarkdownBar.cs
  132. +13 −7 Codist/NaviBar/NaviBar.cs
  133. +22 −59 Codist/NaviBar/NaviBarFactory.cs
  134. +543 −20 Codist/Options/CommonControls.cs
  135. +256 −97 Codist/Options/OptionsPage.cs
  136. +675 −301 Codist/Options/SyntaxHighlightCustomizationWindow.cs
  137. +4 −7 Codist/Options/UiLock.cs
  138. +3 −3 Codist/Properties/AssemblyInfo.cs
  139. +2,806 −339 Codist/Properties/Resources.Designer.cs
  140. +931 −80 Codist/Properties/Resources.en-US.resx
  141. +917 −64 Codist/Properties/Resources.resx
  142. +1,325 −471 Codist/Properties/Resources.zh-Hans.resx
  143. +189 −0 Codist/QuickInfo/CSharpCompletionTooltip.cs
  144. +48 −0 Codist/QuickInfo/CSharpNodeRangeQuickInfo.cs
  145. +0 −41 Codist/QuickInfo/CSharpOpCodeQuickInfo.cs
  146. +91 −0 Codist/QuickInfo/CSharpQuickInfo.AnonymousType.cs
  147. +76 −0 Codist/QuickInfo/CSharpQuickInfo.Block.cs
  148. +171 −0 Codist/QuickInfo/CSharpQuickInfo.Enum.cs
  149. +199 −0 Codist/QuickInfo/CSharpQuickInfo.Interface.cs
  150. +37 −0 Codist/QuickInfo/CSharpQuickInfo.OpCode.cs
  151. +102 −0 Codist/QuickInfo/CSharpQuickInfo.Overloads.cs
  152. +169 −0 Codist/QuickInfo/CSharpQuickInfo.Parameter.cs
  153. +561 −888 Codist/QuickInfo/CSharpQuickInfo.cs
  154. +9 −202 Codist/QuickInfo/ColorQuickInfo.cs
  155. +183 −0 Codist/QuickInfo/ColorQuickInfoUI.cs
  156. +0 −106 Codist/QuickInfo/CompletionTooltip.cs
  157. +38 −0 Codist/QuickInfo/InfoContainer.cs
  158. +52 −23 Codist/QuickInfo/QuickInfoBackgroundController.cs
  159. +85 −42 Codist/QuickInfo/QuickInfoFactories.cs
  160. +800 −0 Codist/QuickInfo/QuickInfoOverride.cs
  161. +143 −0 Codist/QuickInfo/QuickInfoOverrideController.cs
  162. +0 −691 Codist/QuickInfo/QuickInfoOverrider.cs
  163. +0 −33 Codist/QuickInfo/QuickInfoSizeController.cs
  164. +26 −21 Codist/QuickInfo/QuickInfoVisibilityController.cs
  165. +97 −33 Codist/QuickInfo/SelectionQuickInfo.cs
  166. +10 −0 Codist/Refactorings/ActionType.cs
  167. +46 −0 Codist/Refactorings/All.cs
  168. +13 −0 Codist/Refactorings/IRefactoring.cs
  169. +44 −0 Codist/Refactorings/RefactoringAction.cs
  170. +68 −0 Codist/Refactorings/RefactoringContext.cs
  171. +387 −0 Codist/Refactorings/ReplaceNode.Conditions.cs
  172. +871 −0 Codist/Refactorings/ReplaceNode.Nodes.cs
  173. +246 −0 Codist/Refactorings/ReplaceNode.Statements.cs
  174. +184 −0 Codist/Refactorings/ReplaceNode.cs
  175. +394 −0 Codist/Refactorings/ReplaceText.cs
  176. +236 −0 Codist/Refactorings/ReplaceToken.cs
  177. BIN Codist/Resources/CodistPackage.ico
  178. +1 −1 Codist/Resources/Dark Codist.json
  179. +1 −1 Codist/Resources/Dark Pale Codist.json
  180. +8 −14 Codist/Resources/Light Codist.json
  181. +1 −1 Codist/Resources/Light Pale Codist.json
  182. +20 −0 Codist/Semantics/ArgumentAssignment.cs
  183. +21 −0 Codist/Semantics/AssemblySource.cs
  184. +423 −0 Codist/Semantics/CSharpParser.cs
  185. +16 −21 Codist/{Helpers → Semantics}/CodeAnalysisHelper.Document.cs
  186. +480 −0 Codist/Semantics/CodeAnalysisHelper.Icon.cs
  187. +697 −543 Codist/{Helpers/CodeAnalysisHelper.cs → Semantics/CodeAnalysisHelper.Node.cs}
  188. +1,811 −0 Codist/Semantics/CodeAnalysisHelper.Symbol.cs
  189. +266 −104 Codist/{Helpers → Semantics}/CodeAnalysisHelper.SymbolFinder.cs
  190. +110 −0 Codist/Semantics/CodeAnalysisHelper.cs
  191. +65 −0 Codist/Semantics/CodeFormatHelper.cs
  192. +32 −0 Codist/Semantics/ITextBufferParser.cs
  193. +84 −0 Codist/Semantics/MarkdownHelper.cs
  194. +17 −0 Codist/Semantics/SelectedSyntax.cs
  195. +526 −0 Codist/Semantics/SemanticContext.cs
  196. +34 −0 Codist/Semantics/SemanticState.cs
  197. +43 −0 Codist/Semantics/SourceSymbolDeduper.cs
  198. +1,367 −0 Codist/Semantics/SymbolFormatter.cs
  199. +22 −0 Codist/Semantics/SymbolUsageKind.cs
  200. +18 −0 Codist/Semantics/TokenType.cs
  201. +19 −14 Codist/{Helpers → Semantics}/XmlDocParser.cs
  202. +355 −126 Codist/{Helpers → Semantics}/XmlDocRenderer.cs
  203. +22 −0 Codist/SharedDictionaryManager.cs
  204. +426 −283 Codist/SmartBars/CSharpSmartBar.cs
  205. +6 −17 Codist/SmartBars/CppSmartBar.cs
  206. +106 −20 Codist/SmartBars/MarkDownSmartBar.cs
  207. +13 −0 Codist/SmartBars/MarkupSmartBar.cs
  208. +111 −123 Codist/SmartBars/OutputSmartBar.cs
  209. +360 −127 Codist/SmartBars/SmartBar.CommonEdit.cs
  210. +268 −125 Codist/SmartBars/SmartBar.cs
  211. +25 −22 Codist/SmartBars/{SmartBarTextViewCreationListener.cs → SmartBarFactory.cs}
  212. +13 −0 Codist/SmartBars/TextSmartBar.cs
  213. +22 −0 Codist/SyntaxHighlight/CSharpStyle.cs
  214. +440 −0 Codist/SyntaxHighlight/ClassificationTypeExporter.cs
  215. +23 −0 Codist/SyntaxHighlight/CodeStyle.cs
  216. +902 −0 Codist/SyntaxHighlight/CodeStyleTypes.cs
  217. +0 −377 Codist/SyntaxHighlight/CodeViewDecorator.cs
  218. +33 −0 Codist/SyntaxHighlight/CommentStyle.cs
  219. +33 −0 Codist/SyntaxHighlight/CppStyle.cs
  220. +1,327 −108 Codist/SyntaxHighlight/FormatStore.cs
  221. +9 −6 Codist/SyntaxHighlight/{CodeViewCreationListener.cs → HighlighterFactory.cs}
  222. +22 −0 Codist/SyntaxHighlight/IFormatCache.cs
  223. +22 −0 Codist/SyntaxHighlight/MarkdownStyle.cs
  224. +32 −0 Codist/SyntaxHighlight/StyleAttribute.cs
  225. +169 −189 Codist/SyntaxHighlight/StyleBase.cs
  226. +31 −0 Codist/SyntaxHighlight/SymbolMarkerStyle.cs
  227. +30 −0 Codist/SyntaxHighlight/XmlCodeStyle.cs
  228. +0 −192 Codist/Taggers/CSharpBlockTagger.cs
  229. +0 −224 Codist/Taggers/CSharpClassifierDefinition.cs
  230. +0 −546 Codist/Taggers/CSharpCodeFormats.cs
  231. +617 −657 Codist/Taggers/CSharpTagger.cs
  232. +68 −18 Codist/Taggers/CachedTaggerBase.cs
  233. +43 −68 Codist/Taggers/Classifications.cs
  234. +0 −128 Codist/Taggers/CommentClassificationDefinitions.cs
  235. +0 −273 Codist/Taggers/CommentFormats.cs
  236. +7 −12 Codist/Taggers/CommentLabel.cs
  237. +251 −111 Codist/Taggers/CommentTagger.cs
  238. +430 −46 Codist/Taggers/CustomTagger.cs
  239. +0 −37 Codist/Taggers/DisposableTagger.cs
  240. +4 −9 Codist/Taggers/FindResultTagger.cs
  241. +0 −49 Codist/Taggers/HighlighterDefinitions.cs
  242. +0 −116 Codist/Taggers/HighlighterFormats.cs
  243. +0 −54 Codist/Taggers/ICodeMemberTag.cs
  244. +0 −20 Codist/Taggers/Interfaces.cs
  245. +0 −37 Codist/Taggers/MarkdownDefinitions.cs
  246. +0 −80 Codist/Taggers/MarkdownFormats.cs
  247. +173 −0 Codist/Taggers/MarkdownHeadingTag.cs
  248. +263 −31 Codist/Taggers/MarkdownTagger.cs
  249. +11 −12 Codist/Taggers/SymbolMarkManager.cs
  250. +67 −0 Codist/Taggers/TaggedContentSpan.cs
  251. +270 −0 Codist/Taggers/TaggerFactories.cs
  252. +0 −125 Codist/Taggers/TaggerProviders.cs
  253. +44 −78 Codist/Taggers/TaggerResult.cs
  254. +0 −96 Codist/Taggers/TransientClassificationTagHolder.cs
  255. +0 −56 Codist/Taggers/XmlClassificationDefinitions.cs
  256. +0 −87 Codist/Taggers/XmlFormats.cs
  257. +3 −0 Codist/VSPackage.en-US.resx
  258. +3 −0 Codist/VSPackage.resx
  259. +3 −0 Codist/VSPackage.zh-Hans.resx
  260. BIN Codist/icon.png
  261. +3 −3 Codist/source.extension.vsixmanifest
  262. +1 −1 Codist/zh-Hans/Extension.vsixlangpack
  263. +654 −342 EditorCommands.txt
  264. +93 −54 README.md
  265. +2 −1 TestProject/CS10_0.cs
  266. +20 −0 TestProject/CS11_0.cs
  267. +216 −0 TestProject/CS12_0.cs
  268. +25 −1 TestProject/CS7_0.cs
  269. +75 −0 TestProject/CS9_0.cs
  270. 0 TestProject/{ → CommentTaggers}/Test.css
  271. +18 −0 TestProject/CommentTaggers/Test.html
  272. 0 TestProject/{ → CommentTaggers}/Test.js
  273. +4 −0 TestProject/CommentTaggers/Test.json
  274. +8 −0 TestProject/CommentTaggers/Test.less
  275. 0 TestProject/{ → CommentTaggers}/Test.xml
  276. +10 −54 TestProject/Comments.cs
  277. +57 −0 TestProject/Generics.cs
  278. +8 −0 TestProject/GlobalSuppressions.cs
  279. +14 −0 TestProject/GlobalTypes.cs
  280. +31 −0 TestProject/IInterface.cs
  281. +105 −0 TestProject/Methods.cs
  282. +81 −0 TestProject/PunctuationsAndOperators.cs
  283. +17 −9 TestProject/TestPage.cs
  284. +14 −3 TestProject/TestProject.csproj
  285. +91 −0 TestProject2/CS11_0.cs
  286. +25 −0 TestProject2/CS12_0.cs
  287. +57 −0 TestProject2/CS13_0.cs
  288. +1 −1 TestProject2/CS8_0.cs
  289. +6 −1 TestProject2/TestProject2.csproj
  290. BIN doc/comment-tagger-options.png
  291. BIN doc/csharp-optimized-quick-info.png
  292. BIN doc/csharp-options-xmldoc.png
  293. BIN doc/display-options.png
  294. BIN doc/feature-brief-super-quick-info.png
  295. BIN doc/preview.png
  296. BIN doc/resource-monitors.png
  297. BIN doc/smart-bar-refactoring.png
  298. BIN doc/super-quick-info-csharp-options.png
  299. BIN doc/super-quick-info-options.png
15 changes: 11 additions & 4 deletions Codist.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32611.2
VisualStudioVersion = 17.5.33402.96
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Codist", "Codist\Codist.csproj", "{357D8F0C-57B1-4981-949D-204FEE0EC424}"
EndProject
@@ -14,33 +14,40 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CA2E0B7E-1
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProject", "TestProject\TestProject.csproj", "{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProject2", "TestProject2\TestProject2.csproj", "{F83EC41E-0478-411F-96B9-F2B86D76A69F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestProject2", "TestProject2\TestProject2.csproj", "{F83EC41E-0478-411F-96B9-F2B86D76A69F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
ReleaseLogged|Any CPU = ReleaseLogged|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{357D8F0C-57B1-4981-949D-204FEE0EC424}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{357D8F0C-57B1-4981-949D-204FEE0EC424}.Debug|Any CPU.Build.0 = Debug|Any CPU
{357D8F0C-57B1-4981-949D-204FEE0EC424}.Release|Any CPU.ActiveCfg = Release|Any CPU
{357D8F0C-57B1-4981-949D-204FEE0EC424}.Release|Any CPU.Build.0 = Release|Any CPU
{357D8F0C-57B1-4981-949D-204FEE0EC424}.ReleaseLogged|Any CPU.ActiveCfg = ReleaseLogged|arm64
{357D8F0C-57B1-4981-949D-204FEE0EC424}.ReleaseLogged|Any CPU.Build.0 = ReleaseLogged|arm64
{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}.Release|Any CPU.Build.0 = Release|Any CPU
{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}.ReleaseLogged|Any CPU.ActiveCfg = Release|Any CPU
{A271AA17-5C0A-44DF-BBC7-BC54CDB5FCC3}.ReleaseLogged|Any CPU.Build.0 = Release|Any CPU
{F83EC41E-0478-411F-96B9-F2B86D76A69F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F83EC41E-0478-411F-96B9-F2B86D76A69F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F83EC41E-0478-411F-96B9-F2B86D76A69F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F83EC41E-0478-411F-96B9-F2B86D76A69F}.Release|Any CPU.Build.0 = Release|Any CPU
{F83EC41E-0478-411F-96B9-F2B86D76A69F}.ReleaseLogged|Any CPU.ActiveCfg = Release|Any CPU
{F83EC41E-0478-411F-96B9-F2B86D76A69F}.ReleaseLogged|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5B810302-E594-4759-A542-A9B80A8ED85A}
RESX_Rules = {"EnabledRules":["StringFormat","WhiteSpaceLead","WhiteSpaceTail","PunctuationLead"]}
RESX_CodeReferences = {"Items":[{"Expression":"\\W($File.$Key)\\W","Extensions":".cs,.xaml,.cshtml","IsCaseSensitive":true,"SingleLineComment":"\/\/"},{"Expression":"\\W($File.$Key)\\W","Extensions":".vbhtml","IsCaseSensitive":false,"SingleLineComment":null},{"Expression":"ResourceManager.GetString\\(\"($Key)\"\\)","Extensions":".cs","IsCaseSensitive":true,"SingleLineComment":"\/\/"},{"Expression":"typeof\\((\\w+\\.)*($File)\\).+\"($Key)\"|\"($Key)\".+typeof\\((\\w+\\.)*($File)\\)","Extensions":".cs","IsCaseSensitive":true,"SingleLineComment":"\/\/"},{"Expression":"\\W($Key)\\W","Extensions":".vb","IsCaseSensitive":false,"SingleLineComment":"'"},{"Expression":"\\W($File::$Key)\\W","Extensions":".cpp,.c,.hxx,.h","IsCaseSensitive":true,"SingleLineComment":"\/\/"},{"Expression":"<%\\$\\s+Resources:\\s*($File)\\s*,\\s*($Key)\\s*%>","Extensions":".aspx,.ascx,.master","IsCaseSensitive":true,"SingleLineComment":null},{"Expression":"StringResourceKey\\.($Key)","Extensions":".cs","IsCaseSensitive":true,"SingleLineComment":"\/\/"},{"Expression":"\\.($Key)","Extensions":".ts,.html","IsCaseSensitive":true,"SingleLineComment":"\/\/"},{"Expression":"R.($Key)","Extensions":".cs","IsCaseSensitive":true,"SingleLineComment":null}]}
RESX_Rules = {"EnabledRules":["StringFormat","WhiteSpaceLead","WhiteSpaceTail","PunctuationLead"]}
SolutionGuid = {5B810302-E594-4759-A542-A9B80A8ED85A}
EndGlobalSection
EndGlobal
Binary file removed Codist/AppHelpers.Ext.dll
Binary file not shown.
30 changes: 11 additions & 19 deletions Codist/AutoBuildVersion/BuildConfigSetting.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System;
using System.Diagnostics.CodeAnalysis;
using System.Text.RegularExpressions;
using AppHelpers;
using CLR;
using EnvDTE;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Shell;
@@ -63,13 +62,13 @@ bool RewriteSdkProjectFile(Project project, ref RewriteFlags f) {
}
f = f.SetFlags(rf, false);
var r = rf != RewriteFlags.None;
if (r && project.Saved == false) {
if (r) {
project.Save();
}
return r;
}

[SuppressMessage("Usage", "VSTHRD010:Invoke single-threaded types on Main thread", Justification = "Checked in caller")]
[SuppressMessage("Usage", Suppression.VSTHRD010, Justification = Suppression.CheckedInCaller)]
bool RewriteVersion(Project project, VersionSetting setting, string versionName) {
Property ver;
if (setting is null) {
@@ -95,7 +94,7 @@ bool RewriteVersion(Project project, VersionSetting setting, string versionName)
return false;
}

[SuppressMessage("Usage", "VSTHRD010:Invoke single-threaded types on Main thread", Justification = "Checked in caller")]
[SuppressMessage("Usage", Suppression.VSTHRD010, Justification = Suppression.CheckedInCaller)]
bool RewriteCopyrightYear(Project project, string propertyName) {
Property property;
try {
@@ -118,9 +117,7 @@ bool RewriteCopyrightYear(Project project, string propertyName) {
WriteBuildOutput($"{project.Name} {propertyName} => {t}");
return true;
}
else {
return false;
}
return false;
}
}
return false;
@@ -130,7 +127,7 @@ static bool IsDigit(char c) {
return c >= '0' && c <= '9';
}

[SuppressMessage("Usage", "VSTHRD010:Invoke single-threaded types on Main thread", Justification = "Checked in caller")]
[SuppressMessage("Usage", Suppression.VSTHRD010, Justification = Suppression.CheckedInCaller)]
void WriteBuildOutput(string text) {
CodistPackage.Instance?.GetOutputPane(VSConstants.OutputWindowPaneGuid.BuildOutputPane_guid, "Build")?.OutputString(nameof(Codist) + ": " + text + Environment.NewLine);
}
@@ -146,16 +143,11 @@ enum RewriteFlags

static class AttributePattern
{
const string Pattern = @"(^\s*\[\s*assembly\s*:\s*AssemblyVersion(?:Attribute)?\s*\(\s*"")(\d+)\.(\d+)\.(\d+)\.(\d+)(\s*""\s*\)\s*\])";
const string CopyrightYearPattern = @"(^\s*\[\s*assembly\s*:\s*AssemblyCopyright(?:Attribute)?\s*\(\s*"".*)(20\d\d)(.*?\s*""\s*\)\s*\])";
internal static readonly Regex AssemblyVersion = new Regex(Pattern, RegexOptions.Compiled | RegexOptions.Multiline);
internal static readonly Regex AssemblyFileVersion = new Regex(Pattern.Replace("AssemblyVersion", "AssemblyFileVersion"), RegexOptions.Compiled | RegexOptions.Multiline);
internal static readonly Regex AssemblyCopyrightYear = new Regex(CopyrightYearPattern, RegexOptions.Compiled | RegexOptions.Multiline);

public static string[] GetMatchedVersion(Version v) {
return new[] { v.Major.ToText(), v.Minor.ToText(), v.Build.ToText(), v.Revision.ToText() };
}
[SuppressMessage("Usage", "VSTHRD010:Invoke single-threaded types on Main thread", Justification = "Checked in caller")]

[SuppressMessage("Usage", Suppression.VSTHRD010, Justification = Suppression.CheckedInCaller)]
public static string[] GetMatchedVersion(Project project, string propertyName) {
try {
var ver = project.Properties.Item(propertyName);
@@ -167,11 +159,11 @@ public static string[] GetMatchedVersion(Project project, string propertyName) {
return null;
}
}
[SuppressMessage("Usage", "VSTHRD010:Invoke single-threaded types on Main thread", Justification = "Checked in caller")]

[SuppressMessage("Usage", Suppression.VSTHRD010, Justification = Suppression.CheckedInCaller)]
public static string GetProperty(Project project, string propertyName) {
try {
var p = project.Properties.Item(propertyName);
return p?.Value is string s ? s : null;
return project.Properties.Item(propertyName)?.Value is string s ? s : null;
}
catch (ArgumentException) {
return null;
18 changes: 15 additions & 3 deletions Codist/AutoBuildVersion/BuildSetting.cs
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@ public BuildSetting() : base(StringComparer.OrdinalIgnoreCase) {
}

public static string GetConfigPath(Project project) {
Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
return Path.Combine(Path.GetDirectoryName(project.FullName), "obj", project.Name + ".autoversion.json");
}
public static BuildSetting Load(Project project) {
@@ -34,15 +35,26 @@ public static BuildSetting Load(string configPath) {
: null;
}
catch (Exception ex) {
Debug.Write("Error loading " + nameof(BuildSetting) + " from " + configPath);
Debug.WriteLine(ex.ToString());
$"Error loading {nameof(BuildSetting)} from {configPath}".Log();
ex.Log();
return null;
}
}

public void RewriteVersion(Project project, string buildConfig) {
var i = buildConfig.IndexOf('|');
if (i != -1) {
buildConfig = buildConfig.Substring(0, i);
}
var setting = Merge("<Any>", buildConfig);
if (setting?.ShouldRewrite == true) {
setting.RewriteVersion(project);
}
}

/// <summary>Merge two <see cref="BuildConfigSetting"/>s named <paramref name="baseConfig"/> and <paramref name="specificConfig"/>. The latter one has higher precedence.</summary>
/// <param name="baseConfig">The base configuration name.</param>
/// <param name="specificConfig">The specifig configuration name.</param>
/// <param name="specificConfig">The specific configuration name.</param>
/// <returns>The merged configuration. If neither <paramref name="baseConfig"/> or <paramref name="specificConfig"/> exists, returns <see langword="null"/>.</returns>
public BuildConfigSetting Merge(string baseConfig, string specificConfig) {
TryGetValue(specificConfig, out var s);
Loading