사용자 코드에서 학습한 IntelliCode 완성IntelliCode completions learned from your own code

Visual Studio IntelliCode는 사용자가 코딩할 때 기계 학습을 사용하여 유용한 다양한 상황별 코드 완성 제안을 제공합니다.Visual Studio IntelliCode uses machine learning to offer useful, contextually rich code completion suggestions in-line as you code.

자동 학습을 사용하도록 설정하면 IntelliCode는 코드의 패턴을 기반으로 기계 학습 모델을 학습시켜 사용자의 형식과 오픈 소스에서 일반적으로 찾을 수 없는 기타 형식에 대해 IntelliCode의 별표가 표시된 상황별 완성 제안을 제공합니다.When you enable autotraining, IntelliCode will train a machine-learning model based on patterns in your code, giving you IntelliCode's starred contextual completion suggestions for your own types, and other types not commonly found in open source. IntelliCode는 코드가 업데이트될 때 이 모델을 다시 학습시켜 모델이 코드와 함께 변경되도록 합니다.IntelliCode will retrain this model as you update your code, ensuring that the model changes alongside your code.

IntelliCode 사용자 지정 코드 완성에 대해 모델을 자동 학습시키는 기능은 Visual Studio 버전 16.7 이상의 미리 보기 기능이며, 기본적으로 사용하지 않도록 설정되어 있습니다.Autotraining models for IntelliCode custom code completions is a preview feature capability in Visual Studio version 16.7 and above and are disabled by default. 빌드에 성공한 후 정보 표시줄 프롬프트를 통해 이 사용자 지정 코드 완성을 위한 모델을 자동 학습시키는 기능을 사용하도록 설정할 수 있습니다(보기 > 다른 창 > IntelliCode의 IntelliCode UI를 통해 또는 도구 > 옵션 > IntelliCode를 통해).You can enable autotraining these custom code completions via the infobar prompt after a successful build, through the IntelliCode UI found at View > Other windows > IntelliCode, or through Tools > Options > IntelliCode. 현재 C# 및 C++ 코드에만 사용할 수 있습니다.They are currently available only for C# and C++ code.

IntelliCode 사용자 지정 코드 완성에 대해 모델을 자동 학습시키는 기능이 작동하는 방식How does autotraining models for IntelliCode custom code Completions work?

솔루션을 빌드하고 나면 해당 솔루션에 대해 IntelliCode 완성을 위한 모델을 자동 학습시키려면 IntelliCode를 사용하도록 설정하라는 메시지가 표시될 수 있습니다.After successfully building a solution, you may be prompted to enable IntelliCode to autotrain a model for IntelliCode completions for that solution. IntelliCode 완성에 대해 모델을 자동 학습시키는 기능을 사용하도록 설정하면 IntelliCode에서는 활성 솔루션에 대해 완성을 위한 기계 학습 모델을 학습시키고, 자동 학습이 사용하도록 설정된 머신의 솔루션에 대한 액세스 권한이 있는 사용자만 해당 모델에 액세스할 수 있습니다.By enabling autotraining models for IntelliCode completions, IntelliCode will train a machine-learning model for completions for the active solution and only the user who has access to the solution on the machine where the autotraining was enabled will have access to the respective model. 사용자 지정 코드 완성을 리포지토리에 액세스할 수 있는 모든 사용자와 공유하려면 CI 워크플로의 일부로 자동 학습 팀 완성을 설정해야 합니다.If you'd like to share your custom code completions with anyone who can access your repository, you should set up automatic training Team completions as part of your CI workflow.

참고: Visual Studio에서 솔루션에 대해 IntelliCode 사용자 지정 코드 완성을 위한 모델을 자동 학습시키는 경우 소스 제어 요구 사항은 없습니다.NOTE: For autotraining a model for IntelliCode custom code completions for your solution in Visual Studio, there are no source control requirements. 그러나 사용자 지정 완성을 팀과 공유하려면 코드베이스가 Git 소스 제어 아래에 있어야 하고 원격으로 푸시되어 리포지토리에 연결된 모델을 만들어야 합니다.However, if you'd like to share your custom completions with your team, your codebase must be under Git source control and pushed to a remote to create a repository-associated model.

Visual Studio에서 사용자 지정 코드 완성을 위한 모델 자동 학습시키기 사용Enabling autotraining models for custom code completions in Visual Studio

Visual Studio에서 코드에 대해 IntelliCode 완성을 위한 자동 모델 학습을 사용하도록 설정하려면 다음 단계를 수행합니다.To enable automatic model training for IntelliCode completions for your code in Visual Studio, follow these steps:

  1. Visual Studio에서 솔루션 또는 리포지토리 폴더를 엽니다.Open the solution or repository folder in Visual Studio.
  2. 빌드에 성공한 후 정보 표시줄 프롬프트를 통해 사용자 지정 코드 완성을 위한 모델을 자동 학습시키는 기능을 사용하도록 설정합니다(보기 > 다른 창 > IntelliCode의 IntelliCode UI를 통해 또는 도구 > 옵션 > IntelliCode 설정 “IntelliSense 완성을 위한 팀 모델 자동 학습”을 통해 또는 Visual Studio 검색(Ctrl+Q)에서 “IntelliCode 자동 학습” 을 검색하여).Enable autotraining a model for custom code Completions via the infobar prompt after a successful build, through the IntelliCode UI found at View > Other windows > IntelliCode, or through Tools > Options > IntelliCode setting "Autotraining team models for IntelliSense completions" or by searching for "IntelliCode autotrain" in Visual Studio Search (Ctrl + Q).
  3. 모델이 만들어지고 나면 Visual Studio에 자동으로 다운로드됩니다.Upon successful creation of the model, it will be automatically downloaded to Visual Studio. 출력 창을 열고 드롭다운에서 IntelliCode로 전환하거나 보기 > 다른 창 > IntelliCode에서 모델의 진행 상황을 추적할 수 있습니다.You can track the model’s progress by opening the Output Window and switching to IntelliCode in the dropdown OR in View > Other windows > IntelliCode.

참고

Visual Studio 버전 16.7 미리 보기 3 이상이 설치되어 있는지 확인합니다.Be sure that you have installed at least Visual Studio version 16.7 Preview 3 or above. 미리 보기가 설치되고 하면, 성공적인 솔루션 빌드 후 정보 표시줄을 통해 또는도구 > 옵션 > IntelliCode를 통해 사용자 지정 코드 완성을 위한 자동 모델을 사용하도록 설정할 수 있습니다.Once the preview has been installed, you can enable automatic models for custom code completions through the infobar after a successful solution build OR via Tools > Options > IntelliCode.

학습이 완료되면 리포지토리와 관련된 클래스/형식을 사용하여 코드를 작성해 보세요. 가장 일반적인 케이스에 대해 별표가 표시된 추천을 확인할 수 있습니다.Once the training is complete, try writing some code using the classes/types that are particular to your repo - you should see starred suggestions for the most common cases.

솔루션에 대한 사용자 지정 코드 완성에 만족하는 경우 Azure Pipelines 또는 팀 완성을 위한 GitHub Action에서 연속 통합 파이프라인의 일부로 전체 개발 팀과 함께 IntelliCode 사용자 지정 코드 완성을 자동으로 만들고, 다시 학습시키고, 공유하도록 설정할 수 있습니다.Once you are happy with the custom code completions on your solution, you can set up to automatically create, retrain, and share IntelliCode custom code completions with your entire dev team as part of your continuous integration pipeline in Azure Pipelines or GitHub Action for Team Completions.

사용자 지정 코드 완성을 위한 모델을 자동 학습시키기 위해 IntelliCode를 사용하도록 설정하면 발생하는 일What happens when you enable IntelliCode to autotrain models for custom code completions?

사용자 지정 코드 완성을 위한 모델 학습 및/또는 자동 학습을 시작하기 위해 IntelliCode를 사용하도록 설정하면:When you enable IntelliCode to kickoff training and/or autotraining your model for custom code completions:

  • 코드를 로컬로 분석합니다.We analyze your code locally.
  • 형식 및 해당 용도에 대한 메타데이터가 포함된 요약 파일을 추출합니다.We extract a summary file with metadata on your types and their usages.
  • IntelliCode 서비스에 안전하게 업로드하고 코드에 맞게 조정 된 완성 모델을 학습합니다.We securely upload it to the IntelliCode service and train a completions model tailored to your code.
  • 완성 모델은 리포지토리(복제된 Git 리포지토리인 경우)에 액세스할 수 있는 사용자와 공유되지 않습니다.Your completions model is never shared with those who have access to your repo (if a cloned git repository).
  • 보기 > 다른 창 > IntelliCode의 IntelliCode UI에서 언제든지 모델을 삭제하고 직접 모델 학습을 취소할 수 있습니다.We allow you to delete your model at any time and/or cancel the model training directly in the IntelliCode UI found at View > Other windows > IntelliCode. UI의 확인란을 선택 취소하기만 하면 사용자 지정 코드 완성을 위한 모델이 즉시 삭제됩니다.Simply uncheck the box in the UI to delete the model for the custom code completions immediately.
  • 보기 > 다른 창 > IntelliCode의 IntelliCode UI에서 학습된 패턴을 직접 새로 고칠 수 있습니다.You can refresh your learned patterns directly in the IntelliCode UI found at View > Other windows > IntelliCode.

Visual Studio 출력 창의 IntelliCode 섹션 또는 보기 > 다른 창 > IntelliCode의 IntelliCode UI에서 학습 진행 상황을 확인할 수 있습니다.You will see the training progress in your Visual Studio output window's IntelliCode section or IntelliCode UI found at View > Other windows > IntelliCode. 학습이 완료되면 코드에 맞게 조정된 새 모델과 요약을 볼 수 있습니다.Once the training is complete, you will be able to see your summary and the new model tailored to your code. 그런 다음 리포지토리와 관련된 클래스/형식을 사용하여 일부 코드를 작성해 보세요. 가장 일반적인 케이스에 대한 별표가 표시된 추천을 확인할 수 있습니다.You can then try writing some code using the classes/types that are particular to your repo - you should see starred suggestions for the most common cases.

이 프로세스에서 사용되고 전송되는 데이터에 대한 자세한 내용은 IntelliCode 데이터 및 개인 정보를 참조하세요.If you want more information about what data is used and transferred in this process see IntelliCode data and privacy.