11차 F-12: C# 코드 스타일 맞춤 기본값을 AURORA 로
사용자 결정(2026-09-18): 제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로. - MergeHubSettings.CSharpBraceStyle 기본값 None → Aurora (한 줄, 까닭 주석) - C/C++ · XAML 은 고칠 것 없음 - CSharpStyle.Applies 가 확장자 .cs 만 본다 - 하네스 StyleTest +12 (78 → 90): 기본값 · 확장자별 적용 여부. 먼저 넣어 기본값 검사만 실패하는 것을 보고 시작 - 설정 파일 없는 첫 실행: 상태바 'C# AURORA' · C# 짝 차이 없음 · C++ 짝 남은 차이 4줄 · 새로 만든 설정에 1 - 웹 문서 매뉴얼 · 설정 표 · 시연 대본의 '기본은 끔' 을 고침 - 22벌 1,159건 통과 · 빌드 경고 0 오류 0 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
f597dd48fd
commit
df9202c6d5
@ -60,3 +60,36 @@
|
||||
- 폴더 창(`#32770`)은 데스크톱 바로 아래가 아니라 **본 창 아래**에 붙는다 → 본 창의 자손에서 찾게 고침.
|
||||
- 폴더 창의 경로 칸(`id 1152`)과 [이 폴더 선택](`id 1`)은 UIA 에서 **Pane** 으로 보이고, 같은 id 를 가진 다른 칸이 먼저 잡혔다 → id + 클래스(`Edit` · `Button`)로 고르고, 경로를 한 글자씩 친 뒤 Enter 로 닫게 함.
|
||||
- 백그라운드로 돌리면 앱 창이 앞으로 나오지 못해 마우스가 다른 창을 누른다 → **앞에서** 돌린다.
|
||||
|
||||
## F-12. C# 코드 스타일 맞춤의 기본값을 AURORA 로 (2026-09-18, 완료)
|
||||
|
||||
사용자: "기본값은 원본형태를 따르고 C#인 경우에 AURORA 스타일로 하자" → 물어서 정한 것은 **제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로**(켜져 있으면 저장도 그 스타일로 쓴다).
|
||||
|
||||
### 알아본 것
|
||||
|
||||
- C/C++ · XAML 은 고칠 것이 없었다. 스타일 맞춤은 `CSharpStyle.Applies` 가 **확장자 `.cs` 만** 보므로(`Services/CSharpStyle.cs:60`) 설정이 무엇이든 다른 파일은 원본 그대로 견준다.
|
||||
- 그래서 바뀐 것은 설정 기본값 한 줄뿐이다.
|
||||
|
||||
### 고친 것
|
||||
|
||||
| 자리 | 고친 것 |
|
||||
|---|---|
|
||||
| `MergeHubSettings.cs:77` | `CSharpBraceStyle` 기본값 `None` → **`Aurora`**. 왜 그렇게 정했는지와 "C# 파일에만 걸린다" 를 주석으로 남김 |
|
||||
| 웹 문서 매뉴얼 | "기본은 끔" → "**기본은 AURORA**(2026-09-18 결정) · 끄려면 콤보에서 [맞추지 않음]" · "C# 파일에만 걸린다" 한 줄 더함 |
|
||||
| 웹 문서 설정 표 | 기본값 칸 `끔` → `AURORA`, "`.cs` 파일에만 걸린다" |
|
||||
| 웹 문서 시연 대본 | "스타일 맞춤은 끔으로 둔다" → "기본이 AURORA 이므로 시연 전에 [맞추지 않음] 으로 바꿔 둔다" |
|
||||
| 하네스 `StyleTest` | **+12건(78 → 90)** — 설정 기본값이 AURORA 인지, `.cpp` · `.h` · `.hpp` · `.c` · `.xaml` · `.py` · `.txt` · `.cs.txt` 는 안 걸리는지, `.cs` · `.CS` · 한글 경로 `.cs` 는 걸리는지. 고치기 전에 먼저 넣어 **기본값 검사만 실패**하는 것을 보고 시작했다 |
|
||||
|
||||
### 확인한 것 — 설정 파일이 없는 첫 실행 (`e11-f12.ps1`)
|
||||
|
||||
설정 파일을 백업해 치우고, 중괄호 자리만 다른 짝 두 벌을 명령줄(`--diff`)로 열었다.
|
||||
|
||||
| 무엇 | 결과 |
|
||||
|---|---|
|
||||
| C# 짝(`left.cs` Allman · `right.cs` AURORA) | 요약 **"차이 없음"** · 상태바 `무시: 머지 주석 · C# AURORA` (`e11-f12-cs.png`) |
|
||||
| C++ 짝(`left.cpp` · `right.cpp`, 같은 모양의 중괄호 차이) | 요약 **"남은 차이 4줄"** — 원본 그대로 (`e11-f12-cpp.png`) |
|
||||
| 앱이 새로 만든 설정 파일 | `"CSharpBraceStyle": 1` (= Aurora) |
|
||||
| 설정 파일 되돌림 | 해시 같음 |
|
||||
|
||||
- 하네스 22벌 **1,159건** 통과(1,147 → +12) · 빌드 경고 0 · 오류 0.
|
||||
- 이미 설정 파일이 있는 PC 는 그 값을 그대로 쓴다. 이번 변경은 **설정이 없는 첫 실행**에만 닿는다.
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
| 날짜 | 항목 | 커밋 |
|
||||
|---|---|---|
|
||||
| 2026-09-18 | **11차 F-12 (추가 요청)** — C# 코드 스타일 맞춤의 제품 기본값을 끔 → **AURORA** 로(사용자 결정). 사내 코드가 이 스타일이라 설정을 켜지 않아도 중괄호 자리 차이를 안 보게 한다. C/C++ · XAML 은 원래부터 확장자 `.cs` 에만 걸려 손대지 않음. 저장 동작은 그대로. 설정 없는 첫 실행에서 AURORA 확인, C# 짝 "차이 없음" · C++ 짝 "남은 차이 4줄". 하네스 StyleTest +12(90건) | 아래 |
|
||||
| 2026-09-18 | **11차 A-1** — 변경분 추출을 화면에서 아홉 경우로 뽑아 git 과 대조(고치지 않음). 파일 고르기 · 바이트 보존(이진 · 한글 · 깊은 경로) · 범위 표시는 맞았다. 확정된 문제 넷: 지운 파일 · 이름 바뀐 옛 경로가 결과에 안 남음, 무엇과 무엇 사이를 뽑았는지 안 남음(병합 커밋은 첫 부모와만 · 거꾸로 범위도 말없이 됨), 비어 있지 않은 폴더에 묻지 않고 덮어써 옛 추출이 섞임, 쓰다 막히면 반쯤 뽑힌 채 멈춤. A-2 · A-3 으로 넘김. 제품 코드 변경 없음 | 아래 |
|
||||
| 2026-09-18 | **11차 F 절 (추가 요청)** — 사용자가 한꺼번에 준 열한 가지를 지시서에 넣음: 칸 이름 · 어느 파일인지(F-1) · 메서드 단위 반영(F-2) · 폴더 두 개 보내기 + 설치 없이 되는지(F-3) · 툴박스 감추기(F-4) · 글자 크기(F-5) · 넓게 보기(F-6) · 모니터(F-7) · 저장 뒤 되돌리기(F-8) · 백업 저장(F-9) · 덩어리 잇기 UI(F-10) · Git 계정 · 토큰 저장 확인(F-11). 항목마다 지금 코드가 어떤지와 정할 것을 함께 적음. 코드 변경 없음 | 아래 |
|
||||
| 2026-09-17 | **11차 지시서** — 10차 전부 끝(E-1 새로 걸린 것 없음). 기획안 v1.2 에서 "일부" 로 남은 것과 베타 전 확인에서 나온 것을 11차로 — A 변경분 추출(먼저 뽑아 보고 적기 · 지운 파일 · 범위 안내 · 비어 있지 않은 폴더 · ZIP) · B 배포 폴더가 09-07 것 · D 드라이브 고정 설정 위치 · C 커밋 메시지 수정(있는 [커밋 수정] 의 [마지막 메시지] 가 목록 맨 위 · 스테이징 파일이 말없이 들어감 · 작성자가 바뀜 · 작업 중에도 켜짐, 임의 커밋 수정은 할지 정함) · D 시험 도구 · E 확인 · 문서. 코드 변경 없음 | 아래 |
|
||||
|
||||
@ -407,7 +407,8 @@ UbisamBase.Shell.exe <span class="k">--merge --base</span> B.cs <span class="k">
|
||||
<ul>
|
||||
<li>편집 칸 글이 스타일 때문에 바뀌면 <b>저장할 것이 있는</b> 상태가 되고, 저장하면 그 스타일로 파일에 쓴다. 스타일만 바뀐 상태로 다른 파일을 열면 묻지 않는다.</li>
|
||||
<li>폴더 비교도 스타일만 다른 C# 파일은 <b>같음</b>. 줄끝이 다른 파일은 가리지 않는다.</li>
|
||||
<li>설정 [비교 옵션] “C# 코드 스타일 맞춤” 에 저장된다. 기본은 끔.</li>
|
||||
<li>설정 [비교 옵션] “C# 코드 스타일 맞춤” 에 저장된다. <b>기본은 AURORA</b> — 사내 코드가 이 스타일이라 설정을 찾아 켜지 않아도 중괄호 자리 때문에 생기는 차이를 안 보게 했다(2026-09-18 결정). 끄려면 콤보에서 <span class="btn-label">맞추지 않음</span>.</li>
|
||||
<li><b>C# 파일에만 걸린다.</b> C/C++ · XAML 처럼 확장자가 <code>.cs</code> 가 아닌 파일은 이 설정이 무엇이든 원본 그대로 견준다.</li>
|
||||
<li>옮기는 것은 여는 중괄호와 else · catch · finally 의 <b>줄 위치뿐</b>이다. 들여쓰기 · 공백은 그대로. 앞 줄 끝에 주석이 있으면 중괄호를 올리지 않는다.</li>
|
||||
</ul>
|
||||
<p class="small muted">시연 재료 <code>demo\style</code>: 스타일 끔 남은 차이 39줄 → AURORA 1줄(값 한 줄의 진짜 변경만 남는다).</p>
|
||||
@ -549,7 +550,7 @@ Accept Theirs (상대 쪽 파일 그대로) 15
|
||||
<tr><td>머지 주석</td><td>반영한 줄에 주석 남기기</td><td class="num">켬</td></tr>
|
||||
<tr><td></td><td>비교 · 병합에서 머지 주석 무시</td><td class="num">켬</td></tr>
|
||||
<tr><td></td><td>작성자 (비우면 git config user.name)</td><td class="num">비움</td></tr>
|
||||
<tr><td>비교 옵션</td><td>C# 코드 스타일 맞춤 (None=끔 · Aurora · Allman) — 파일 비교 화면 콤보와 같은 값</td><td class="num">끔</td></tr>
|
||||
<tr><td>비교 옵션</td><td>C# 코드 스타일 맞춤 (None=끔 · Aurora · Allman) — 파일 비교 화면 콤보와 같은 값. <code>.cs</code> 파일에만 걸린다</td><td class="num">AURORA</td></tr>
|
||||
</table></div>
|
||||
|
||||
<h2 id="m-limits">알아 둘 한계</h2>
|
||||
@ -1268,7 +1269,7 @@ D:\MergeHubDemo\repo\ <span class="d">make-demo.ps1 이 만드는 Git
|
||||
<li>PowerShell 에서 <code>powershell -ExecutionPolicy Bypass -File D:\Sorce\MergeTool\MergeHub\demo\make-demo.ps1</code>. 시연 직전에도 한 번 더 돌려 처음 상태로 만든다.</li>
|
||||
<li>저장소 병합을 미리 한 번 해 보고 충돌 수 · 자동으로 풀린 수를 적어 둔다(발표 때 숫자를 말하기 위해). 끝나면 make-demo.ps1 로 되돌린다.</li>
|
||||
<li>설정 → MergeHub → 데모: <b>.git 있는 폴더</b> = <code>D:\MergeHubDemo\repo</code>, <b>.git 없는 폴더</b> = <code>…\demo\plain\left</code>. 위 줄에 두 화면을 오가는 버튼이 생긴다.</li>
|
||||
<li>설정 → 머지 주석: “비교 · 병합에서 머지 주석 무시” 켬. 비교 옵션 “C# 코드 스타일 맞춤” 은 <b>끔</b>으로 둔다 — 시연 중에 화면에서 고르는 것을 보여 준다.</li>
|
||||
<li>설정 → 머지 주석: “비교 · 병합에서 머지 주석 무시” 켬. 비교 옵션 “C# 코드 스타일 맞춤” 은 기본이 AURORA 이므로, 시연 전에 콤보에서 <span class="btn-label">맞추지 않음</span> 으로 바꿔 둔다 — 시연 중에 화면에서 고르는 것을 보여 준다.</li>
|
||||
<li>셸 창을 최대화, 화면 배율 100~125%. 작업자 이름 창에는 발표자 이름.</li>
|
||||
</ol>
|
||||
|
||||
|
||||
@ -269,6 +269,13 @@
|
||||
- **정할 것**: 토큰을 저장할지. 저장한다면 **평문은 안 된다** — 윈도 자격 증명 관리자(DPAPI) 에 사용자 계정으로 묶어 넣는다. 저장하지 않기로 하면 매뉴얼에 그렇게 적는다.
|
||||
- **판정 기준**: 확인한 결과를 적는다. 저장하기로 하면 설정 파일 어디에도 토큰 글자가 없고(파일 grep 0), 껐다 켜도 Push 가 다시 묻지 않는다. 지우는 단추가 있다.
|
||||
|
||||
### F-12. C# 코드 스타일 맞춤의 **기본값을 AURORA 로** (2026-09-18, 사용자 결정 · 완료)
|
||||
|
||||
- 사용자: "기본값은 원본형태를 따르고 C#인 경우에 AURORA 스타일로 하자" → 물어 정한 것: **제품 기본값 AURORA · C# 파일만 · 저장 동작은 지금 그대로**(켜져 있으면 저장도 그 스타일로 쓴다).
|
||||
- 지금은: `MergeHubSettings.CSharpBraceStyle` 기본값이 `None`(끔). C/C++ · XAML 은 `CSharpStyle.Applies` 가 확장자 `.cs` 만 보므로 **어느 값이어도 원본 그대로**다 — 따로 고칠 것이 없다.
|
||||
- 2026-09-17 에 "비교할 때만 맞추고 저장은 원본대로" 하는 선택지는 만들지 않기로 했다. 이번 결정도 그 위에 선다.
|
||||
- **판정 기준**: 설정 파일이 없는 첫 실행에서 AURORA 로 시작한다. 중괄호 자리만 다른 C# 짝이 "차이 없음", 같은 모양의 C/C++ 짝은 차이가 그대로 남는다. 하네스에 기본값 · 확장자 검사를 넣는다. 매뉴얼 · 설정 표 · 시연 대본의 "기본은 끔" 을 고친다.
|
||||
|
||||
---
|
||||
|
||||
## 이번 지시서에서 하지 않는 것
|
||||
|
||||
@ -381,6 +381,7 @@
|
||||
| 대기 | F-9 백업본으로 저장 · 원본을 건드릴지 고르게 |
|
||||
| 대기 | F-10 덩어리가 어디로 갔는지 UI 로 잇기 (지금은 "자리 옮김" 색만) |
|
||||
| 대기 | F-11 Git 계정 · URL · 암호 저장 확인 (지금은 주소 · 계정만 저장, 토큰은 메모리) |
|
||||
| **완료** | F-12 C# 코드 스타일 맞춤 기본값을 AURORA 로 (2026-09-18 사용자 결정) — 설정 없는 첫 실행에서 AURORA, 중괄호만 다른 C# 짝 "차이 없음" · 같은 모양의 C++ 짝은 "남은 차이 4줄"(원본 그대로). 저장 동작은 그대로. 하네스 StyleTest +12(90건) |
|
||||
|
||||
---
|
||||
## 3~4주차로 미룬 것
|
||||
|
||||
@ -71,10 +71,15 @@ namespace MergeHub
|
||||
/// C# 파일을 비교하기 전에 중괄호 줄바꿈을 맞출 스타일(6차 추가).
|
||||
/// AURORA = 형식 · 메서드 중괄호만 새 줄, 나머지와 else/catch/finally 는 같은 줄. Allman = 모두 새 줄(Visual Studio 기본값).
|
||||
/// 켜면 편집 칸의 결과도 그 스타일로 저장된다.
|
||||
///
|
||||
/// <b>기본값은 AURORA</b>(11차 F-12, 2026-09-18 사용자 결정) - 사내 코드가 이 스타일이라
|
||||
/// 처음 켜는 사람이 설정을 찾아 켜지 않아도 중괄호 자리 때문에 생기는 차이를 안 보게 된다.
|
||||
/// <b>C# 파일에만 걸린다</b>(<see cref="MergeHub.Services.CSharpStyle.Applies"/> 가 확장자 .cs 만 본다) -
|
||||
/// C/C++ · XAML 같은 다른 파일은 어느 값이어도 원본 그대로다.
|
||||
/// </summary>
|
||||
[Category("비교 옵션")]
|
||||
[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.Aurora;
|
||||
|
||||
[Category("비교 옵션")]
|
||||
[DisplayName("단어 단위 diff")]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user