Skip to content

Commit ff67508

Browse files
committed
refactor: ♲ Renewal project structure
1 parent 9b53eb2 commit ff67508

30 files changed

Lines changed: 1235 additions & 1365 deletions

.config/dotnet-tools.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"csharpier": {
6+
"version": "1.0.2",
7+
"commands": ["csharpier"]
8+
}
9+
}
10+
}

.editorconfig

Lines changed: 70 additions & 271 deletions
Original file line numberDiff line numberDiff line change
@@ -1,282 +1,81 @@
1-
# 上位ディレクトリから .editorconfig 設定を継承する場合は、以下の行を削除します
21
root = true
32

4-
# C# ファイル
5-
[*.cs]
6-
7-
#### コア EditorConfig オプション ####
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
88

9-
# インデントと間隔
10-
indent_size = 4
9+
[*.cs]
1110
indent_style = space
12-
tab_width = 4
13-
14-
# 改行設定
15-
end_of_line = crlf
16-
insert_final_newline = false
17-
18-
#### .NET コード アクション ####
19-
20-
# 型メンバー
21-
dotnet_hide_advanced_members = false
22-
dotnet_member_insertion_location = with_other_members_of_the_same_kind
23-
dotnet_property_generation_behavior = prefer_throwing_properties
24-
25-
# シンボルの検索
26-
dotnet_search_reference_assemblies = true
27-
28-
#### .NET コーディング規則 ####
29-
30-
# using の整理
31-
dotnet_separate_import_directive_groups = false
32-
dotnet_sort_system_directives_first = true
33-
file_header_template = unset
34-
35-
# this. と Me. の設定
36-
dotnet_style_qualification_for_event = false
37-
dotnet_style_qualification_for_field = false
38-
dotnet_style_qualification_for_method = false
39-
dotnet_style_qualification_for_property = false
40-
41-
# 言語キーワードと BCL の種類の設定
42-
dotnet_style_predefined_type_for_locals_parameters_members = true
43-
dotnet_style_predefined_type_for_member_access = true
44-
45-
# かっこの設定
46-
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
47-
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
48-
dotnet_style_parentheses_in_other_operators = never_if_unnecessary
49-
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
50-
51-
# 修飾子設定
52-
dotnet_style_require_accessibility_modifiers = for_non_interface_members
53-
54-
# 式レベルの設定
55-
dotnet_prefer_system_hash_code = true
56-
dotnet_style_coalesce_expression = true
57-
dotnet_style_collection_initializer = true
58-
dotnet_style_explicit_tuple_names = true
59-
dotnet_style_namespace_match_folder = true
60-
dotnet_style_null_propagation = true
61-
dotnet_style_object_initializer = true
62-
dotnet_style_operator_placement_when_wrapping = beginning_of_line
63-
dotnet_style_prefer_auto_properties = true
64-
dotnet_style_prefer_collection_expression = when_types_loosely_match
65-
dotnet_style_prefer_compound_assignment = true
66-
dotnet_style_prefer_conditional_expression_over_assignment = true
67-
dotnet_style_prefer_conditional_expression_over_return = true
68-
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed
69-
dotnet_style_prefer_inferred_anonymous_type_member_names = true
70-
dotnet_style_prefer_inferred_tuple_names = true
71-
dotnet_style_prefer_is_null_check_over_reference_equality_method = true
72-
dotnet_style_prefer_simplified_boolean_expressions = true
73-
dotnet_style_prefer_simplified_interpolation = true
74-
75-
# フィールド設定
76-
dotnet_style_readonly_field = true
77-
78-
# パラメーターの設定
79-
dotnet_code_quality_unused_parameters = all
80-
81-
# 抑制の設定
82-
dotnet_remove_unnecessary_suppression_exclusions = none
83-
84-
# 改行設定
85-
dotnet_style_allow_multiple_blank_lines_experimental = true
86-
dotnet_style_allow_statement_immediately_after_block_experimental = true
87-
88-
#### C# コーディング規則 ####
89-
90-
# var を優先
91-
csharp_style_var_elsewhere = false:silent
92-
csharp_style_var_for_built_in_types = false:silent
93-
csharp_style_var_when_type_is_apparent = false:silent
94-
95-
# 式のようなメンバー
96-
csharp_style_expression_bodied_accessors = true:silent
97-
csharp_style_expression_bodied_constructors = false:silent
98-
csharp_style_expression_bodied_indexers = true:silent
99-
csharp_style_expression_bodied_lambdas = true:silent
100-
csharp_style_expression_bodied_local_functions = false:silent
101-
csharp_style_expression_bodied_methods = false:silent
102-
csharp_style_expression_bodied_operators = false:silent
103-
csharp_style_expression_bodied_properties = true:silent
104-
105-
# パターン マッチング設定
106-
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
107-
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
108-
csharp_style_prefer_extended_property_pattern = true:suggestion
109-
csharp_style_prefer_not_pattern = true:suggestion
110-
csharp_style_prefer_pattern_matching = true:silent
111-
csharp_style_prefer_switch_expression = true:suggestion
112-
113-
# Null チェック設定
114-
csharp_style_conditional_delegate_call = true:suggestion
115-
116-
# 修飾子設定
117-
csharp_prefer_static_anonymous_function = true:suggestion
118-
csharp_prefer_static_local_function = true:suggestion
119-
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
120-
csharp_style_prefer_readonly_struct = true:suggestion
121-
csharp_style_prefer_readonly_struct_member = true:suggestion
122-
123-
# コード ブロックの設定
124-
csharp_prefer_braces = true:silent
125-
csharp_prefer_simple_using_statement = true:suggestion
126-
csharp_prefer_system_threading_lock = true:suggestion
127-
csharp_style_namespace_declarations = block_scoped:silent
128-
csharp_style_prefer_method_group_conversion = true:silent
129-
csharp_style_prefer_primary_constructors = true:suggestion
130-
csharp_style_prefer_top_level_statements = true:silent
131-
132-
# 式レベルの設定
133-
csharp_prefer_simple_default_expression = true
134-
csharp_style_deconstructed_variable_declaration = true
135-
csharp_style_implicit_object_creation_when_type_is_apparent = true
136-
csharp_style_inlined_variable_declaration = true
137-
csharp_style_prefer_index_operator = true
138-
csharp_style_prefer_local_over_anonymous_function = true
139-
csharp_style_prefer_null_check_over_type_check = true
140-
csharp_style_prefer_range_operator = true
141-
csharp_style_prefer_tuple_swap = true
142-
csharp_style_prefer_utf8_string_literals = true
143-
csharp_style_throw_expression = true
144-
csharp_style_unused_value_assignment_preference = discard_variable
145-
csharp_style_unused_value_expression_statement_preference = discard_variable
146-
147-
# 'using' ディレクティブの基本設定
148-
csharp_using_directive_placement = outside_namespace:silent
149-
150-
# 改行設定
151-
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true
152-
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true
153-
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true
154-
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true
155-
csharp_style_allow_embedded_statements_on_same_line_experimental = true
156-
157-
#### C# 書式ルール ####
158-
159-
# 改行設定
160-
csharp_new_line_before_catch = true
161-
csharp_new_line_before_else = true
162-
csharp_new_line_before_finally = true
163-
csharp_new_line_before_members_in_anonymous_types = true
164-
csharp_new_line_before_members_in_object_initializers = true
165-
csharp_new_line_before_open_brace = all
166-
csharp_new_line_between_query_expression_clauses = true
167-
168-
# インデント設定
169-
csharp_indent_block_contents = true
170-
csharp_indent_braces = false
171-
csharp_indent_case_contents = true
172-
csharp_indent_case_contents_when_block = true
173-
csharp_indent_labels = one_less_than_current
174-
csharp_indent_switch_labels = true
175-
176-
# スペース設定
177-
csharp_space_after_cast = false
178-
csharp_space_after_colon_in_inheritance_clause = true
179-
csharp_space_after_comma = true
180-
csharp_space_after_dot = false
181-
csharp_space_after_keywords_in_control_flow_statements = true
182-
csharp_space_after_semicolon_in_for_statement = true
183-
csharp_space_around_binary_operators = before_and_after
184-
csharp_space_around_declaration_statements = false
185-
csharp_space_before_colon_in_inheritance_clause = true
186-
csharp_space_before_comma = false
187-
csharp_space_before_dot = false
188-
csharp_space_before_open_square_brackets = false
189-
csharp_space_before_semicolon_in_for_statement = false
190-
csharp_space_between_empty_square_brackets = false
191-
csharp_space_between_method_call_empty_parameter_list_parentheses = false
192-
csharp_space_between_method_call_name_and_opening_parenthesis = false
193-
csharp_space_between_method_call_parameter_list_parentheses = false
194-
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
195-
csharp_space_between_method_declaration_name_and_open_parenthesis = false
196-
csharp_space_between_method_declaration_parameter_list_parentheses = false
197-
csharp_space_between_parentheses = false
198-
csharp_space_between_square_brackets = false
199-
200-
# 折り返しの設定
201-
csharp_preserve_single_line_blocks = true
202-
csharp_preserve_single_line_statements = true
203-
204-
#### 命名スタイル ####
205-
206-
# 名前付けルール
207-
208-
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
209-
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
210-
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
211-
212-
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
213-
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
214-
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
215-
216-
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
217-
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
218-
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
219-
220-
# 記号の仕様
221-
222-
dotnet_naming_symbols.interface.applicable_kinds = interface
223-
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
224-
dotnet_naming_symbols.interface.required_modifiers =
225-
226-
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
227-
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
228-
dotnet_naming_symbols.types.required_modifiers =
229-
230-
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
231-
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
232-
dotnet_naming_symbols.non_field_members.required_modifiers =
233-
234-
# 命名スタイル
235-
236-
dotnet_naming_style.pascal_case.required_prefix =
237-
dotnet_naming_style.pascal_case.required_suffix =
238-
dotnet_naming_style.pascal_case.word_separator =
239-
dotnet_naming_style.pascal_case.capitalization = pascal_case
240-
241-
dotnet_naming_style.begins_with_i.required_prefix = I
242-
dotnet_naming_style.begins_with_i.required_suffix =
243-
dotnet_naming_style.begins_with_i.word_separator =
244-
dotnet_naming_style.begins_with_i.capitalization = pascal_case
245-
246-
[*.{cs,vb}]
247-
dotnet_style_qualification_for_field = false:silent
248-
dotnet_style_qualification_for_property = false:silent
249-
dotnet_style_qualification_for_method = false:silent
250-
dotnet_style_qualification_for_event = false:silent
251-
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
252-
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
253-
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
254-
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
255-
dotnet_code_quality_unused_parameters = all:suggestion
256-
dotnet_style_readonly_field = true:suggestion
257-
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
258-
dotnet_style_coalesce_expression = true:suggestion
259-
dotnet_style_null_propagation = true:suggestion
260-
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
261-
dotnet_style_prefer_auto_properties = true:silent
262-
dotnet_style_object_initializer = true:suggestion
263-
dotnet_style_collection_initializer = true:suggestion
264-
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
265-
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
266-
dotnet_style_prefer_conditional_expression_over_return = true:silent
267-
dotnet_style_explicit_tuple_names = true:suggestion
268-
dotnet_style_prefer_inferred_tuple_names = true:suggestion
269-
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
270-
tab_width = 4
27111
indent_size = 4
272-
dotnet_style_operator_placement_when_wrapping = beginning_of_line
273-
end_of_line = crlf
274-
dotnet_diagnostic.CA1051.severity = none
27512

276-
277-
[{VS_PC_SDK,FaceData}.cs]
13+
# Essential project preferences
14+
csharp_style_var_for_built_in_types = true:warning
15+
csharp_style_var_when_type_is_apparent = true:warning
16+
csharp_style_var_elsewhere = true:warning
17+
csharp_prefer_braces = true:warning
18+
csharp_using_directive_placement = outside_namespace:warning
19+
csharp_style_namespace_declarations = file_scoped:warning
20+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
21+
22+
# Project-specific IDE rules
23+
csharp_style_unused_value_expression_statement_preference = unused_local_variable:warning
24+
25+
# Analyzer settings
26+
dotnet_analyzer_diagnostic.category-design.severity = warning
27+
dotnet_analyzer_diagnostic.category-globalization.severity = warning
28+
dotnet_analyzer_diagnostic.category-maintainability.severity = warning
29+
dotnet_analyzer_diagnostic.category-naming.severity = warning
30+
dotnet_analyzer_diagnostic.category-performance.severity = warning
31+
dotnet_analyzer_diagnostic.category-reliability.severity = warning
32+
dotnet_analyzer_diagnostic.category-security.severity = warning
33+
dotnet_analyzer_diagnostic.category-style.severity = warning
34+
dotnet_analyzer_diagnostic.category-usage.severity = warning
35+
36+
# Project-specific rule overrides
37+
dotnet_diagnostic.CA1031.severity = none # Do not catch general exception types - MOD safety
38+
dotnet_diagnostic.IDE0058.severity = none # Expression value is never used - UIBuilder patterns
39+
dotnet_diagnostic.IDE0290.severity = none # Use primary constructor (C# 12) - compatibility
40+
41+
# Legacy code compatibility
42+
dotnet_diagnostic.CA1051.severity = none
27843
dotnet_diagnostic.CA1401.severity = none
27944
dotnet_diagnostic.CA1707.severity = none
28045
dotnet_diagnostic.CA2101.severity = none
28146
dotnet_diagnostic.CA5392.severity = none
28247
dotnet_diagnostic.IDE0130.severity = none
48+
49+
[*.{xml,config,props,targets,resx}]
50+
indent_size = 2
51+
52+
[*.{json,yml,yaml}]
53+
indent_size = 2
54+
55+
[*.md]
56+
trim_trailing_whitespace = false
57+
58+
# ViveStreamingFaceTrackingModule directory - suppress warnings for external code
59+
[ViveStreamingFaceTrackingModule/*.cs]
60+
# Disable all analyzers for external/generated code
61+
dotnet_analyzer_diagnostic.category-design.severity = none
62+
dotnet_analyzer_diagnostic.category-globalization.severity = none
63+
dotnet_analyzer_diagnostic.category-maintainability.severity = none
64+
dotnet_analyzer_diagnostic.category-naming.severity = none
65+
dotnet_analyzer_diagnostic.category-performance.severity = none
66+
dotnet_analyzer_diagnostic.category-reliability.severity = none
67+
dotnet_analyzer_diagnostic.category-security.severity = none
68+
dotnet_analyzer_diagnostic.category-style.severity = none
69+
dotnet_analyzer_diagnostic.category-usage.severity = none
70+
71+
# Suppress specific common warnings in external code
72+
dotnet_diagnostic.CS0168.severity = none # Variable is declared but never used
73+
dotnet_diagnostic.CS0169.severity = none # Field is never used
74+
dotnet_diagnostic.CS0414.severity = none # Field is assigned but never used
75+
dotnet_diagnostic.CS0649.severity = none # Field is never assigned to
76+
dotnet_diagnostic.CS1591.severity = none # Missing XML comment
77+
dotnet_diagnostic.IDE0044.severity = none # Add readonly modifier
78+
dotnet_diagnostic.IDE0051.severity = none # Remove unused private members
79+
dotnet_diagnostic.IDE0052.severity = none # Remove unread private members
80+
dotnet_diagnostic.IDE0059.severity = none # Unnecessary assignment of a value
81+
dotnet_diagnostic.IDE0060.severity = none # Remove unused parameter

0 commit comments

Comments
 (0)