Visual Studio 확장을 게시하기 전에 기억해야 하는 항목 목록은 다음과 같습니다.
다음 비디오에서는 확장이 최상의지 확인하는 모범 사례를 소개합니다.
스레드 규칙 준수
VSIX 프로젝트에 Microsoft.VisualStudio.SDK.Analyzers NuGet 패키지를 추가하면 스레딩에 대한 일반적인 모범 사례 위반을 검색하고 해결하는 데 도움이 됩니다.
고품질 아이콘 추가
모든 확장에는 연결된 아이콘이 있어야 합니다. 아이콘이 96DPI 이상의 크기 가 90x90 픽셀인 고품질 .png 파일인지 확인합니다. VSIX 프로젝트에 아이콘을 추가한 후 .vsixmanifest 파일에 아이콘 및 미리 보기 이미지로 등록합니다.
이름 및 설명
연구에 따르면 짧고 설명적인 이름과 정확한 설명이 있는 확장은 사용자가 설치할 가능성이 더 높습니다. 이름이 확장이 수행하는 작업의 본질을 반영하는지 확인합니다. .vsixmanifest 파일의 간단한 설명은 확장이 수행하는 기능에 대한 기대치를 설정해야 합니다. 따라서 해결하는 문제와 주요 기능에 대한 간략한 언급이 핵심입니다.
좋은 Marketplace 설명 작성
이는 확장을 성공적으로 만들기 위해 수행해야 하는 가장 중요한 작업 중 하나입니다. 좋은 설명은 다음으로 구성됩니다.
- 확장에서 추가한 UI의 스크린샷/애니메이션 GIF
- 개별 기능에 대한 자세한 설명입니다.
- 해당하는 경우 자세한 내용에 대한 링크입니다.
라이선스 추가
이 라이선스는 Marketplace, VSIX 설치 관리자 및 확장 및 업데이트... 대화 상자에 표시됩니다. 사용자에 대한 기대치를 설정하려면 항상 라이선스를 지정해야 합니다. choosealicense.com 사용하여 적합한 라이선스를 찾을 수 있습니다. 라이선스는 많은 Visual Studio 사용자에게 중요한 질문과 모호성을 제거하는 데 중요합니다.
개인 정보 보호 알림 추가
확장에서 원격 분석과 같은 데이터를 수집하거나 원격 엔드포인트와 통신하는 다른 방법으로 데이터를 수집하는 경우 설명에 해당 데이터에 대한 메모를 추가합니다.
가능하면 KnownMonikers 사용
Visual Studio는 KnownMonikers 컬렉션에서 사용할 수 있는 수천 개의 아이콘과 함께 제공됩니다. 명령 단추에 아이콘을 추가할 때 기존 KnownMonikers 아이콘은 Visual Studio 사용자에게 친숙한 디자인 언어의 일부이므로 사용할 수 있는지 확인합니다. 다음은 KnownMonikers의 전체 목록 이며 KnownMonikers 탐색기 확장을 선택하여 시나리오에 적합한 확장을 찾습니다.
VS에서 자연스럽게 보이게 만들기
Visual Studio 자체에서 사용하는 것과 동일한 디자인 패턴 및 원칙을 따라 확장이 사용자에게 자연스러운 느낌을 줍니다. 또한 제대로 디자인되지 않은 UI로 인한 방해 요소도 줄입니다. 사용자가 올바른 컨텍스트에 있는 경우에만 모든 단추, 메뉴, 도구 모음 및 도구 창이 기본적으로 표시되는지 확인합니다. 따라야 할 몇 가지 규칙이 있습니다.
- 최상위 메뉴(파일, 편집 등을 포함해) 옆에 새로 추가하지 마세요.
- 적용되지 않는 컨텍스트에서는 단추, 메뉴 및 도구 모음을 볼 수 없습니다.
- 자동 로드가 필요한 경우(그렇지 않을 수 있음) 가능한 한 늦게 수행합니다.
- VisibilityConstraints를 사용하여 자동 로드에 의존하는 대신 명령의 표시 유형을 전환합니다.
적절한 버전 범위 사용
모든 사용자가 새 확장을 사용할 수 있도록 Visual Studio 2010까지 지원하려는 유혹에 빠질 수 있습니다. 문제는 이렇게 하면 확장에서 지원하는 최소 버전보다 나중에 도입된 API를 더 이상 사용할 수 없다는 것입니다. 이러한 새 API는 중요하며 Visual Studio 자체뿐만 아니라 확장의 성능과 안정성을 개선하는 데 도움이 되는 경우가 많습니다.
지원할 Visual Studio 버전을 결정하기 위한 권장 사항은 다음과 같습니다.
- 이전 및 현재 버전의 Visual Studio만 지원합니다. 가능하면 이전 버전을 지원하지 않습니다.
- 열려 있는 버전 범위를 지정하지 마세요, 예를 들어
[16.0,). 버전 범위에 대해 자세히 알아봅니다.