
Visual Studio 2022는 이제 지원하는 .NET 6과 함께 공식적으로 릴리스되었습니다. 여기에는 코드 청크를 자동 완성할 수 있는 AI IntelliCode와 같은 많은 새로운 기능과 개선 사항이 포함되어 있습니다.
웹사이트에서 설치 프로그램을 다운로드할 수 있습니다. 아직 새롭지만 여전히 Visual Studio이므로 아직 업데이트되지 않은 확장에 의존하지 않는 한 두려워하지 마십시오.
우리가 발견한 가장 중요한 변경 사항을 다루겠지만, 한 줄씩 패치 노트를 읽고 싶다면 Microsoft 문서에서 읽을 수 있습니다. 전반적인 방향을 설명하는 로드맵도 있습니다.
드디어 64비트다
Visual Studio는 항상 32비트였습니다. 즉, 기본 프로세스에서 4GB RAM으로 제한되었습니다. 일반적으로 일반 프로젝트의 경우 이 예산을 초과하지 않지만 일부 사용자는 특히 대규모 솔루션의 경우 메모리 부족 예외가 발생할 수 있습니다.
VS 2022에서는 수정되었으며 이제 64비트 응용 프로그램입니다. Microsoft는 1600개 프로젝트와 300k 파일로 프로젝트를 테스트했으며 제대로 작동합니다.
64비트는 이론적으로 더 빨리 실행되어야 하고 시작 시간이 조금 더 빠른 것 같지만 Microsoft도 일반적으로 성능에 대해 작업하고 있으므로 이것이 실제로 얼마나 영향을 미치는지 말하기 어렵습니다. 어쨌든 좋은 변화다.
물론 VS 2022로 32비트 응용 프로그램을 개발할 수 있습니다. 이것은 편집기에만 적용됩니다.
AI IntelliCode는 놀랍습니다.
Visual Studio 2022는 IntelliCode 자동 완성 엔진에 대한 심각한 업그레이드를 제공합니다. 전체 라인과 코드 덩어리를 자동 완성할 수 있으며 매우 잘 작동합니다.
비슷한 일을 하는 GitHub의 Copilot과는 조금 다릅니다. Copilot은 전체 코드 스니펫을 생성하고 명확한 솔루션과 함께 작고 포함된 기능에 가장 적합합니다. 훌륭하지만 자체적인 문제가 있습니다. 대부분 생성하는 코드가 원하는 것과 같다는 보장이 없다는 사실입니다(그리고 다른 문제인 임의의 GitHub 저장소에서 코드를 단어 단위로 가져올 수 있음).
IntelliCode는 훨씬 더 제한된 접근 방식을 취하고 다음 요소 중 일부를 고려하여 단순히 한 줄을 완성합니다.
- 변수 이름 및 위치
- 사용 중인 라이브러리
- 주변 코드의 기능
- IntelliCode에 더 많은 제안을 제공하기 위해 실제로 탭다운할 수 있는 IntelliSense 드롭다운 목록
2주 정도 사용하고 나면 정말 직접 해봐야 하는 일입니다. 놀랍도록 똑똑하고 사용하는 동안 여러 번 “와, 내가 그것을 입력하려던 참이었어!”라고 생각하는 것을 발견했습니다.
예를 들어, 1에서 12까지의 숫자를 취하는 함수를 작성합니다:

이 결과를 이해하고 제공하기 위해 IntelliCode는 구문 자동 완성 이상의 작업을 수행합니다. 내가 “throw”를 입력하고 있다는 점을 감안할 때 매우 명백한 예외를 예상하고 있다는 것을 이해하고 정수 크기 비교가 실패한 경우에만 이 예외가 발생한다는 것을 알 수 있습니다. 그것은 알고있다 Width 코드가 실행되기 전에 확인되는 인수이며 인수에 문제가 있어 예외가 발생합니다.
이 모든 것을 알면 내 의도를 매우 정확하게 추측하고 다음과 같이 결정합니다. ArgumentOutOfRangeException “new”를 입력하기 시작하기도 전에 입력하려고 하는 것이어야 합니다.
그리고 페이지를 아래로 내리면 다양한 옵션에 대한 결과를 채울 수 있습니다. 여전히 약간 일관성이 없습니다(“Width”를 하드코딩하고 나중에 사용하기로 결정했습니다. nameof) 그러나 전반적으로 잘 작동합니다.

IntelliCode는 항상 실행되며 탭 탭을 눌러 수락하기만 하면 됩니다. 그렇지 않으면 계속 입력할 수 있습니다. 현재는 C#에서만 작동하지만 더 많은 언어가 “곧 제공될” 것입니다.
.NET 6 지원
.NET 6은 최신 릴리스입니다. VS 2022에는 해당 기능과 모든 기능에 대한 기본 제공 지원이 있으며 새 프로젝트의 경우 기본적으로 .NET 6이 사용됩니다.
특히 VS 2022는 크로스 플랫폼 네이티브 앱 개발을 위한 Microsoft의 새로운 표준인 .NET MAUI 또는 다중 플랫폼 앱 UI를 완벽하게 지원합니다.

.NET 핫 리로딩
프로그래밍에서 가장 성가신 일 중 하나는 화면을 응시하고 앱이 컴파일 및 실행되고 최신 변경 사항으로 업데이트되기를 기다리는 것입니다. Hot Reloading은 JavaScript와 같은 다른 많은 언어의 기능이며 React와 같은 웹 프레임워크에서 빠른 변경을 위해 사용되었습니다. 그러나 지금까지는 .NET에 대한 표준화된 솔루션이 없었습니다.
완전히 보편적이지 않고 특정 프로젝트 설정이 필요하지만 VS 2022에는 “WPF, Windows Forms, .NET MAUI 미리 보기, ASP.NET Core 앱 코드 숨김, 콘솔 응용 프로그램, WinUI 3 및 기타 여러”에 대한 핫 다시 로드가 포함되어 있습니다. 다른 응용 프로그램에서 사용하는 클래스 라이브러리는 제외됩니다.
특정 유형의 변경 사항은 제대로 적용되지 않을 수 있으며 적절한 재시작을 수행하라는 메시지가 표시됩니다. 여기에서 전체 목록을 볼 수 있지만 요지는 다음과 같습니다.
- 수정 방법 서명 없음
- using 문 추가 없음
- 인터페이스 수정 없음
- 어떤 종류의 구성원 이름 변경 금지
기본적으로 어떤 방법으로든 코드를 편집할 수 있지만 프로젝트 구조를 만지기 시작하면 다시 시작해야 할 수 있습니다.
핫 리로드를 트리거하는 “코드 변경 적용”에 대한 새로운 아이콘과 함께 VS 디버깅 환경에 잘 통합되었습니다. 당신은 또한 새로운 dotnet watch 파일 변경 시 자동으로 핫 리로드하는 명령.
Razor/Blazor 웹 애플리케이션은 현재 핫 리로딩을 사용할 수 있습니다.
원격 테스트
VS 2022에는 Linux 컨테이너, WSL 및 SSH를 통한 다른 환경에서도 테스트를 실행할 수 있는 실험적 미리 보기가 포함되어 있습니다.

약간의 설정이 필요하며 물론 환경이 코드를 올바르게 실행하도록 구성되었는지 확인해야 하지만 일단 구성되면 테스트를 실행할 때 다른 환경을 선택할 수 있습니다.
일반 개선 사항
패치 노트에는 작은 변경 사항이 많이 있으므로 여기에 가장 흥미로운 몇 가지를 나열하겠습니다.
디버깅은 고급 중단점에 대한 새로운 컨텍스트 옵션과 기존 중단점을 모두 무시하고 선택한 코드 줄에서 중지하는 “Force Run To Cursor”를 통해 삶의 질을 일부 개선했습니다. 모든 중단점을 제거하거나 수동으로 모든 것을 다시 건너뛰지 않고 무언가를 테스트하려는 경우 매우 유용할 수 있습니다.


VS의 Git 통합은 이제 솔루션당 여러 리포지토리를 지원하며 많은 리포지토리에서 커밋하는 것이 더 쉬워졌습니다.

일관성을 위해 모든 아이콘이 재설계되었습니다.
![]()
XML 주석은 이제 공백과 CDATA 블록이 보존된 여러 줄 주석을 지원합니다.

다중 대상 프로젝트에서 “모든 참조 찾기”가 더 이상 가비지 반복 출력을 생성하지 않습니다.

Razor Pages/Blazor는 수많은 편집 통합을 얻었으며 이제 IntelliSense, 구문 강조 표시 및 @code 블록의 더 나은 서식과 더 잘 작동합니다. 이제 Razor 파일에서 “코드 보기”를 사용할 수도 있습니다. 이는 한동안 성가신 제한이었습니다.

그리고 API 통합으로 자동으로 만들 수 있는 ASP.NET Core 호스팅 Angular 및 React 애플리케이션을 포함하여 몇 가지 프로젝트 템플릿이 더 있습니다.

전체 변경 사항 목록은 VS 2022 릴리스 정보를 참조하십시오.








