C# 스타일 Default 를 Allman 으로 이름 바꿈 · 웹 문서(매뉴얼·발표·기획안·시연) 원본

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
김승준 2026-09-14 14:09:50 +09:00
parent 6bd2bb7619
commit aed24b9bfa
12 changed files with 1446 additions and 22 deletions

View File

@ -17,7 +17,7 @@ powershell -ExecutionPolicy Bypass -File demo\make-demo.ps1
| 폴더 | 시연 | 볼 것 | | 폴더 | 시연 | 볼 것 |
|---|---|---| |---|---|---|
| `plain\left` · `plain\right` | 폴더 비교 | 같음 `Same.cs` · 다름 `CodeDiff.cs` · 주석만 다름 `CommentOnly.cs` · 머지 주석만 다름 `MergeNoteOnly.cs` · C# 스타일만 다름 `StyleOnly.cs` · 한쪽만 `LeftOnly.cs` / `RightOnly.cs` · XAML `Views\Recipe.xaml` · CP949 한글 `한글설명.cs` · 이진 `Logo.png` | | `plain\left` · `plain\right` | 폴더 비교 | 같음 `Same.cs` · 다름 `CodeDiff.cs` · 주석만 다름 `CommentOnly.cs` · 머지 주석만 다름 `MergeNoteOnly.cs` · C# 스타일만 다름 `StyleOnly.cs` · 한쪽만 `LeftOnly.cs` / `RightOnly.cs` · XAML `Views\Recipe.xaml` · CP949 한글 `한글설명.cs` · 이진 `Logo.png` |
| `style\Default.cs` · `style\Aurora.cs` | C# 스타일 맞춤 | 스타일 끔 **남은 차이 39줄** → AURORA 또는 Default **1줄**(`RetryCount` 3 → 5, 진짜 변경) | | `style\Allman.cs` · `style\Aurora.cs` | C# 스타일 맞춤 | 스타일 끔 **남은 차이 39줄** → AURORA 또는 Allman **1줄**(`RetryCount` 3 → 5, 진짜 변경) |
| `mergetool\` | `git mergetool` 네 칸 | BASE · LOCAL · REMOTE 세 벌, 결과 `Weld.cs` 는 git 모양 충돌 표시. 충돌 1 · 상대만 고친 줄 1 | | `mergetool\` | `git mergetool` 네 칸 | BASE · LOCAL · REMOTE 세 벌, 결과 `Weld.cs` 는 git 모양 충돌 표시. 충돌 1 · 상대만 고친 줄 1 |
| `big\` | 큰 파일 | 7,479줄. 끝까지 줄 번호 · "마지막 차이" 로 멀리 건너뛰기 | | `big\` | 큰 파일 | 7,479줄. 끝까지 줄 번호 · "마지막 차이" 로 멀리 건너뛰기 |
| `D:\MergeHubDemo\repo` | 병합 | 아래 | | `D:\MergeHubDemo\repo` | 병합 | 아래 |
@ -39,7 +39,7 @@ mergetool 네 칸으로 열기:
| `Line/Conveyor.cs` | 같은 줄을 양쪽이 다르게 고침 | 충돌 → 네 칸에서 줄 단위로 | | `Line/Conveyor.cs` | 같은 줄을 양쪽이 다르게 고침 | 충돌 → 네 칸에서 줄 단위로 |
| `Line/Laser.cs` | 코드 줄 위에 서로 다른 머지 주석 줄 | **자동으로 풀림**, 두 주석이 다 남음 | | `Line/Laser.cs` | 코드 줄 위에 서로 다른 머지 주석 줄 | **자동으로 풀림**, 두 주석이 다 남음 |
| `Line/Camera.cs` | 코드 줄 끝에 서로 다른 머지 주석 | **자동으로 풀림**, 한 줄 끝에 두 주석 | | `Line/Camera.cs` | 코드 줄 끝에 서로 다른 머지 주석 | **자동으로 풀림**, 한 줄 끝에 두 주석 |
| `Line/Style.cs` | 내 쪽 AURORA + 값 4, 상대 Default + 값 6 | 충돌. C# AURORA 를 고르면 남은 차이 39줄 → 1줄 | | `Line/Style.cs` | 내 쪽 AURORA + 값 4, 상대 Allman + 값 6 | 충돌. C# AURORA 를 고르면 남은 차이 39줄 → 1줄 |
| `Line/NewPanel.cs` | 양쪽이 같은 이름으로 새 파일 | 충돌(BASE 없음) | | `Line/NewPanel.cs` | 양쪽이 같은 이름으로 새 파일 | 충돌(BASE 없음) |
| `Line/ToBeDeleted.cs` | 내가 고침 · 상대가 지움 | [파일 남기기] / [파일 지우기] | | `Line/ToBeDeleted.cs` | 내가 고침 · 상대가 지움 | [파일 남기기] / [파일 지우기] |
| `Line/한글설명.cs` | CP949 한글 파일에서 같은 줄 | 충돌, 저장해도 CP949 유지 | | `Line/한글설명.cs` | CP949 한글 파일에서 같은 줄 | 충돌, 저장해도 CP949 유지 |

View File

@ -5,7 +5,7 @@
# #
# 만드는 것 # 만드는 것
# demo\plain\left · right 폴더 비교 # demo\plain\left · right 폴더 비교
# demo\style\Default.cs · Aurora.cs C# 스타일 맞춤 # demo\style\Allman.cs · Aurora.cs C# 스타일 맞춤
# demo\mergetool\... git mergetool 네 칸 # demo\mergetool\... git mergetool 네 칸
# demo\big\... 7,479줄 큰 파일 # demo\big\... 7,479줄 큰 파일
# -RepoRoot (기본 D:\MergeHubDemo\repo) 병합 시연 저장소 - 매번 지우고 새로 만든다 # -RepoRoot (기본 D:\MergeHubDemo\repo) 병합 시연 저장소 - 매번 지우고 새로 만든다

View File

@ -8,7 +8,7 @@ using MergeHub.Services;
// //
// demo 폴더 아래 (저장소에 커밋해 둔다) // demo 폴더 아래 (저장소에 커밋해 둔다)
// plain\left, plain\right 폴더 비교 // plain\left, plain\right 폴더 비교
// style\Default.cs, style\Aurora.cs C# 스타일 맞춤 // style\Allman.cs, style\Aurora.cs C# 스타일 맞춤
// mergetool\Weld_BASE.cs · Weld_LOCAL.cs · Weld_REMOTE.cs · Weld.cs git mergetool 네 칸 // mergetool\Weld_BASE.cs · Weld_LOCAL.cs · Weld_REMOTE.cs · Weld.cs git mergetool 네 칸
// big\Big7479_left.cs · Big7479_right.cs 큰 파일 // big\Big7479_left.cs · Big7479_right.cs 큰 파일
// 저장소 경로 (기본 D:\MergeHubDemo\repo, 커밋하지 않는다 - 매번 새로 만든다) // 저장소 경로 (기본 D:\MergeHubDemo\repo, 커밋하지 않는다 - 매번 새로 만든다)
@ -86,14 +86,14 @@ void ResetFolder(string dir)
ResetFolder(dir); ResetFolder(dir);
var sample = StyleSample(); var sample = StyleSample();
WriteText(Path.Combine(dir, "Default.cs"), sample); WriteText(Path.Combine(dir, "Allman.cs"), sample);
// AURORA 스타일로 바꾸고 진짜 변경을 한 줄 넣는다 - 스타일을 맞추면 이 한 줄만 남는다. // AURORA 스타일로 바꾸고 진짜 변경을 한 줄 넣는다 - 스타일을 맞추면 이 한 줄만 남는다.
var aurora = CSharpStyle.Format(sample, CSharpBraceStyle.Aurora) var aurora = CSharpStyle.Format(sample, CSharpBraceStyle.Aurora)
.Replace("public int RetryCount { get; set; } = 3;", "public int RetryCount { get; set; } = 5;"); .Replace("public int RetryCount { get; set; } = 3;", "public int RetryCount { get; set; } = 5;");
WriteText(Path.Combine(dir, "Aurora.cs"), aurora); WriteText(Path.Combine(dir, "Aurora.cs"), aurora);
Console.WriteLine($" style\\Default.cs ({sample.Split('\n').Length - 1}줄) · style\\Aurora.cs ({aurora.Split('\n').Length - 1}줄, 진짜 변경 1줄)"); Console.WriteLine($" style\\Allman.cs ({sample.Split('\n').Length - 1}줄) · style\\Aurora.cs ({aurora.Split('\n').Length - 1}줄, 진짜 변경 1줄)");
} }
// ================= 3. git mergetool 네 칸 ================= // ================= 3. git mergetool 네 칸 =================

View File

@ -694,7 +694,7 @@ MERGED 는 git 이 충돌 표시를 넣어 둔 파일이라, 두 칸으로는
## E-1. C# 코드 스타일 맞춤 (2026-09-14, 추가 요청, 완료) ## E-1. C# 코드 스타일 맞춤 (2026-09-14, 추가 요청, 완료)
사용자 요청: Visual Studio [텍스트 편집기 > C# > 코드 스타일 > 서식 > 줄 바꿈] 옵션 그림과 같은 스타일(AURORA)이 아니면 diff 가 많이 뜬다. C# 이면 그 스타일로 자동으로 맞춰 달라. AURORA 와 Default 를 고를 수 있게. 사용자 요청: Visual Studio [텍스트 편집기 > C# > 코드 스타일 > 서식 > 줄 바꿈] 옵션 그림과 같은 스타일(AURORA)이 아니면 diff 가 많이 뜬다. C# 이면 그 스타일로 자동으로 맞춰 달라. AURORA 와 Allman 를 고를 수 있게.
### 그림에서 읽은 AURORA ### 그림에서 읽은 AURORA
@ -705,14 +705,14 @@ MERGED 는 git 이 충돌 표시를 넣어 둔 파일이라, 두 칸으로는
| "else" · "catch" · "finally" 새 줄 | 끔(`} else {`) | | "else" · "catch" · "finally" 새 줄 | 끔(`} else {`) |
| 개체 초기화 멤버 · 익명 형식 멤버 · 쿼리 절 새 줄 | ✓ (손대지 않는다) | | 개체 초기화 멤버 · 익명 형식 멤버 · 쿼리 절 새 줄 | ✓ (손대지 않는다) |
Default 는 Visual Studio 기본 - 모두 새 줄. Allman 은 모두 새 줄(Visual Studio 기본값과 같다). 처음에는 Default 라고 불렀으나 사용자 요청으로 바꿨다 - 팀에서 Default 는 C++ 스타일을 가리킨다.
### 만든 것 ### 만든 것
| 파일 | 무엇 | | 파일 | 무엇 |
|---|---| |---|---|
| `Services/CSharpStyle.cs` (새) | 중괄호 · else/catch/finally 의 **줄 위치만** 옮긴다. 주석 · 문자열 · 보간 문자열 · 전처리 줄은 가려서 본다. 중괄호 앞 머리를 거꾸로 읽어 갈래(형식 · 메서드 · 속성 · 접근자 · 익명 메서드 · 제어 · 익명 형식 · 초기화 · 람다)를 정하고 옵션표대로 올리거나 내린다. 앞 줄 끝에 주석이 있으면 올리지 않는다. 판단할 수 없는 블록은 그대로. 바꿀 것이 없으면 받은 글 그대로 | | `Services/CSharpStyle.cs` (새) | 중괄호 · else/catch/finally 의 **줄 위치만** 옮긴다. 주석 · 문자열 · 보간 문자열 · 전처리 줄은 가려서 본다. 중괄호 앞 머리를 거꾸로 읽어 갈래(형식 · 메서드 · 속성 · 접근자 · 익명 메서드 · 제어 · 익명 형식 · 초기화 · 람다)를 정하고 옵션표대로 올리거나 내린다. 앞 줄 끝에 주석이 있으면 올리지 않는다. 판단할 수 없는 블록은 그대로. 바꿀 것이 없으면 받은 글 그대로 |
| `ViewModels/HomeViewModel.cs` | 비교 규칙 칸에 [C# 스타일 끔 / C# AURORA / C# Default]. 고르면 원본부터 다시 읽어 BASE · LOCAL · REMOTE 를 맞춘다(Git 두 칸 · 네 칸 · 파일 두 개 · mergetool). 편집 칸 글이 바뀌면 저장할 것이 있는 상태, 저장하면 그 스타일로 파일에 쓴다. **스타일만 바뀐 편집은 파일을 바꿀 때 묻지 않는다**(묻게 두면 파일마다 창이 뜬다). 상태바 요약에 스타일 | | `ViewModels/HomeViewModel.cs` | 비교 규칙 칸에 [C# 스타일 끔 / C# AURORA / C# Allman]. 고르면 원본부터 다시 읽어 BASE · LOCAL · REMOTE 를 맞춘다(Git 두 칸 · 네 칸 · 파일 두 개 · mergetool). 편집 칸 글이 바뀌면 저장할 것이 있는 상태, 저장하면 그 스타일로 파일에 쓴다. **스타일만 바뀐 편집은 파일을 바꿀 때 묻지 않는다**(묻게 두면 파일마다 창이 뜬다). 상태바 요약에 스타일 |
| `Services/FolderComparer.cs` · `FolderViewModel.cs` | 스타일만 다른 C# 파일은 **같음**. 줄끝이 다르면 가리지 않는다 | | `Services/FolderComparer.cs` · `FolderViewModel.cs` | 스타일만 다른 C# 파일은 **같음**. 줄끝이 다르면 가리지 않는다 |
| `MergeHubSettings.cs` | [비교 옵션] "C# 코드 스타일 맞춤", 기본 끔 | | `MergeHubSettings.cs` | [비교 옵션] "C# 코드 스타일 맞춤", 기본 끔 |
@ -720,16 +720,16 @@ Default 는 Visual Studio 기본 - 모두 새 줄.
### 확인한 것 ### 확인한 것
만든 시연 재료(`demo\style\Default.cs` 132줄, `Aurora.cs` 는 같은 코드를 AURORA 로 맞추고 값 한 줄 `RetryCount` 3 → 5). 만든 시연 재료(`demo\style\Allman.cs` 132줄, `Aurora.cs` 는 같은 코드를 AURORA 로 맞추고 값 한 줄 `RetryCount` 3 → 5).
| 확인 | 남은 차이 | 저장 | | 확인 | 남은 차이 | 저장 |
|---|---|---| |---|---|---|
| 스타일 끔 | **39줄** | 꺼짐 | | 스타일 끔 | **39줄** | 꺼짐 |
| C# AURORA | **1줄** (RetryCount) | 꺼짐 - 편집 칸이 이미 AURORA | | C# AURORA | **1줄** (RetryCount) | 꺼짐 - 편집 칸이 이미 AURORA |
| C# Default | 1줄 | **켜짐** - 편집 칸이 Default 로 바뀜 | | C# Allman | 1줄 | **켜짐** - 편집 칸이 Allman 로 바뀜 |
| 다시 끔 | 39줄 | 꺼짐, **확인 창 안 뜸** | | 다시 끔 | 39줄 | 꺼짐, **확인 창 안 뜸** |
시연 저장소(`D:\MergeHubDemo\repo`)를 MergeHub 로 병합 → `Line/Style.cs`(내 쪽 AURORA + 값 4, 상대 Default + 값 6) 네 칸: 끔 **남은 충돌 1 · 차이 39줄** → AURORA **충돌 1 · 차이 1줄**. 시연 저장소(`D:\MergeHubDemo\repo`)를 MergeHub 로 병합 → `Line/Style.cs`(내 쪽 AURORA + 값 4, 상대 Allman + 값 6) 네 칸: 끔 **남은 충돌 1 · 차이 39줄** → AURORA **충돌 1 · 차이 1줄**.
설정 화면에 저장된 값은 `"CSharpBraceStyle": 1`. 확인 뒤 설정 파일은 원래 바이트로 되돌렸다. 설정 화면에 저장된 값은 `"CSharpBraceStyle": 1`. 확인 뒤 설정 파일은 원래 바이트로 되돌렸다.

View File

@ -8,7 +8,7 @@
| 날짜 | 항목 | 커밋 | | 날짜 | 항목 | 커밋 |
|---|---|---| |---|---|---|
| 2026-09-14 | **E-1 C# 코드 스타일 맞춤** — AURORA(형식 · 메서드만 새 줄, `} else {`) / Default(모두 새 줄)로 중괄호 줄바꿈을 맞춘 뒤 비교. 두 칸 · 네 칸 · mergetool · 폴더 비교, 설정. 스타일만 바뀐 편집은 파일을 바꿀 때 묻지 않음. StyleTest 78건 | 아래 | | 2026-09-14 | **E-1 C# 코드 스타일 맞춤** — AURORA(형식 · 메서드만 새 줄, `} else {`) / Allman(모두 새 줄)로 중괄호 줄바꿈을 맞춘 뒤 비교. 두 칸 · 네 칸 · mergetool · 폴더 비교, 설정. 스타일만 바뀐 편집은 파일을 바꿀 때 묻지 않음. StyleTest 78건 | 아래 |
| 2026-09-14 | **E-2 시연 재료** — `demo\make-demo.ps1` · `tools\DemoMaker`. 지어낸 코드로 폴더 비교 · 스타일 · mergetool · 큰 파일 · 병합 저장소(`D:\MergeHubDemo\repo`) | 아래 | | 2026-09-14 | **E-2 시연 재료** — `demo\make-demo.ps1` · `tools\DemoMaker`. 지어낸 코드로 폴더 비교 · 스타일 · mergetool · 큰 파일 · 병합 저장소(`D:\MergeHubDemo\repo`) | 아래 |
| 2026-09-14 | **6차 B-6** — 충돌 탭에서 여러 파일을 골라(Ctrl · Shift) Accept 를 한 번에. 작업 하나로 풀고 저장소 다시 읽기는 끝에 한 번. 같은 줄 충돌 15개 22.0초 → 1.2초 | 아래 | | 2026-09-14 | **6차 B-6** — 충돌 탭에서 여러 파일을 골라(Ctrl · Shift) Accept 를 한 번에. 작업 하나로 풀고 저장소 다시 읽기는 끝에 한 번. 같은 줄 충돌 15개 22.0초 → 1.2초 | 아래 |
| 2026-09-14 | **6차 B-5** — 머지 주석을 비교에서 무시(주석 줄은 거르고 줄 끝 주석은 떼고 견줌). 주석만 다른 git 충돌은 양쪽 주석을 남겨 자동으로 풂. 정렬이 주석 줄과 코드 줄을 짝지으면 떼어 놓음. 폴더 비교도. 설정 [머지 주석] 에서 끔 | 아래 | | 2026-09-14 | **6차 B-5** — 머지 주석을 비교에서 무시(주석 줄은 거르고 줄 끝 주석은 떼고 견줌). 주석만 다른 git 충돌은 양쪽 주석을 남겨 자동으로 풂. 정렬이 주석 줄과 코드 줄을 짝지으면 떼어 놓음. 폴더 비교도. 설정 [머지 주석] 에서 끔 | 아래 |

1424
doc/web/index.html Normal file

File diff suppressed because one or more lines are too long

View File

@ -117,7 +117,7 @@
| 상태 | 항목 | | 상태 | 항목 |
|---|---| |---|---|
| **완료** | E-1 C# 코드 스타일 맞춤 (AURORA · Default) — 비교 전에 중괄호 줄바꿈을 맞춤. 두 칸 · 네 칸 · 폴더 비교, 설정. 스타일만 다른 파일 남은 차이 39줄 → 1줄 | | **완료** | E-1 C# 코드 스타일 맞춤 (AURORA · Allman) — 비교 전에 중괄호 줄바꿈을 맞춤. 두 칸 · 네 칸 · 폴더 비교, 설정. 스타일만 다른 파일 남은 차이 39줄 → 1줄 |
| **완료** | E-2 발표 시연 재료 `demo\` — `make-demo.ps1` 한 번으로 폴더 비교 · 스타일 · mergetool · 큰 파일 · 병합 저장소 | | **완료** | E-2 발표 시연 재료 `demo\` — `make-demo.ps1` 한 번으로 폴더 비교 · 스타일 · mergetool · 큰 파일 · 병합 저장소 |
| **완료** | E-3 웹 문서 — 사용자 매뉴얼 · 발표 자료 · 남은 일 · 개발 현황 · 기획안 최신화 · 시연 대본 · WinMerge 비교 | | **완료** | E-3 웹 문서 — 사용자 매뉴얼 · 발표 자료 · 남은 일 · 개발 현황 · 기획안 최신화 · 시연 대본 · WinMerge 비교 |

View File

@ -69,11 +69,11 @@ namespace MergeHub
/// <summary> /// <summary>
/// C# 파일을 비교하기 전에 중괄호 줄바꿈을 맞출 스타일(6차 추가). /// C# 파일을 비교하기 전에 중괄호 줄바꿈을 맞출 스타일(6차 추가).
/// AURORA = 형식 · 메서드 중괄호만 새 줄, 나머지와 else/catch/finally 는 같은 줄. Default = Visual Studio 기본(모두 새 줄). /// AURORA = 형식 · 메서드 중괄호만 새 줄, 나머지와 else/catch/finally 는 같은 줄. Allman = 모두 새 줄(Visual Studio 기본값).
/// 켜면 편집 칸의 결과도 그 스타일로 저장된다. /// 켜면 편집 칸의 결과도 그 스타일로 저장된다.
/// </summary> /// </summary>
[Category("비교 옵션")] [Category("비교 옵션")]
[DisplayName("C# 코드 스타일 맞춤 (None=끔 · Aurora · Default)")] [DisplayName("C# 코드 스타일 맞춤 (None=끔 · Aurora · Allman)")]
public MergeHub.Services.CSharpBraceStyle CSharpBraceStyle { get; set; } = MergeHub.Services.CSharpBraceStyle.None; public MergeHub.Services.CSharpBraceStyle CSharpBraceStyle { get; set; } = MergeHub.Services.CSharpBraceStyle.None;
[Category("비교 옵션")] [Category("비교 옵션")]

View File

@ -19,8 +19,8 @@ namespace MergeHub.Services
/// </summary> /// </summary>
Aurora = 1, Aurora = 1,
/// <summary>Visual Studio 기본. 여는 중괄호는 모두 새 줄, else · catch · finally 도 새 줄.</summary> /// <summary>Allman. 여는 중괄호는 모두 새 줄, else · catch · finally 도 새 줄(Visual Studio 기본값과 같다).</summary>
Default = 2, Allman = 2,
} }
/// <summary> /// <summary>
@ -62,7 +62,7 @@ namespace MergeHub.Services
public static string Label(CSharpBraceStyle style) => style switch public static string Label(CSharpBraceStyle style) => style switch
{ {
CSharpBraceStyle.Aurora => "AURORA", CSharpBraceStyle.Aurora => "AURORA",
CSharpBraceStyle.Default => "Default", CSharpBraceStyle.Allman => "Allman",
_ => "끔", _ => "끔",
}; };
@ -97,7 +97,7 @@ namespace MergeHub.Services
/// <summary>그 갈래의 여는 중괄호를 새 줄에 둘지.</summary> /// <summary>그 갈래의 여는 중괄호를 새 줄에 둘지.</summary>
public static bool OpenBraceOnNewLine(BraceKind kind, CSharpBraceStyle style) => public static bool OpenBraceOnNewLine(BraceKind kind, CSharpBraceStyle style) =>
style == CSharpBraceStyle.Default || kind is BraceKind.Type or BraceKind.Method; style == CSharpBraceStyle.Allman || kind is BraceKind.Type or BraceKind.Method;
// ================= else · catch · finally ================= // ================= else · catch · finally =================

View File

@ -2786,7 +2786,7 @@ namespace MergeHub.ViewModels
// ================= C# 코드 스타일 맞춤 (6차 추가) ================= // ================= C# 코드 스타일 맞춤 (6차 추가) =================
/// <summary>콤보에 보이는 이름. 순서가 <see cref="CSharpBraceStyle"/> 값과 같다.</summary> /// <summary>콤보에 보이는 이름. 순서가 <see cref="CSharpBraceStyle"/> 값과 같다.</summary>
public IReadOnlyList<string> CSharpStyleNames { get; } = new[] { "C# 스타일 끔", "C# AURORA", "C# Default" }; public IReadOnlyList<string> CSharpStyleNames { get; } = new[] { "C# 스타일 끔", "C# AURORA", "C# Allman" };
/// <summary> /// <summary>
/// 고른 스타일. 바꾸면 지금 파일을 <b>원본부터 다시 읽어</b> 그 스타일로 맞춘다. /// 고른 스타일. 바꾸면 지금 파일을 <b>원본부터 다시 읽어</b> 그 스타일로 맞춘다.

View File

@ -1669,7 +1669,7 @@
<ComboBox ItemsSource="{Binding CSharpStyleNames}" SelectedIndex="{Binding CSharpStyleIndex}" <ComboBox ItemsSource="{Binding CSharpStyleNames}" SelectedIndex="{Binding CSharpStyleIndex}"
MinHeight="26" FontSize="11" Margin="2,4,2,0" MinHeight="26" FontSize="11" Margin="2,4,2,0"
Visibility="{Binding IsRulesOpen, Converter={StaticResource BoolToVis}}" Visibility="{Binding IsRulesOpen, Converter={StaticResource BoolToVis}}"
ToolTip="C# 파일의 여는 중괄호 · else/catch/finally 줄바꿈을 이 스타일로 맞춘 뒤 비교합니다.&#x0a;AURORA: 형식 · 메서드 중괄호만 새 줄, 나머지는 같은 줄, } else {&#x0a;Default: Visual Studio 기본 - 모두 새 줄&#x0a;편집 칸 글이 바뀌면 저장할 때 그 스타일로 저장됩니다."/> ToolTip="C# 파일의 여는 중괄호 · else/catch/finally 줄바꿈을 이 스타일로 맞춘 뒤 비교합니다.&#x0a;AURORA: 형식 · 메서드 중괄호만 새 줄, 나머지는 같은 줄, } else {&#x0a;Allman: 모두 새 줄 (Visual Studio 기본값)&#x0a;편집 칸 글이 바뀌면 저장할 때 그 스타일로 저장됩니다."/>
<Button Content="{Binding ReadOnlyLabel}" Click="ToggleReadOnly_Click" <Button Content="{Binding ReadOnlyLabel}" Click="ToggleReadOnly_Click"
MinHeight="28" FontSize="11" Margin="2,4,2,0" MinHeight="28" FontSize="11" Margin="2,4,2,0"
Visibility="{Binding IsRulesOpen, Converter={StaticResource BoolToVis}}" Visibility="{Binding IsRulesOpen, Converter={StaticResource BoolToVis}}"