Show HN: Visual Studio용 Claude 코드 (수락/거부 기능이 있는 네이티브 diff 포함)
요약
Anthropic의 Claude Code 기능을 Visual Studio 2026에 네이티브하게 통합한 커뮤니티 프로젝트입니다. 이 확장은 수락/거부 기능이 있는 diff 창, 자동 선택 및 컴파일러 진단 컨텍스트 등 고급 IDE 기능을 제공하여, AI가 개발 환경에서 더 깊이 상호작용할 수 있게 합니다.
핵심 포인트
- Visual Studio 2026 전용의 Claude Code 통합 확장입니다.
- 네이티브 diff 창을 통해 수정 사항에 대한 승인/거부 기능이 추가되었습니다.
- 디버거 구동, 컴파일러 진단 읽기 등 고급 개발 환경 상호작용 기능을 제공합니다.
Visual Studio용 Claude 코드
Claude Code를 Visual Studio 2026에 가져오세요. claude CLI가 에이전트 작업을 수행합니다. 이 확장은 Claude Code 통합 프로토콜의 IDE 측면입니다: 수락 및 거부 기능이 있는 네이티브 diff 창, 자동 선택 및 컴파일러 진단 컨텍스트, Claude가 읽고 구동할 수 있는 라이브 디버거, 역컴파일 기능을 갖춘 Roslyn 코드 탐색, 그리고 디버거 하에서 실패를 포착하는 테스트 러너를 제공합니다.

Claude 세션이 Visual Studio 디버거를 구동하여 출력에서는 보이지 않는 버그를 찾은 다음, 네이티브 diff 창에 수정 사항을 여는 모습.
상태: Anthropic과 제휴되지 않은 커뮤니티 프로젝트입니다. 현재 Visual Studio 2026 전용입니다. claude 2.1.223으로 테스트되었습니다.
기능 바로가기: 네이티브 diff · 디버거 구동 · 데이터 중단점 · 간헐적 테스트 포착 · 시맨틱 탐색 · 통합 터미널 · 파일 첨부 · Claude의 시력 · 패널
더 알아보기: 얻을 수 있는 것 · 요구 사항 · 설치 · 빠른 시작 · 작동 방식 · 개인 정보 및 보안 · 제한 사항 및 알려진 문제 · 문제 해결 · 소스에서 빌드
왜 필요한가 (Why)
Claude Code는 VS Code와 JetBrains용 최고 수준의 IDE 통합을 제공하지만, Visual Studio는 그렇지 않습니다. 이 확장은 동일한 통합 프로토콜을 네이티브하게 VS에 구현하여, CLI가 터미널에 복사-붙여넣기 하는 대신 실제 Visual Studio diff 창을 구동하고 사용자의 선택 및 빌드 오류를 읽게 합니다.
이러한 요구 사항은 Claude Code 트래커에서 확인되었습니다. 이 요청들은 확장이 제공하는 기능을 문의합니다:
- Visual Studio 지원: VS 2026용 #15942 및 VS 2022 이상용 #70516.
- Claude가 사용할 수 있는 디버거: 재현하기 어려운 런타임 버그를 목표로 하는 인터랙티브 디버그 모드용 #13865 및 디버거 상태, 변수와 호출 스택을 Claude에게 노출하기 위한 #27110.
- 더 많은 IDE 지원 및 강력한 C#/.NET 코드 인텔리전스: VS Code와 JetBrains를 넘어선 IDE용 #1234 및 Roslyn 탐색 기능이 제공하는 C# 코드 인텔리전스용 #16360.
얻게 되는 것들
-
단일 수락/거부 게이트를 가진 네이티브 diff: Claude의 수정 사항은 Visual Studio의 diff 뷰어에서 열리며, 여기서 승인하는 것이 유일한 단계입니다 (터미널에 중복된 y/n 프롬프트 없음).
-
피드백과 함께 거부: 수정을 거부하고 Claude에게 무엇을 변경해야 할지 알려주면, Claude는 사용자의 메모를 참고하여 재고합니다.
-
자유롭게 실행 (자동 수락): diff를 열지 않고도 수정을 적용하는 패널 토글입니다. Claude가 작업을 진행하도록 맡기고 싶을 때 사용하며, 매 세션마다 초기화됩니다.
-
진단 공유: Claude는 Visual Studio의 컴파일러 오류 및 경고(C# 및 C++)를 읽고 수정합니다.
-
IDE 방식대로 빌드: Claude는 별도의
dotnet build가 아닌 Visual Studio 자체의 빌드를 실행하여, 파일, 줄, 프로젝트와 함께 실제 오류 및 경고를 받습니다. 이는 중요합니다. 왜냐하면 해당 진단이 나오는 Error List는 IDE의 빌드에 의해 채워지기 때문입니다. 따라서 이전에는 Claude가 사용자가 마지막으로 수동으로Ctrl+Shift+B로 남긴 것을 읽었습니다. 이제는 단일 프로젝트(또는 수정된 파일만 소유한 프로젝트)를 빌드할 수 있으며, 긴 빌드는 시간 초과 없이 백그라운드에서 계속 실행됩니다. 전체 참고 자료:docs/BUILD.md. -
출력(Output) 창 읽기 - F5 아래에 있는 출력 창에는 프로그램이 말하는 많은 내용이 터미널로 전달되지 않습니다:
Debug/Trace출력, 어셈블리 바인딩 실패, 그리고 예외가 포착되고 무시되더라도 첫 번째 기회 예외 통지. 이 모든 것이 Output 창의 Debug 패널에 기록되며, 어떤 CLI도 볼 수 없습니다. Claude는 이를 읽고, 필터링하고, 추적(tail)할 수 있습니다. 전체 참고 자료:docs/BUILD.md. -
의미론적 코드 탐색 - Claude는 텍스트를 검색하는 대신 Visual Studio의 컴파일러(Roslyn)에 C#의 해석된 의미를 요청합니다: find-all-references, go-to-definition, find-implementations, 그리고 호출/타입 계층 구조. 이것들은 간접적 및 인터페이스 디스패치 참조, 올바른 오버로드, 명시적 인터페이스 구현, 영향 분석을 위한 전이적 호출자 등 텍스트 검색이 틀리기 쉬운 '진실 값(ground-truth)' 답변들입니다. 디버깅 세션이 필요하지 않습니다. C#/VB 솔루션이 로드되는 경우 언제든지 작동합니다. 전체 참고 자료:
docs/SEMANTIC.md. -
라이브 디버거 - 브레이크포인트에서 일시 중지된 동안, Claude는 프로그램의 런타임 상태(호출 스택, 변수 값, 스레드)를 파악하며, 선택적으로 디버거를 구동할 수 있습니다: 계속 진행(continue), 단계별 실행(step), 브레이크포인트 설정, 예외 발생 지점에서 중단(break at the throw site of an exception), 값이 변경되는 순간에 중단하는 데이터 브레이크포인트 설정(또는 전체 변경 이력을 추적), 실행 중인 앱(호스팅 웹 서비스 또는 데스크톱 앱, 단순히 F5가 아님)에 연결(attach), 그리고 스레드 전반의 락 소유권 체인을 따라 정확한 순환 고리까지 추적하여 교착 상태(deadlock)를 해결하기 위해 정지된 프로세스에 붙어 풀기. 전체 참고 자료:
docs/DEBUGGER.md. -
테스트 통합 - Claude는 Visual Studio의 Test Explorer 엔진을 통해 단위 테스트를 발견하고, 실행하며, 디버깅합니다: 실제 개별 테스트 결과(결과, 메시지, 스택), 실패한 것만 재실행, 또는 실패하는 테스트를 디버거로 실행하여 오류 지점에서 멈추거나, 불안정한 테스트(flaky test)가 실패할 때까지 반복적으로 실행하여 그 시도를 적발하고 실패 내부에서 일시 중지합니다.
디버거 자체 세션이기 때문에, 빨간색 테스트는 라이브 조사(live investigation)가 됩니다. 전체 참고 자료: docs/TESTING.md.
-
Claude가 변경한 곳으로 이동 (Jump to what Claude changed) - Claude가 만드는 모든 변경 사항은 패널에 클릭 가능한 행으로 표시되며, 해당 정확한 라인에서 파일을 엽니다. 파일당 한 개가 아닌, 변경된 영역마다 하나의 행이 있으며 각각
+3 -1카운트를 가집니다. 현재 턴(turn)에 범위가 지정되어 있어 짧게 유지되며, 자동 수락(auto-accept) 기능이 켜져 있을 때 무슨 일이 일어났는지 기록하는 유일한 기록입니다.F8을 누르면 출력 창에서 전체 세션의 변경 사항을 단계별로 진행할 수 있습니다. 전체 참고 자료:docs/QOL.md. -
선택 영역 컨텍스트 (Selection context) - Claude는 사용자가 보고 있는 파일과 라인을 자동으로 파악합니다.
-
마우스 오른쪽 버튼 클릭 → Claude Code - 일반적인 요청들을 원클릭으로 처리할 수 있는 에디터 컨텍스트 메뉴가 제공됩니다: 설명(Explain) 및 채팅에 추가(Add to Chat) (
Alt+K)를 통해 선택 영역이나 파일을 Claude에게 전달합니다; **오류 수정(Fix Errors)**은 코드와 실제 오류 목록(Error List) 진단 결과를 함께 묶어줍니다; 문서 생성(Generate Documentation) 및 **주석 추가(Add Comments)**는 Roslyn을 통해 커서 위치의 함수를 해결하며, 선택 영역이 필요하지 않습니다. 테스트 파일에서는 테스트 수정(Fix This Test) 기능이 실행 → 디버깅-발생지에서 수정→재실행 루프를 Claude에게 전달합니다. 아무것도 자동으로 제출되지 않습니다: 참조는 CLI 컴포저에 도착하고, 터미널에 포커스가 맞춰져 Enter 키가 전송되며, 모든 편집은 여전히 diff 게이트를 거칩니다. 전체 참고 자료:docs/QOL.md. -
마우스 오른쪽 버튼 클릭 → 솔루션 탐색기에서 채팅에 추가 (Add to Chat in Solution Explorer) - Claude가 아직 열지 않은 파일들을 지정할 수 있습니다: 원하는 개수의 파일(또는 폴더, 또는 프로젝트를 가로지르는 선택 영역)을 선택하고 마우스 오른쪽 버튼을 클릭하면 각각이
@로 언급된 전체 파일이 됩니다. 폴더는 자체적으로 언급되며 - CLI가 트리를 탐색합니다 - 모든 참조는 토큰 추정치와 함께 트레이 칩(tray chip) 형태로 도착합니다. 전체 참고 자료:docs/QOL.md. -
IDE 자체 터미널 내 Claude 사용 - 실행 시 Visual Studio의 도킹된 Terminal 도구 창(Developer PowerShell과 같은 그룹) 안에
claude를 열어 연결됩니다. 데스크톱 위에 떠 있는 것이 아니라 다른 VS 터미널처럼 도킹되고 탭으로 관리됩니다. 외부 콘솔 버튼을 통해 독립형 창 옵션을 유지할 수 있습니다. 전체 참고 자료:docs/QOL.md. -
스크린샷 및 파일 첨부 - Windows CLI는 붙여넣기된 스크린샷을 전혀 처리할 수 없기 때문에, 패널이 붙여넣기 지점 역할을 합니다: Win+Shift+S를 누른 후 **붙여넣기(Paste)**를 클릭하거나 Explorer에서 파일을 드롭하면, 실제 이미지가 첨부된
@참조가 CLI의 입력 상자에 직접 나타납니다. 모든 첨부 파일은 전송 전에 예상 토큰 비용을 표시하며, Excel/비디오/아카이브도 첨부가 가능합니다 (Claude는 경로를 받아 스크립트를 찾습니다). 스테이징된 사본들은 gitignore 처리된.claude/attachments/폴더에 보관됩니다. 전체 참고 자료:docs/QOL.md. -
스크린 캡처: Claude가 자체 스크린샷 촬영 (선택적) - 두 개의 게이티드 도구가 Claude에게 시력을 제공합니다: 디버깅 중인 앱 창, 제목으로 지정하는 모든 창(사이트를 보여주는 브라우저), VS 창 또는 전체 화면을 캡처할 수 있습니다. 캡처된 내용은 토큰 추정치가 표시되는 보이는 칩 형태로 첨부 트레이에 나타나며, 이 도구는 경로를 반환하고 Claude가 실제 시력으로 읽습니다 - UI 레이아웃, 이미지, 렌더링된 페이지, 파일이 아닌 창의 텍스트 등이 포함됩니다. 기본적으로 스크린 캡처 허용(Allow screen capture) 토글 뒤에 숨겨져 있으며, 모든 캡처는 기록됩니다. 전체 참고 자료:
docs/VISION.md. -
알림 - Claude가 응답을 완료했거나 사용자 입력을 필요로 할 때 (권한 프롬프트 또는 대기 상태일 때) IDE 내에서 알림이 발생합니다: Visual Studio의 알림 표시줄과 VS가 백그라운드에 있을 때 작업 표시줄 깜빡임으로 알려줍니다. 다른 창 작업을 하는 동안에도 작동할 수 있습니다. 패널 토글을 통해 소리를 끌 수 있습니다. 전체 참고 자료:
docs/QOL.md. -
Live panel - 연결 상태, 수정 결정 사항, 추정 비용(최신 호출 대 누적 세션)을 포함하는 도킹 가능한 Claude Code 패널입니다.
-
简体中文界面 - 확장 프로그램의 UI(패널, 다이얼로그, diff 수락/거부 바, 알림)는 Visual Studio의 표시 언어를 따르며, 간체 중국어가 포함됩니다. VS를 中文(简体)으로 실행하면 확장 프로그램도 이에 맞춰 작동하며, 번역되지 않은 부분은 문자열별로 영어로 폴백됩니다.
claudeCLI 자체 터미널 텍스트는 영어(업스트림)로 유지됩니다. 이슈나 PR을 통해 번역 수정 제안 환영합니다.
자세히 살펴보기
이 중 일부는 글머리 기호만으로는 상상하기 어려울 수 있습니다. IDE에서 실행되는 모습을 보여드립니다.
하나의 승인 단계로 처리하는 네이티브 diff
Claude의 수정 사항은 Visual Studio 자체의 diff 뷰어에 열리고, 여기서 승인하는 것이 유일한 단계입니다. 터미널에는 두 번째 예/아니오 프롬프트가 없습니다. 수정을 거부하고 메모를 남길 수 있으며, Claude는 피드백을 받아 재고합니다. 패널 토글은 diff 없이 수정 사항을 적용하여 미리 실행되기를 원할 때 사용하며, 세션이 끝날 때마다 초기화되어 실수로 켜져 있는 일이 없습니다.

디버거가 구동하는 Claude
브레이크포인트에서 일시 정지된 동안, Claude는 프로그램의 런타임 상태(호출 스택, 변수 값, 쓰레드)를 읽습니다. '구동(driving)' 기능을 켜면 또한 단계별 실행(steps), 브레이크포인트 설정, 그리고 소스 코드를 추측하는 대신 버그를 찾아내기 위해 코드를 실행합니다. 위의 클립은 잘못된 총합을 반환하는 스코어링 함수입니다. Claude는 루프 안에서 멈추고 라운드별로 단계별 실행하며, 초기화되어야 하지만 그렇지 않은 카운터를 관찰했습니다.
각 라운드마다 자신이 본 내용을 지속적으로 추적하여 누락된 리셋을 포착할 수 있었습니다. 입력 {5, 3, 0, 4, 2, 0, 6}의 경우:
| round | points | combo (after) | total | should be |
|---|---|---|---|---|
| 0 | 5 | 1 | 5 | 5 |
| ... | ||||
It은 이미 'stepping'을 훨씬 넘어 성장했습니다. Claude는 실행 중인 프로그램(호스팅된 웹 서비스 또는 데스크톱 앱 등, 단순히 F5가 아닌)에 연결하여 예외를 처리해 버리는 catch 대신 예외가 발생한 지점(throw site)에서 멈출 수 있고, 멈춘 프로세스를 일시 정지시켜 교착 상태(deadlock)를 정확한 사이클까지 되돌아갈 수 있습니다. 전체 도구 목록과 작동 방식의 워크스루는 docs/DEBUGGER.md에 있습니다. |
값이 변경될 때 중단하기
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기