Visual Studio 2022 버전 17.11 릴리스 정보
기능
버전 17.11 릴리스 날짜: 2024년 8월 13일
이 릴리스에서는 모든 개발자 및 워크로드에 대한 **삶의 질** 향상에 중점을 둡니다. Visual Studio를 사용할 때 역량과 생산성을 느끼고 싶을 것입니다. 이것이 바로 삶의 질 기능이 중요한 이유입니다. 불필요한 번거로움과 골치 아픈 일 없이 코딩을 원활하고 즐거운 환경으로 만들어줍니다. 이 업데이트가 마음에 들기를 바랍니다.
생산성 | 커뮤니티에서 |
---|---|
찾고 있는 코드 찾기 | 피드백 티켓 |
CodeLens 타임라인 수정 | 피드백 티켓 |
끌어오기 요청 만들기에 대한 업데이트 | |
더 의미 있는 코드 검토 | 피드백 티켓 |
친숙한 바로 가기 키 | 피드백 티켓 |
디버깅 및 진단 | 커뮤니티에서 |
---|---|
비동기 예외를 보다 쉽게 해결할 수 있습니다. | 피드백 티켓 |
더 빠르고 일관되게 프로파일 | |
외부 코드를 쉽게 프로파일 | 피드백 티켓 |
Arm64의 디버깅 개선 | |
Blazor WebAssembly 디버깅 | |
기본 그룹에 중단점 자동 추가 | 피드백 티켓 |
표현 IEnumerable 시각화 도우미 | |
더 빠른 C++ 중단점 |
IDE | 커뮤니티에서 |
---|---|
구성 요소 설치를 놓치지 마세요. | 피드백 티켓 |
업데이트 및 보안 유지 | 피드백 티켓 |
새 Teams 도구 키트 템플릿 | |
향상된 사용자 인증 |
웹 | 커뮤니티에서 |
---|---|
동적 Web API 경로 검색 | 피드백 티켓 |
솔루션 탐색기 NPM 패키지 |
게임 | 커뮤니티에서 |
---|---|
Unreal Engine 클래스 템플릿 추가 | 피드백 티켓 |
Unreal Engine 추가 모듈 | 피드백 티켓 |
Unreal Engine 플러그 인 추가 | |
Unreal Engine 도구 모음 |
.NET | 커뮤니티에서 |
---|---|
개선된 리소스 탐색기 | 피드백 티켓 |
C++ | 커뮤니티에서 |
---|---|
Build Insights QoL 업데이트 | |
Linux에서 CMake 프로젝트 디버그 | 피드백 티켓 |
사용자 지정 Clang-Tidy 실행 파일 |
주요 버그 수정 | 커뮤니티에서 |
---|---|
TS1109(TS) Razor 파일에서 예상되는 오류 식 | 피드백 티켓 |
Office에 C# 소스 코드의 서식 있는 복사/붙여넣기 실패 | 피드백 티켓 |
멤버 변수에 대한 클래스 내 포인터가 있는 잘못된 오류 | 피드백 티켓 |
산술 식에 대한 MSVC v19.37+ 잘못된 코드 gen | 피드백 티켓 |
템플릿 사양에 대해 잘못 보고된 C4506(인라인 함수에 대한 정의 없음)... | 피드백 티켓 |
cmath 함수에 대한 정수 계열 형식 오버로드 누락 | 피드백 티켓 |
GitHub Copilot에는 잘못 번역된 '참조' 단추가 있습니다. | 피드백 티켓 |
VS 17.10으로 업데이트한 후 .ilk 파일의 크기가 상당히 증가했습니다. | 피드백 티켓 |
Visual Studio 점프 목록은 최근에 열린 솔루션을 더 이상 추가하지 않습니다. | 피드백 티켓 |
생산성
원하는 코드 찾기
전체 솔루션에서 현재 문서 또는 현재 프로젝트로 코드 검색 범위를 좁힐 수 있습니다.
코드 검색에서 너무 많은 결과가 표시된다고 느낀 적이 있나요? 코드 검색에서 새로 추가된 범위 지정 옵션을 사용하여 포커스 범위를 좁힐 수 있습니다.
기본 코드 검색 환경 및 각 필터의 경우 이제 범위를 전체 솔루션, 현재 프로젝트 또는 현재 문서로 설정하고 외부 파일 포함을 전환할 수 있습니다.
다양한 필터에 대해 다양한 범위를 설정할 수 있습니다. 예를 들어, 기본 환경은 전체 솔루션을 보도록 설정하고 멤버는 현재 문서만 보도록 설정할 수 있습니다. 선택 사항은 현재 세션 이후에도 유지됩니다.
참고 항목
도구 -> 미리 보기 기능 관리에서 이 기능을 사용하도록 설정해야 합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
CodeLens 타임라인 수정
올바른 정보를 표시하도록 CodeLens 타임라인의 구성을 준수하도록 수정합니다.
이제 CodeLens 타임라인은 타임라인의 구성을 존중하여 올바른 정보를 표시합니다. 이 수정은 시간 표시 막대가 파일 변경 호버 미리 보기에 설정된 월을 적용하지 않는 문제를 해결합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
끌어오기 요청 만들기에 대한 업데이트
끌어오기 요청 만들기 환경이 지속적으로 개선되었습니다.
대상 분기 선택, 커밋 수 및 기타 안정화 수정을 사용하여 끌어오기 요청 환경을 만드는 작업을 개선했습니다. 또한 이제 끌어오기 요청의 일부인 커밋에 언급된 작업 항목에 대한 링크를 자동으로 만듭니다.
더 의미 있는 코드 검토
작업 파일에서 직접 Azure DevOps 및 GitHub 끌어오기 요청 주석을 봅니다.
Visual Studio의 작업 파일에서 직접 GitHub 및 Azure DevOps 끌어오기 요청 주석을 더 쉽게 볼 수 있게 되었습니다. 이제 컨텍스트를 브라우저로 전환하지 않고 컨텍스트를 유지하면서 필요한 코드를 변경하고, 동료의 제안에 대해 상호 작용할 수 있습니다.
새로운 개선 사항
기능 플래그, 끌어오기 요청 주석을 사용하도록 설정하고, 활성 끌어오기 요청 분기가 있는 분기를 체크 아웃하고, InfoBar의 파일에 메모 표시를 클릭합니다.
최신 개선 사항에는 @ 멘션 및 작업 항목 참조에 대한 더 나은 지원, 주의 점 및 메모 여백에 대한 시각적 개선 사항, 아바타 추가, 서버와의 동기화 개선, Git 변경 내용 창의 추가 진입점 등이 포함됩니다.
참고 항목
도구 -> 미리 보기 기능 관리에서 이 기능을 사용하도록 설정해야 합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요. 이 설문 조사를 통해 기능을 더욱 효율적으로 만들 수 있습니다.
친숙한 바로 가기 키
일부 일반적인 바로 가기 키는 이제 다른 인기 있는 IDE의 바로 가기 키와 일치합니다.
서로 다른 IDE와 편집기를 이동하면서 사용할 때 바로 가기 키를 다시 배워야 한다는 것이 어려울 수 있습니다. 좀 더 친숙하게 만들고 근육 기억을 보존하기 위해 일부 기본 바로 가기 키를 일부 변경했습니다.
줄 주석 토글
오랫동안 Visual Studio에서 줄 주석을 전환할 수 있었지만 기본 바로 가기 키는 Ctrl+K, Ctrl+/
이었습니다. 이제 다른 많은 IDE 및 편집기의 기본값인 Ctrl+/
을 대체 바로 가기로 추가했습니다.
참고 항목
영어가 아닌 키보드의 경우 바로 가기가 다를 수 있습니다.
명령 팔레트 열기
또는 Visual Studio에서 호출되는 기능 검색. 이제 이 기능의 기본 바로 가기 키는 Ctrl+Shift+P
입니다. VS Code 사용자는 이를 사용하여 명령 팔레트를 쉽게 열 수 있습니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
GitHub Copilot
GitHub Copilot에서 메서드 참조
이제 GitHub Copilot 채팅을 통해 메서드, 클래스 및 함수를 인라인으로 참조할 수 있습니다. 이 기능은 GitHub Copilot에 더 많은 컨텍스트를 제공하는 데 도움이 되며, 이를 통해 솔루션에 대한 심층적인 이해를 갖춘 GitHub Copilot이 보다 정확한 응답을 제공할 수 있습니다.
채팅 내에서 직접 메서드, 클래스 및 함수를 참조하여 GitHub Copilot이 코드 및 현재 문제를 더 잘 이해하는 데 도움이 되는 구체적인 컨텍스트를 제공할 수 있습니다. 이 기능을 사용하면 GitHub Copilot에 더욱 풍부한 컨텍스트를 제공할 수 있으므로 코드베이스에 대한 심층적인 이해를 얻어 더욱 정확한 응답을 제공할 수 있습니다.
GitHub Copilot 채팅에서 기호를 참조하는 방법
기호를 참조하려면 참조하려는 메서드, 클래스 또는 함수의 이름 뒤에 #
기호를 사용하면 됩니다.
GitHub Copilot 채팅에 질문해 보기
GitHub Copilot 채팅에 다음과 같은 질문을 해 보세요.
- #methodName이라는 테스트 메서드가 있습니다. 올바르게 실행되고 있는지 어떻게 확인하나요?
- #methodName1 함수와 #methodName2 함수의 차이점을 이해하는 데 도와줄 수 있나요?
- 내 코드에서 사용되는 #methodName 함수의 출력은 어디에 있으며 어떤 용도로 제공됩니까?
- /explain #methodName
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
GitHub Copilot을 사용하여 기호 이해
GitHub Copilot는 코드 베이스 없이 다른 호출에서 기호를 이해하는 데 도움이 됩니다.
이제 GitHub Copilot이 기호를 마우스로 가리키면 도구 설명에 통합되어 선택한 기호에 대한 AI 생성 요약을 제공합니다. 이는 C# 및 C++ 개발자 모두에게 제공됩니다. 이 기능은 개발자가 코드베이스 내의 다양한 호출에서 다양한 기호에 대한 설명을 이해하는 데 도움이 됩니다. 기호 위로 마우스를 가리키고 도구 설명에서 자세히 알아보기 옵션을 선택하면 GitHub Copilot에서 선택한 기호에 대한 설명서를 생성할 수 있습니다.
LLM을 활용하는 GitHub Copilot은 가리키기 도구 설명 내에서 통찰력 있는 설명과 컨텍스트를 제공하여 기존 또는 부족한 코드 설명서를 개선합니다.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
GitHub Copilot이 점점 더 스마트해지고 있습니다.
이제 GitHub Copilot는 전체 리포지토리의 컨텍스트를 포함하며 웹을 검색할 수 있습니다.
Visual Studio의 GitHub Copilot Enterprise 구독자는 이제 GitHub Copilot Chat을 사용하여 전체 리포지토리 및 Bing 검색 결과의 컨텍스트로 보강된 답변을 얻을 수 있습니다.
전체 코드베이스에서 답변 가져오기
이제 GitHub Copilot Chat은 열려 있는 탭뿐만 아니라 전체 리포지토리를 이해하여 질문에 답변할 수 있습니다. GitHub.com 리포지토리를 인덱싱한 다음 @github 언급하는 질문을 합니다. 속도 제한이 구현되는 @github 같은 질문을 할 수 있습니다.
웹 컨텍스트를 사용하여 검색
또한 GitHub Copilot 채팅은 Bing을 검색하여 일반적인 지식이나 코드베이스 바깥의 정보를 찾을 수 있습니다. @github 언급하면 GitHub Copilot는 Bing을 사용할 시기를 지능적으로 결정합니다. 최신 LTS 버전의 Node.js @github 같은 질문을 할 수 있습니다.
Bing 검색은 관리자가 활성화한 경우에만 사용할 수 있습니다. 자세한 내용은 GitHub Copilot Enterprise 기능 활성화를 참조하거나 설명서를 읽어보세요.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
훨씬 더 안전한 GitHub Copilot
GitHub Copilot Business 고객은 지정된 파일 또는 리포지토리가 GitHub Copilot에서 제공하는 코드 완성 제안을 알리는 데 사용되지 않도록 방지합니다.
GitHub Copilot 콘텐츠 제외는 GitHub Copilot Business 및 GitHub Copilot Enterprise 고객을 위해 지정된 파일 또는 리포지토리가 GitHub Copilot의 코드 완성 제안을 알리는 데 사용되지 않도록 방지합니다.
코드 보안 유지
이제 GitHub Copilot이 영향을 받는 파일의 콘텐츠를 제외합니다. 이 기능은 Visual Studio에서 완료, 인라인, 채팅 및 기타 모든 GitHub Copilot 환경에서 사용할 수 있습니다.
콘텐츠 제외 구성
리포지토리 관리자 및 조직 소유자의 경우 파일, 폴더, 파일 형식 등에 대해 콘텐츠 제외를 구성할 수 있습니다. GitHub Copilot 설명서에서 GitHub Copilot에 대한 콘텐츠 제외 구성하기에 관해 자세히 알아보세요.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
GitHub Copilot 제안 구체화
GitHub Copilot이 Visual Studio에 통합되어 완성 및 채팅 전반의 경험을 개선하고 있습니다. 이 향상된 기능은 워크플로를 간소화하여 완성 제안을 구체화하고 다양한 인터페이스 간에 대화를 전환할 수 있도록 하는 것을 목표로 합니다.
GitHub Copilot이 Visual Studio에 통합되어 완성 및 채팅 전반의 경험을 개선하고 있습니다. 이 향상된 기능은 워크플로를 간소화하여 완성 제안을 구체화하고 다양한 인터페이스 간에 대화를 전환할 수 있도록 하는 것을 목표로 합니다.
인라인 채팅을 사용하여 GitHub Copilot 완성 구체화
이제 GitHub Copilot에서 제공하는 제안을 더 세부적으로 제어할 수 있습니다. 단순히 제안을 수락하거나 무시하는 대신 다시 시도할 수 있습니다. 이 기능을 사용하면 컨텍스트를 추가하거나 완성을 조정하여 GitHub Copilot에서 제공하는 사전 제안을 수정하고 큐레이팅할 수 있습니다.
먼저 완료를 수정합니다.
인라인 채팅을 사용하여 프롬프트를 구체화합니다.
더 많은 컨텍스트를 위해 인라인 채팅을 채팅 창으로 승격
인라인 채팅의 기록을 채팅 창으로 승격하여 유지합니다. 이 기능을 사용하면 대화 기록을 유지하고 더 큰 화면에서 편리하게 채팅 창을 계속할 수 있습니다.
채팅 창에서 계속...을 선택합니다.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
이름을 쉽게 지정할 수 있습니다.
GitHub Copilot를 사용하여 C++에서 식별자에 대한 명명 제안을 생성할 수 있습니다.
이제 GitHub Copilot은 식별자가 사용되는 방법과 코드 스타일을 기반으로 식별자(변수, 메서드 또는 클래스)에 대한 명명 제안을 생성할 수 있습니다.
사용해 보려면 활성화된 GitHub Copilot 구독이 필요합니다. 이름을 바꾸려는 변수로 이동하여 ->Rename(키보드: Ctrl+R
, Ctrl+R
)을 마우스 오른쪽 단추로 클릭합니다. 명명 제안을 생성하기 위해 클릭하거나 전환할 수 있는 GitHub Copilot 스파클 아이콘이 표시됩니다.
이 기능은 C#, C++ 및 기타 언어에서 사용할 수 있습니다.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
AI 스마트 변수 불특정
통합 AI 변수 검사를 사용하여 디버깅 워크플로를 최적화합니다.
Visual Studio에서 Ask GitHub Copilot을 사용하면 Locals, Autos 및 DataTips의 값을 검사하고 분석하는 것이 더 쉬워졌습니다. IDE를 종료하지 않고 값을 마우스 오른쪽 단추로 클릭하여 오류, 예기치 않은 결과 또는 변칙에 대한 자세한 AI 기반 인사이트를 얻을 수 있습니다.
이 기능은 예기치 않은 값이 발생할 때마다 IDE 내에서 실시간으로 변수를 분석하여 문제 해결 속도를 크게 향상시킵니다.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
AI 생성 중단점 식
AI 생성 식을 사용하여 C++에 조건부 중단점 또는 추적점을 삽입합니다.
조건부 중단점 및 추적점에 대한 AI 생성 식이 이제 C++에서 지원됩니다. GitHub Copilot은 코드를 분석하고 통찰력 있는 중단점 식을 제공하여 디버깅 프로세스를 간소화합니다.
중단점 설정 창에서 조건부 중단점/추적점에 대한 조건 텍스트 내에 커서를 놓으면 GitHub Copilot은 코드베이스를 기반으로 AI 생성 식 제안을 즉시 제공합니다. 조건부 중단점/추적점을 배치하기 위한 요구 사항에 가장 적합한 조건을 유연하게 선택할 수 있습니다.
Important
이 기능을 사용하려면 GitHub Copilot를 활성화해야 합니다.
디버깅 및 진단
비동기 예외 수정이 더 쉬워짐
이제 디버거는 프레임워크 코드에서 catch된 비동기 메서드 예외를 중단합니다.
특히 ASP.NET과 같은 프레임워크에서 비동기 코드를 디버깅하는 것은 비동기 경계를 넘어 예외가 throw될 가능성이 있기 때문에 까다로울 수 있습니다.
이제 Visual Studio Debugger를 사용하면 async Task
메서드가 프레임워크 코드에 예외를 다시 throw하면 자동으로 중단됩니다.
이를 통해 ASP.NET 애플리케이션의 문제를 쉽게 식별하고 진단할 수 있으므로 디버깅 주기가 빨라지고 생산성이 개선됩니다.
이는 .NET 9 및 최신 프로젝트에만 해당됩니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
더욱 빠르고 일관되게 프로필을 작성합니다.
프로파일러의 계측 도구는 이제 실행 간에 대상 선택을 기억합니다.
이제 계측 도구는 프로파일링 세션의 연속성을 향상시켜 상당한 혜택을 제공하는 실행 간에 대상 선택을 유지합니다.
이러한 개선을 통해 여러 계측 실행에서 지정된 대상을 유지할 수 있으므로 반복적인 선택 작업이 필요하지 않습니다.
외부 코드를 쉽게 프로파일
프로파일러가 .NET 라이브러리에 대한 자동 컴파일을 지원하여 외부 코드를 간편하게 프로파일링할 수 있도록 합니다.
이제 Visual Studio 프로파일러가 소스 코드를 사용할 수 없는 시나리오에서 .NET 라이브러리에 대한 자동 컴파일을 제공합니다. 로드된 기호나 정확한 파일 위치가 없더라도 소스 조회 중에 코드를 자동으로 디컴파일하면 코드의 구조 및 성능 문제에 대한 인사이트를 얻을 수 있습니다.
이 기능은 사용자가 아닌 외부 코드를 처리할 때 특히 유리하며 애플리케이션의 성능을 효과적으로 분석하고 최적화하여 개발 워크플로를 개선할 수 있습니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
Arm64의 디버깅 개선
Visual Studio 디버거는 arm64로 실행되도록 매니페스트된 AnyCPU 애플리케이션을 지원합니다.
Visual Studio는 기본적으로 Arm 기반 프로세서에서 Arm64 앱 빌드 및 디버깅을 지원합니다. 아쉽게도 Arm64 컴퓨터에서 실행되는 AnyCPU 설정으로 빌드된 애플리케이션은 기본적으로 x64 에뮬레이션을 사용합니다. x64 에뮬레이터의 기능이 확장된 반면 애플리케이션이 기본적으로 실행될 때 가장 효율적인 Arm CPU 시나리오가 지원됩니다.
의도한 네이티브 동작을 더 잘 지원하기 위해 Windows 24H2 업데이트에는 앱 매니페스트 파일에 대한 새로운 <지원되는Architectures> 설정이 도입되었습니다. .NET 개발자는 지원되는 아키텍처 목록(amd64 또는 arm64)을 포함할 수 있으며, AnyCPU 설정으로 빌드된 애플리케이션이 Arm64 디바이스의 Arm64 CLR을 사용하여 기본적으로 실행되어야 함을 명시적으로 알릴 수 있습니다.
이 릴리스를 사용하면 Visual Studio에서 애플리케이션이 시작될 때 이러한 새 매니페스트 항목을 읽을 수 있으므로 올바른 아키텍처에 따라 디버깅을 시작할 수 있습니다.
Blazor WebAssembly 디버깅
.NET 9 이상을 대상으로 하는 Blazor WebAssembly 앱의 향상된 디버깅 환경 미리 보기입니다.
Visual Studio에서 이제 .NET 9 이상을 대상으로 하는 Blazor WebAssembly 앱의 향상된 디버깅 환경 미리 보기를 제공합니다.
- 이제 디버거에 표시된 데이터 형식이 예상된 .NET 데이터 형식과 일치합니다.
- 형식 멤버 및 멤버 표시 유형은 예상 아이콘을 사용합니다.
- 표시된 호출 스택이 정리되어 .NET 호출 스택만 표시되고 내 코드만 올바르게 설정됩니다.
- 이제 모듈 창이 지원됩니다.
- 직접 실행 창 및 조사식 및 조건부 중단점에 대한 식 평가 지원이 확장되고 향상됩니다.
새 미리 보기 디버깅 환경을 사용하도록 설정하려면 다음을 수행합니다.
- 새 .NET 9+ Mono 디버거 사용 설정을 사용하도록 설정합니다.
- 최신 .NET 9 SDK를 설치합니다.
- .NET 9을 대상으로 지정하도록 Blazor 앱을 업데이트합니다.
알려진 제한 사항:
- 디버깅하는 동안에는 핫 다시 로드가 아직 완전히 작동하지 않습니다. 이 내용은 향후 업데이트에서 해결될 예정입니다.
기본 그룹에 중단점 자동 추가
Visual Studio에서 기본 중단점 그룹을 사용하여 신속한 문제 해결을 위해 중단점을 구성합니다.
이제 선택한 중단점 그룹을 기본값으로 표시하여 새로 추가된 모든 중단점이 해당 그룹에 자동으로 포함되도록 할 수 있습니다.
이 향상된 기능은 중단점 관리 및 구성을 간소화하여 여러 문제를 조사할 때 원활한 디버깅을 제공합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
표현 IEnumerable 비주얼라이저
IEnumerable 시각화 도우미의 편집 가능한 식 기능을 사용하면 Visual Studio 디버거에서 LINQ 식을 직접 편집하고 시각화할 수 있습니다.
이제 Visual Studio 디버거는 컬렉션 작업을 하는 개발자를 위한 강력한 개선 사항인 IEnumerable
비주얼라이저에서 편집 가능한 식 기능을 제공합니다.
개요
이 새로운 기능을 사용하면 컬렉션이나 데이터 세트를 시각화하는 동안 원하는 LINQ 식이 포함된 대화 상자 상단의 식 텍스트 상자를 직접 수정할 수 있습니다. 비주얼라이저는 쿼리로 인한 데이터 변경 내용을 반영하여 실시간으로 업데이트됩니다.
잠재적인 애플리케이션
편집 가능한 식 기능은 밀도가 높은 데이터 세트의 디버깅과 복잡한 컬렉션 조작을 용이하게 합니다. 필요에 따라 다양한 필터를 쉽게 적용하거나 컬렉션에 순서를 정렬할 수 있습니다. Visual Studio 디버거 내에서 직접 데이터 변환 및 필터를 실험하면 개발 워크플로를 간소화하고 보다 효율적인 디버깅을 달성할 수 있습니다. 다음은 직접 시도해 볼 수 있는 예입니다.
더 빠른 C++ 중단점
C++에서 향상된 조건부 중단점 성능으로 디버깅을 최적화합니다.
재작업된 구현을 통해 C++에서 조건부 중단점의 성능을 크게 향상시켰습니다.
초기 평가는 버전 17.10에서 35% 이상, 버전 17.11 P2에서 70%의 성능 향상을 나타내며, 80,000회 반복을 통해 실행 시간을 80초에서 21초로 줄입니다.
비디오에 표시된 것처럼 왼쪽은 버전 17.9의 조건부 중단점 성능을 보여주고 오른쪽은 버전 17.10 이후의 성능을 보여 줍니다.
IDE
구성 요소 설치를 놓치지 마세요.
*.vsconfig 파일을 사용하면 팀에 솔루션에 필요한 모든 필수 구성 요소 및 확장이 설치되어 있는지 확인할 수 있습니다.
많은 팀에서 *.vsconfig 파일을 사용하여 팀의 Visual Studio 설치를 표준화합니다. *.vsconfig 파일은 리포지토리나 프로젝트의 솔루션 디렉터리에 배치할 수 있으며 Visual Studio는 *.vsconfig 파일에 지정된 구성 요소가 누락되었는지 자동으로 검색합니다.
누락된 항목이 있는 경우 아래 그림과 같은 알림이 나타납니다.
Visual Studio 2022 버전 17.11 미리 보기 1에서는 이 환경에 대해 두 가지 개선 사항을 적용했습니다.
- 첫째, 이제 Visual Studio는 설치 시 누락된 로컬 또는 네트워크 호스트된 확장이 있는지 검색할 수 있으며 누락된 경우 이를 설치하라는 메시지가 표시됩니다. 이전에는 확장과 관련하여 Visual Studio는 마켓플레이스 확장이 누락된 경우에만 인식할 수 있었습니다.
- 둘째, 이제 Visual Studio는 새 구성 요소나 확장이 추가되어 *.vsconfig 파일이 변경된 경우와 같은 특정 상황에서 알림 메시지를 다시 표시합니다. 이전에는 알림이 조치를 취할 때까지만 표시되었고, 조치를 취하면 알림이 영원히 표시되지 않았습니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
업데이트 및 보안 유지
Microsoft 업데이트에 등록하여 Visual Studio를 업데이트하고 안전하게 유지합니다.
소프트웨어를 정기적인 주기로 업데이트하는 것은 매우 권장되는 보안 모범 사례입니다.
2024년 8월부터 Visual Studio 보안 업데이트는 Windows 업데이트 시스템의 일부인 Microsoft 업데이트 채널을 통해 커뮤니티 SKU 사용자가 사용할 수 있습니다. 이 업데이트 채널에 등록하는 커뮤니티 SKU 사용자는 컴퓨터가 유휴 상태일 때 자동으로 Visual Studio 월별 보안 업데이트를 자동으로 수신하고 설치하므로 업데이트 및 보안을 매우 쉽게 유지할 수 있습니다. 자세한 내용은 이 블로그 게시물에서 확인할 수 있습니다.
이 기능은 조직의 보안을 유지하기 위해 설계된 관리자 업데이트 솔루션의 확장입니다. Microsoft를 비롯한 많은 기업에서 이 솔루션을 사용하여 매달 수십만 개의 보안 업데이트를 자동으로 배포하고 있습니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
새 Teams 도구 키트 템플릿
Teams 도구 키트는 Teams 개발 환경을 개선하기 위해 새로운 Teams 앱 템플릿을 추가했습니다.
이제 Teams 도구 키트가 기존 프로젝트와 연결하거나 새 Teams 앱의 시작점으로 사용할 수 있는 빈 Teams 템플릿을 제공합니다.
- 이 빈 템플릿으로 시작하여 Teams 앱을 만들어 보세요.
- 기존 프로젝트에 Teams 기능을 추가하려면 프로젝트에 빈 Teams 앱을 추가한 다음 https://aka.ms/Config-Teams-app 에 따라 간단하게 편집하여 두 프로젝트를 연결합니다.
Teams 도구 키트는 API의 검색 결과 메시지 확장 앱에 대한 인증을 지원합니다.
사용자 인증 개선
이제 Visual Studio는 WAM이라고도 하는 Windows 인증 브로커를 기본 인증 메커니즘으로 사용합니다.
이제 Visual Studio는 WAM(웹 계정 관리자)을 기본 인증 메커니즘으로 사용합니다. 이 통합은 Visual Studio에 대한 인증 환경을 간소화할 뿐만 아니라 자격 증명의 보안도 향상시킵니다.
새 WAM 환경은 다음과 같습니다.
사용자의 환경에 어떤 영향을 미치나요?
WAM을 기본 인증 환경으로 사용하면 다음과 같은 많은 이점이 있습니다.
- Windows 통합: 전체 인증 프롬프트 수를 줄이는 것 외에도 이제 자격 증명을 반복적으로 입력하는 대신 기존 Windows 계정을 선택할 수 있습니다.
- 향상된 토큰 보호: 새로 고침 토큰은 이제 디바이스에 바인딩되므로 보안이 더욱 강화됩니다.
- 최신 보안 기능 지원:
- Windows Hello 및 FIDO 키와 같은 풍부한 OS 기능을 활용합니다.
- 가장 유용한 최신 Microsoft Entra ID 기능과 조건부 액세스 정책에 액세스합니다.
웹
동적 웹 API 경로 검색
엔드포인트 탐색기가 런타임에 엔드포인트를 검색하도록 업데이트되었습니다.
ASP.NET Core 웹 API로 작업할 때 엔드포인트 탐색기를 사용하여 엔드포인트를 보고 상호 작용할 수 있습니다.
엔드포인트 탐색기는 엔드포인트를 정적으로 발견하여 초기 엔드포인트 집합을 표시합니다. 정적으로 발견할 수 없는 일부 엔드포인트가 있습니다. 예를 들어, 클래스 라이브러리 프로젝트에 정의된 모든 엔드포인트가 하나의 예입니다. 정적으로 발견할 수 없는 엔드포인트를 등록하는 다른 방법이 있습니다.
웹 API를 실행하거나 디버깅할 때 Visual Studio는 런타임 시 경로를 발견하고 이를 엔드포인트 탐색기에 추가합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
솔루션 탐색기의 NPM 패키지
솔루션 탐색기 종속성 노드 아래에 NPM 패키지가 표시되는지 확인합니다.
ASP.NET JavaScript 및 TypeScript 프로젝트에서 얻을 수 있는 NPM 환경을 통합했습니다. 따라서 이제 JavaScript 및 TypeScript 프로젝트의 솔루션 탐색기에도 NPM 패키지가 나열됩니다.
이는 NuGet에서 제공하는 것과 동일한 경험이며, 이제 NPM에서도 제공합니다.
게임
Unreal Engine 클래스 추가 템플릿
새 클래스 추가를 사용하여 일반 Unreal Engine 클래스 템플릿을 프로젝트에 추가합니다.
이제 새 클래스 추가 대화 상자를 사용하여 일반적인 Unreal Engine 클래스 템플릿을 프로젝트에 추가할 수 있습니다. 이 대화 상자는 프로젝트에 추가할 수 있는 일반적인 Unreal Engine 클래스 템플릿 목록을 제공합니다. 이제 선택한 모듈에 클래스를 추가할 수도 있습니다.
시작하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가>Unreal Engine 항목을 선택합니다. 새 항목 추가 대화 상자에서 Unreal Engine 일반 클래스를 선택하여 클래스 추가 대화 상자를 엽니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
Unreal Engine 모듈 추가
새 모듈 추가를 사용하여 Unreal Engine 모듈을 프로젝트에 추가합니다.
이제 새로운 모듈 추가 대화 상자를 사용하여 프로젝트에 Unreal Engine 모듈을 추가할 수 있습니다.
시작하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가>Unreal Engine 항목을 선택합니다. 새 항목 추가 대화 상자에서 빈 Unreal Engine 모듈을 선택하여 모듈 추가 대화 상자를 엽니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
Unreal Engine 플러그 인 추가
새 플러그 인 추가를 사용하여 Unreal Engine 플러그 인을 프로젝트에 추가합니다.
이제 새로운 플러그 인 추가 대화 상자를 사용하여 프로젝트에 Unreal Engine 플러그 인을 추가할 수 있습니다.
시작하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가>Unreal Engine 항목을 선택합니다. 새 항목 추가 대화 상자에서 Unreal Engine 플러그 인을 선택하여 Unreal Engine 플러그 인 추가 대화 상자를 엽니다.
Unreal Engine 도구 모음
전용 도구 모음을 통해 Unreal Engine 관련 작업에 빠르게 액세스합니다.
새로운 Unreal Engine 도구 모음은 Unreal Engine 관련 작업에 대한 빠른 액세스를 제공합니다. 도구 모음은 Visual Studio에 Unreal Engine 프로젝트가 로드되어 있을 때 사용할 수 있습니다. 도구 모음에는 다음 작업이 포함되어 있습니다.
- Unreal Engine 프로세스에 빠르게 연결
- 청사진 캐시 다시 검사
- Unreal Engine 로그에 대한 빠른 액세스
- Visual Studio용 빠른 액세스 Unreal Engine 구성 페이지
.NET
개선된 리소스 탐색기
새로운 Resource Explorer를 사용하면 .NET에서 .resx 파일을 보다 쉽게 관리할 수 있습니다.
이 버전의 Visual Studio에서는 최신 .NET 개발자의 요구 사항을 더 잘 수용할 수 있도록 개선된 리소스 탐색기 UI를 도입합니다.
이번 업데이트에서는 다음과 같은 사항이 개선되었습니다.
- 다중 자원 보기: 이제 동일한 보기 내에서 여러 파일을 로드하고 한 번에 모든 지역화를 볼 수 있습니다.
- 검색 및 필터링: 대규모 솔루션에서 리소스를 쉽게 찾을 수 있도록 검색 기능이 추가되었습니다.
- 설명: 이제 리소스의 각 번역에는 자체 설명이 있으며 모든 내용이 데이터 그리드에 한 번에 표시됩니다. 설명이 있는 각 셀의 모서리에 있는 작은 삼각형 아이콘을 찾습니다.
- 경고: 자리 표시자 유효성 검사 및 번역 누락 경고.
- 접근성 및 UI: 화면 읽기 프로그램 및 보조 기술과의 호환성을 개선하고 데이터 그리드에 확대/축소 기능을 추가했으며 이제 편집기에 VS 테마 지정(다크 모드 포함)을 허용합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요. 이 설문 조사를 통해 기능을 더욱 효율적으로 만들 수 있습니다.
C++
Build Insights QoL 업데이트
C++ Build Insights에 다양한 삶의 질 향상을 추가합니다.
이번 업데이트에서는 C++ Build Insights 통합에 삶의 질 변화를 추가했습니다. 이제 프로젝트별로 Build Insight 추적 결과를 필터링할 수 있습니다. 각 행의 결과에 대해 이제 전체 경로 대신 상대 경로와 파일 이름이 표시됩니다. 또한 포함된 파일 보기의 결과 그룹화가 개선되었습니다.
Linux에서 CMake 프로젝트 디버그
WSL 및 SSH를 사용하여 Linux를 대상으로 하는 프로젝트에 대한 CMake 스크립트를 디버그합니다.
WSL 또는 SSH를 통해 Linux를 대상으로 하는 CMake 프로젝트에 CMake 디버거에 대한 지원을 추가했습니다. CMake 디버거를 사용하면 Visual Studio 디버거를 통해 CMake 스크립트와 CMakeLists.txt 파일을 디버깅할 수 있습니다.
CMake 디버깅 세션을 시작하려면 CMakeLists.txt 파일에서 중단점을 설정한 다음 CMake 디버깅을 사용하여 Project > Configure Cache로 이동합니다.
📣피드백을 공유하고 대화를 계속하려면 기능 티켓을 참조하세요.
사용자 지정 Clang-Tidy 실행 파일
사용자 지정 clang-tidy 도구를 모든 프로젝트에 통합합니다.
이제 모든 프로젝트에 사용자 지정 clang-tidy 실행 파일을 사용할 수 있습니다. 이렇게 하면 기본 clang-tidy 실행 파일에 의존하지 않고 고유한 사용자 지정 규칙을 사용하여 개별 프로젝트에서 clang를 깔끔하게 실행할 수 있습니다.
이 전역 설정을 사용하면 기존 clang-tidy 실행 파일을 덮어쓸 필요 없이 사용자 지정 clang-tidy 규칙을 원활하게 통합할 수 있습니다.
이 기능을 활성화하려면 구성 속성>코드 분석>Clang-Tidy로 이동하여 해당 경로를 직접 입력하거나 Clang-Tidy 도구 디렉터리 속성에서 찾아보기 옵션을 사용합니다. 변경 내용을 저장하고 새 실행 파일이 적용되도록 앱을 다시 컴파일합니다.
버전 17.11.6
릴리스 날짜: 2024년 11월 12일
해결된 보안 권고 | CVE |
---|---|
.NET 원격 코드 실행 취약성 | CVE-2024-43498 |
.NET 서비스 거부 취약성 | CVE-2024-43499 |
Visual Studio 권한 상승 | CVE-2024-49044 |
버전 17.11.5
릴리스 날짜: 2024년 10월 8일
주요 버그 수정 | 커뮤니티에서 |
---|---|
iOS/tvOS/macOS/macCatalyst 릴리스 정보용 .NET. | |
Visual Studio에서 설치한 Windows 11 SDK(10.0.26100.0)를 2024년 10월 서비스 빌드로 업데이트했습니다. | |
Visual Studio 2022 17.11.0의 오류 MSB4057 | 피드백 티켓 |
프로젝트에 클래스를 추가할 때 오류가 발생했습니다. | 피드백 티켓 |
Amazon Q 확장을 사용하는 AWS 도구 키트와 관련된 MEF 구성 요소 문제 | 피드백 티켓 |
해결된 보안 권고 | CVE |
---|---|
System.Security.Cryptography.Cose, System.IO.Packaging, System.Runtime.Caching의 .NET 서비스 거부 취약성 | CVE-2024-43483 |
System.IO.Packaging의 .NET 서비스 거부 취약성 | CVE-2024-43484 |
System.Text.Json 6.0.x 및 8.0의 .NET 서비스 거부 취약성 | CVE-2024-43485 |
Visual Studio Collector Service의 서비스 거부 취약성 | CVE-2024-43603 |
Visual Studio C++ 재배포 가능 설치 관리자의 권한 상승 취약성 | CVE-2024-43590 |
버전 17.11.4
릴리스 날짜: 2024년 9월 17일
주요 버그 수정 | 커뮤니티에서 |
---|---|
솔루션 탐색기 내에서 파일을 복사할 때 System.NullReferenceException입니다. | 피드백 티켓 |
솔루션 이벤트에 응답하면 프로젝트에서 불완전한 상태를 읽을 수 있는 문제가 해결되었습니다. | |
다른 SDK 버전(Xamarin 포함) 간에 전환할 때 ArgumentNullException iOS 원격 빌드 오류가 수정되었습니다. | 피드백 티켓 |
VS에는 이제 MAUI 8.0.82(SR8.2)가 포함됩니다. | |
Debug.Restart를 사용할 때 항상 오류를 표시하고 디버깅을 중지합니다(Ctrl+Shift+F5). | 피드백 티켓 |
.NET SDK 9.0.100-rc.1 이상 설치 후 .NET 빌드가 실패하는 문제를 해결했습니다. | |
이 수정은 부조종사 라이선스가 없는 GitHub 계정을 추가하여 부조종사 상태를 오류 상태로 전환하여 부조종사 사용을 사용할 수 없는 시나리오를 해결합니다. | 피드백 티켓 |
조건부 중단점을 추가하면 무조건 크래시가 발생합니다. | 피드백 티켓 |
리소스 탐색기는 resx 파일을 열 수 없습니다. | 피드백 티켓 |
정의로 이동해도 작동하지 않습니다. | 피드백 티켓 |
버전 17.11.3
릴리스 날짜: 2024년 9월 10일
주요 버그 수정 | 커뮤니티에서 |
---|---|
17.11.0 업데이트 후에는 .Net Framework 애플리케이션을 게시할 수 없습니다. | 피드백 티켓 |
Visual Studio 17.11.0 업데이트 후에는 Mac에 페어링할 수 없습니다. | 피드백 티켓 |
17.11.0 오류 출력은 테스트를 중단합니다. |
해결된 보안 권고 | CVE |
---|---|
SQL Server Native Client OLE DB 공급자 원격 코드 실행 취약성 | CVE-2024-35272 |
버전 17.11.2
릴리스 날짜: 2024년 8월 27일
주요 버그 수정 | 커뮤니티에서 |
---|---|
PackageId:AndroidPlatformMAUI2를 설치할 때 Visual Studio 설치 관리자 오류가 해결되었습니다. |
버전 17.11.1
릴리스 날짜: 2024년 8월 20일
주요 버그 수정 | 커뮤니티에서 |
---|---|
Visual Studio 2022(64비트) 버전 17.11.0 미리 보기 6.0은 네이티브 애플리케이션 디버깅을 중지할 때 스택이 손상됩니다. | 피드백 티켓 |
Xamarin Profiler는 Visual Studio에서 더 이상 사용되지 않으며 제거되었습니다. | |
Xamarin.Android Designer는 사용 중단 예정이며 향후 업데이트에서 제거될 예정입니다. |
팁
Visual Studio에 대한 향후 업데이트에서 확인하려는 기능이 있는 경우 기능 티켓을 제출하여 알려주세요.
참고 항목
로드맵은 Visual Studio의 미래에 대한 우선 순위와 방향을 보여 주므로 확인하세요.
참고 항목
이 업데이트에는 타사 고지 사항 또는 함께 제공되는 라이선스에 명시된 대로 별도로 라이선스가 부여된 새로운 Microsoft 또는 타사 소프트웨어가 포함될 수 있습니다.
팀의 모든 구성원이 Visual Studio를 선택해 주셔서 감사합니다. 질문이 있는 경우 Twitter 또는 개발자 커뮤니티에서 문의하세요.
즐거운 코딩을 경험하시기 바랍니다!
Visual Studio 팀