Skip to content

Commit 8f328e2

Browse files
authored
Merge 2.0 changes (#60)
- Add breadcrumbs for file structures (#59) - Add file structure provider for C# and Visual Basic (Roslyn compilers) - Add file structure provider for XML files - Add navigation drop-downs to structural breadcrumbs - Add 'Locate in Solution Explorer' menu item to breadcrumbs - Add keyboard shortcuts to focus breadcrumbs - Add refactor logic to view models - Add refactored command bridge from VSCT menus - Increment major version - Update readme, changelog and presentation assets - Refactor UI components, moves logic to view-models - Refactor command bridge - Fix invalid id in rating prompt (#57)
1 parent 31ea653 commit 8f328e2

File tree

237 files changed

+14084
-1735
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+14084
-1735
lines changed

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,21 @@ insert_final_newline = false
1717
# Mine
1818
file_header_template = ------------------------------------------------------------\n\nCopyright (c) Jiří Polášek. All rights reserved.\n\n------------------------------------------------------------
1919
trim_trailing_whitespace = true
20+
line_length = 140
2021

2122
#### .NET Coding Conventions ####
2223

24+
# R#
25+
csharp_keep_existing_attribute_arrangement = true
26+
csharp_wrap_before_eq = true
27+
csharp_wrap_after_declaration_lpar = true
28+
csharp_wrap_before_declaration_rpar = false;
29+
csharp_wrap_parameters_style = chop_if_long
30+
csharp_wrap_primary_constructor_parameters_style = chop_if_long
31+
csharp_wrap_object_and_collection_initializer_style = chop_if_long
32+
csharp_wrap_before_primary_constructor_declaration_lpar = false
33+
csharp_wrap_after_primary_constructor_declaration_lpar = true
34+
2335
# Organize usings
2436
dotnet_separate_import_directive_groups = false
2537
dotnet_sort_system_directives_first = true

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
# Change Log
22

3+
## 2.0.0
4+
- [x] Added: File structure breadcrumbs (code structure for C#, VB.NET, and XML).
5+
- Drop-down menu with relevant child items (types in the file, members and fields within types).
6+
- Displays useful secondary information (e.g., method parameters, property types, constant values, XML node IDs or names).
7+
- [x] Added: Project segment can now display and switch target framework for IntelliSense (in multi-targeted projects).
8+
- [x] Added: Keyboard shortcuts to focus specific segments (project, file, etc.).
9+
- [x] Added: "Locate in Solution Explorer" context menu command for relevant segments.
10+
- [x] Added: "Copy Path" and "Open Containing Folder" context menu commands for project and folder segments.
11+
- [x] Added: Automatic contrast fallback; when text contrast is insufficient, its color is automatically adjusted.
12+
- [x] Changed: Improved performance and reduced memory usage.
13+
- [x] Changed: Updated options page.
14+
- [x] Changed: File path label is now hidden by default.
15+
16+
## 1.1.0
17+
- [x] Added: Parent folder segment.
18+
- [x] Added: In-project path segments.
19+
- [x] Added: Bar's background color settings.
20+
- [x] Added: Additional formats for the file name label (e.g., only the file name or the path relative to the parent project).
21+
- [x] Added: Refined control over where the Editor Bar is displayed (e.g., in annotate/blame views, file compare views, temporary files, and non-editable documents).
22+
- [x] Added: Support for non-solution roots (e.g., file system, network locations, files in solution folders not included in the solution, temporary folders).
23+
- [x] Changed: Switched to using the Visual Studio context menu instead of the .NET Framework.
24+
- [x] Changed: Improved the color selection palette for breadcrumb bar segments.
25+
- [x] Changed: Toggle Editor Bar command is now checked if the Editor Bar is enabled.
26+
- [x] Fixed: Bar button's icon colors now correctly matches the bar background.
27+
328
## 1.0.4
429
- [x] Added: Ability to open the current file in an external editor.
530
- [x] Added: A Visual Studio command to toggle the Editor Bar on and off (menu *View / Editor Bar* and button on *Text Editor* toolbar).

EditorBar.sln

Lines changed: 0 additions & 45 deletions
This file was deleted.

EditorBar.sln.DotSettings

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
2+
<s:String x:Key="/Default/CodeStyle/CSharpFileLayoutPatterns/Pattern/@EntryValue">&lt;Patterns xmlns="urn:schemas-jetbrains-com:member-reordering-patterns"&gt;&#xD;
3+
&lt;TypePattern DisplayName="Non-reorderable types" Priority="99999999"&gt;&#xD;
4+
&lt;TypePattern.Match&gt;&#xD;
5+
&lt;Or&gt;&#xD;
6+
&lt;And&gt;&#xD;
7+
&lt;Kind Is="Interface" /&gt;&#xD;
8+
&lt;Or&gt;&#xD;
9+
&lt;HasAttribute Name="System.Runtime.InteropServices.InterfaceTypeAttribute" /&gt;&#xD;
10+
&lt;HasAttribute Name="System.Runtime.InteropServices.ComImport" /&gt;&#xD;
11+
&lt;/Or&gt;&#xD;
12+
&lt;/And&gt;&#xD;
13+
&lt;Kind Is="Struct" /&gt;&#xD;
14+
&lt;HasAttribute Name="System.Runtime.InteropServices.StructLayoutAttribute" /&gt;&#xD;
15+
&lt;HasAttribute Name="JetBrains.Annotations.NoReorderAttribute" /&gt;&#xD;
16+
&lt;/Or&gt;&#xD;
17+
&lt;/TypePattern.Match&gt;&#xD;
18+
&lt;/TypePattern&gt;&#xD;
19+
&lt;TypePattern DisplayName="xUnit.net Test Classes" RemoveRegions="All"&gt;&#xD;
20+
&lt;TypePattern.Match&gt;&#xD;
21+
&lt;And&gt;&#xD;
22+
&lt;Kind Is="Class" /&gt;&#xD;
23+
&lt;HasMember&gt;&#xD;
24+
&lt;And&gt;&#xD;
25+
&lt;Kind Is="Method" /&gt;&#xD;
26+
&lt;HasAttribute Inherited="True" Name="Xunit.FactAttribute" /&gt;&#xD;
27+
&lt;HasAttribute Inherited="True" Name="Xunit.TheoryAttribute" /&gt;&#xD;
28+
&lt;/And&gt;&#xD;
29+
&lt;/HasMember&gt;&#xD;
30+
&lt;/And&gt;&#xD;
31+
&lt;/TypePattern.Match&gt;&#xD;
32+
&lt;Entry DisplayName="Fields"&gt;&#xD;
33+
&lt;Entry.Match&gt;&#xD;
34+
&lt;And&gt;&#xD;
35+
&lt;Kind Is="Field" /&gt;&#xD;
36+
&lt;Not&gt;&#xD;
37+
&lt;Static /&gt;&#xD;
38+
&lt;/Not&gt;&#xD;
39+
&lt;/And&gt;&#xD;
40+
&lt;/Entry.Match&gt;&#xD;
41+
&lt;Entry.SortBy&gt;&#xD;
42+
&lt;Readonly /&gt;&#xD;
43+
&lt;Name /&gt;&#xD;
44+
&lt;/Entry.SortBy&gt;&#xD;
45+
&lt;/Entry&gt;&#xD;
46+
&lt;Entry DisplayName="Constructors"&gt;&#xD;
47+
&lt;Entry.Match&gt;&#xD;
48+
&lt;Kind Is="Constructor" /&gt;&#xD;
49+
&lt;/Entry.Match&gt;&#xD;
50+
&lt;Entry.SortBy&gt;&#xD;
51+
&lt;Static /&gt;&#xD;
52+
&lt;/Entry.SortBy&gt;&#xD;
53+
&lt;/Entry&gt;&#xD;
54+
&lt;Entry DisplayName="Teardown Methods"&gt;&#xD;
55+
&lt;Entry.Match&gt;&#xD;
56+
&lt;And&gt;&#xD;
57+
&lt;Kind Is="Method" /&gt;&#xD;
58+
&lt;ImplementsInterface Name="System.IDisposable" /&gt;&#xD;
59+
&lt;/And&gt;&#xD;
60+
&lt;/Entry.Match&gt;&#xD;
61+
&lt;/Entry&gt;&#xD;
62+
&lt;Entry DisplayName="All other members" /&gt;&#xD;
63+
&lt;Entry DisplayName="Test Methods" Priority="100"&gt;&#xD;
64+
&lt;Entry.Match&gt;&#xD;
65+
&lt;And&gt;&#xD;
66+
&lt;Kind Is="Method" /&gt;&#xD;
67+
&lt;HasAttribute Name="Xunit.FactAttribute" /&gt;&#xD;
68+
&lt;HasAttribute Name="Xunit.TheoryAttribute" /&gt;&#xD;
69+
&lt;/And&gt;&#xD;
70+
&lt;/Entry.Match&gt;&#xD;
71+
&lt;Entry.SortBy&gt;&#xD;
72+
&lt;Name /&gt;&#xD;
73+
&lt;/Entry.SortBy&gt;&#xD;
74+
&lt;/Entry&gt;&#xD;
75+
&lt;/TypePattern&gt;&#xD;
76+
&lt;TypePattern DisplayName="NUnit Test Fixtures" RemoveRegions="All"&gt;&#xD;
77+
&lt;TypePattern.Match&gt;&#xD;
78+
&lt;And&gt;&#xD;
79+
&lt;Kind Is="Class" /&gt;&#xD;
80+
&lt;Or&gt;&#xD;
81+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.TestFixtureAttribute" /&gt;&#xD;
82+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.TestFixtureSourceAttribute" /&gt;&#xD;
83+
&lt;HasMember&gt;&#xD;
84+
&lt;And&gt;&#xD;
85+
&lt;Kind Is="Method" /&gt;&#xD;
86+
&lt;HasAttribute Name="NUnit.Framework.TestAttribute" /&gt;&#xD;
87+
&lt;HasAttribute Name="NUnit.Framework.TestCaseAttribute" /&gt;&#xD;
88+
&lt;HasAttribute Name="NUnit.Framework.TestCaseSourceAttribute" /&gt;&#xD;
89+
&lt;/And&gt;&#xD;
90+
&lt;/HasMember&gt;&#xD;
91+
&lt;/Or&gt;&#xD;
92+
&lt;/And&gt;&#xD;
93+
&lt;/TypePattern.Match&gt;&#xD;
94+
&lt;Entry DisplayName="Setup/Teardown Methods"&gt;&#xD;
95+
&lt;Entry.Match&gt;&#xD;
96+
&lt;And&gt;&#xD;
97+
&lt;Kind Is="Method" /&gt;&#xD;
98+
&lt;Or&gt;&#xD;
99+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.SetUpAttribute" /&gt;&#xD;
100+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.TearDownAttribute" /&gt;&#xD;
101+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.TestFixtureSetUpAttribute" /&gt;&#xD;
102+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.TestFixtureTearDownAttribute" /&gt;&#xD;
103+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.OneTimeSetUpAttribute" /&gt;&#xD;
104+
&lt;HasAttribute Inherited="True" Name="NUnit.Framework.OneTimeTearDownAttribute" /&gt;&#xD;
105+
&lt;/Or&gt;&#xD;
106+
&lt;/And&gt;&#xD;
107+
&lt;/Entry.Match&gt;&#xD;
108+
&lt;/Entry&gt;&#xD;
109+
&lt;Entry DisplayName="All other members" /&gt;&#xD;
110+
&lt;Entry DisplayName="Test Methods" Priority="100"&gt;&#xD;
111+
&lt;Entry.Match&gt;&#xD;
112+
&lt;And&gt;&#xD;
113+
&lt;Kind Is="Method" /&gt;&#xD;
114+
&lt;HasAttribute Name="NUnit.Framework.TestAttribute" /&gt;&#xD;
115+
&lt;HasAttribute Name="NUnit.Framework.TestCaseAttribute" /&gt;&#xD;
116+
&lt;HasAttribute Name="NUnit.Framework.TestCaseSourceAttribute" /&gt;&#xD;
117+
&lt;/And&gt;&#xD;
118+
&lt;/Entry.Match&gt;&#xD;
119+
&lt;Entry.SortBy&gt;&#xD;
120+
&lt;Name /&gt;&#xD;
121+
&lt;/Entry.SortBy&gt;&#xD;
122+
&lt;/Entry&gt;&#xD;
123+
&lt;/TypePattern&gt;&#xD;
124+
&lt;TypePattern DisplayName="Default Pattern"&gt;&#xD;
125+
&lt;Entry DisplayName="Public Delegates" Priority="100"&gt;&#xD;
126+
&lt;Entry.Match&gt;&#xD;
127+
&lt;And&gt;&#xD;
128+
&lt;Access Is="Public" /&gt;&#xD;
129+
&lt;Kind Is="Delegate" /&gt;&#xD;
130+
&lt;/And&gt;&#xD;
131+
&lt;/Entry.Match&gt;&#xD;
132+
&lt;Entry.SortBy&gt;&#xD;
133+
&lt;Name /&gt;&#xD;
134+
&lt;/Entry.SortBy&gt;&#xD;
135+
&lt;/Entry&gt;&#xD;
136+
&lt;Entry DisplayName="Public Enums" Priority="100"&gt;&#xD;
137+
&lt;Entry.Match&gt;&#xD;
138+
&lt;And&gt;&#xD;
139+
&lt;Access Is="Public" /&gt;&#xD;
140+
&lt;Kind Is="Enum" /&gt;&#xD;
141+
&lt;/And&gt;&#xD;
142+
&lt;/Entry.Match&gt;&#xD;
143+
&lt;Entry.SortBy&gt;&#xD;
144+
&lt;Name /&gt;&#xD;
145+
&lt;/Entry.SortBy&gt;&#xD;
146+
&lt;/Entry&gt;&#xD;
147+
&lt;Entry DisplayName="Static Fields and Constants"&gt;&#xD;
148+
&lt;Entry.Match&gt;&#xD;
149+
&lt;Or&gt;&#xD;
150+
&lt;Kind Is="Constant" /&gt;&#xD;
151+
&lt;And&gt;&#xD;
152+
&lt;Kind Is="Field" /&gt;&#xD;
153+
&lt;Static /&gt;&#xD;
154+
&lt;/And&gt;&#xD;
155+
&lt;/Or&gt;&#xD;
156+
&lt;/Entry.Match&gt;&#xD;
157+
&lt;Entry.SortBy&gt;&#xD;
158+
&lt;Kind Is="0" Order="Constant Field" /&gt;&#xD;
159+
&lt;/Entry.SortBy&gt;&#xD;
160+
&lt;/Entry&gt;&#xD;
161+
&lt;Entry DisplayName="Events"&gt;&#xD;
162+
&lt;Entry.Match&gt;&#xD;
163+
&lt;Kind Is="Event" /&gt;&#xD;
164+
&lt;/Entry.Match&gt;&#xD;
165+
&lt;Entry.SortBy&gt;&#xD;
166+
&lt;Access Is="0" /&gt;&#xD;
167+
&lt;Name /&gt;&#xD;
168+
&lt;/Entry.SortBy&gt;&#xD;
169+
&lt;/Entry&gt;&#xD;
170+
&lt;Entry DisplayName="Fields"&gt;&#xD;
171+
&lt;Entry.Match&gt;&#xD;
172+
&lt;And&gt;&#xD;
173+
&lt;Kind Is="Field" /&gt;&#xD;
174+
&lt;Not&gt;&#xD;
175+
&lt;Static /&gt;&#xD;
176+
&lt;/Not&gt;&#xD;
177+
&lt;/And&gt;&#xD;
178+
&lt;/Entry.Match&gt;&#xD;
179+
&lt;Entry.SortBy&gt;&#xD;
180+
&lt;Readonly /&gt;&#xD;
181+
&lt;Name /&gt;&#xD;
182+
&lt;/Entry.SortBy&gt;&#xD;
183+
&lt;/Entry&gt;&#xD;
184+
&lt;Entry DisplayName="Properties, Indexers"&gt;&#xD;
185+
&lt;Entry.Match&gt;&#xD;
186+
&lt;Or&gt;&#xD;
187+
&lt;Kind Is="Property" /&gt;&#xD;
188+
&lt;Kind Is="Indexer" /&gt;&#xD;
189+
&lt;/Or&gt;&#xD;
190+
&lt;/Entry.Match&gt;&#xD;
191+
&lt;/Entry&gt;&#xD;
192+
&lt;Entry DisplayName="Constructors"&gt;&#xD;
193+
&lt;Entry.Match&gt;&#xD;
194+
&lt;Kind Is="Constructor" /&gt;&#xD;
195+
&lt;/Entry.Match&gt;&#xD;
196+
&lt;Entry.SortBy&gt;&#xD;
197+
&lt;Static /&gt;&#xD;
198+
&lt;/Entry.SortBy&gt;&#xD;
199+
&lt;/Entry&gt;&#xD;
200+
&lt;Entry DisplayName="All other members" /&gt;&#xD;
201+
&lt;Entry DisplayName="Nested Types"&gt;&#xD;
202+
&lt;Entry.Match&gt;&#xD;
203+
&lt;Kind Is="Type" /&gt;&#xD;
204+
&lt;/Entry.Match&gt;&#xD;
205+
&lt;/Entry&gt;&#xD;
206+
&lt;/TypePattern&gt;&#xD;
207+
&lt;/Patterns&gt;</s:String>
208+
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002EMemberReordering_002EMigrations_002ECSharpFileLayoutPatternRemoveIsAttributeUpgrade/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

EditorBar.slnx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<Solution>
2+
<Configurations>
3+
<Platform Name="Any CPU" />
4+
<Platform Name="arm64" />
5+
<Platform Name="x86" />
6+
</Configurations>
7+
<Folder Name="/Solution Items/">
8+
<File Path=".editorconfig" />
9+
<File Path="CHANGELOG.md" />
10+
<File Path="LICENSE.txt" />
11+
<File Path="README.md" />
12+
</Folder>
13+
<Project Path="src/EditorBar/JPSoftworks.EditorBar.csproj" Id="097e6f5a-f198-49f5-b4cc-28128e82fe43">
14+
<Platform Solution="*|arm64" Project="arm64" />
15+
<Platform Solution="*|x86" Project="x86" />
16+
</Project>
17+
</Solution>

0 commit comments

Comments
 (0)