코드 조각 및 사용 방법

코드 조각은 코드 파일에 추가할 수 있는 재사용 가능한 작은 코드 블록입니다. 코드 조각에는 일반적으로 사용되는 코드 블록(예: Try...Finally 또는 If...Else 블록)이 포함됩니다. 코드 조각을 사용하여 전체 클래스 또는 메서드를 추가할 수도 있습니다.

코드 조각에는 코드 조각을 선택하는 데 사용하는 제목이 있으며, 코드 조각을 삽입하기 위해 입력할 수 있는 바로 가기 이름을 가질 수 있습니다. 코드 조각에는 자리 표시자 역할을 하는 대체 매개 변수도 포함될 수 있습니다. 조각은 C#, C++, Visual Basic을 포함한 다양한 언어에서 사용할 수 있습니다.

확장 조각 및 코드 감싸기 조각

코드에 두 가지 종류의 코드 조각을 추가할 수 있습니다.

  • 지정된 삽입 지점에 확장 코드 조각이 추가됩니다.
  • 선택한 코드 주위에 코드 감싸기 코드 조각이 추가되며, C# 및 C++에서만 사용할 수 있습니다.

사용 가능한 코드 조각 찾기

언어에 사용 가능한 코드 조각을 보려면 메뉴 모음에서 도구>코드 조각 관리자를 선택하거나 Ctrl+K, B를 누른 다음 드롭다운 메뉴에서 원하는 언어를 선택합니다.

코드 조각 관리자 대화 상자의 스크린샷.

코드 조각 목록에 표시되도록 고유한 코드 조각을 만들고 가져오려면 연습: Visual Studio에서 코드 조각 만들기를 참조하세요.

코드 파일에 코드 조각 추가

코드 파일에 코드 조각을 추가하려면:

  1. 코드 편집기에서 커서를 배치하거나 코드 조각을 추가할 C# 또는 C++ 코드를 선택합니다.

  2. 다음 작업 중 하나를 수행합니다.

    • Visual Studio 메뉴 모음에서 편집>IntelliSense>조각 삽입 또는 편집>IntelliSense>코드 감싸기를 선택합니다.
    • 마우스 오른쪽 단추를 클릭하고 컨텍스트 메뉴에서 코드 조각>코드 조각 삽입 또는 코드 조각>코드 감싸기를 선택합니다.
    • 키보드에서 확장 코드 조각의 경우 Ctrl+K, X을, 코드 감싸기 조각의 경우 Ctrl+K, S를 누릅니다.
  3. 드롭다운 목록에서 원하는 코드 조각을 두 번 클릭하거나 코드 조각 바로 가기를 입력하고 Tab 키 또는 Enter 키를 누릅니다.

확장 조각 추가

예를 들어 C# 확장 코드 조각 tryf은 다음 Try...Finally 블록을 추가합니다.

try
{

}
finally
{

}

이 확장 코드 조각을 추가하려면:

  1. 코드 편집기에서 코드 조각을 추가할 위치에 커서를 놓습니다.
  2. 마우스 오른쪽 단추로 클릭하고 오른쪽 클릭 컨텍스트 메뉴에서 코드 조각 삽입을 선택하거나 메뉴 모음 또는 키보드 명령을 사용합니다.
  3. Visual C# 폴더를 연 다음 드롭다운 목록에서 tryf를 두 번 클릭하거나 tryf를 선택하고 Tab 키를 누르거나 Enter 키를 누릅니다.

삽입 지점에 커서를 놓고 tryf를 입력한 다음 Tab 키를 두 번 누를 수도 있습니다.

코드 감싸기 조각 추가

C++의 코드 조각에 대한 다음 예제에서 바로 가기 if을 삽입 조각 또는 코드 감싸기 조각으로 사용할 수 있습니다. 코드 줄 return FALSE;을 선택한 다음 코드 감싸기>if를 선택하면 코드 조각이 줄 주위로 확장됩니다.

if (true)
{
    return FALSE;
}

조각 대체 매개 변수

조각은 작성 중인 코드에 맞게 바꿔야 하는 자리 표시자인 대체 매개 변수를 포함할 수 있습니다. 이전 예제에서 true는 적절한 조건으로 바꿀 대체 매개 변수입니다. 조각에서 해당 대체 매개 변수의 모든 인스턴스에 대해 대체가 반복됩니다.

예를 들어 Visual Basic에는 속성을 정의하는 코드 조각이 있습니다. 코드 조각을 삽입하려면:

  1. Visual Basic 코드 파일의 오른쪽 클릭 상황에 맞는 메뉴에서 스니펫>스니펫 삽입을 선택합니다.
  2. 코드 패턴 프로퍼티, 프로시저, 이벤트>프로퍼티 정의>를 선택합니다.

속성 정의에 대한 코드 조각 메뉴의 스크린샷.

다음 코드가 삽입됩니다.

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

newPropertyValuem_property로 변경하면 newPropertyValue의 모든 인스턴스가 변경됩니다. 속성 선언에서 StringInt로 변경하면 Set 메서드의 값도 Int로 변경됩니다.

코드 조각 사용에 대한 모범 사례

코드 조각의 코드에는 작업을 수행하는 가장 기본적인 방법만 표시됩니다. 대부분 애플리케이션에서는 애플리케이션에 맞게 코드를 수정해야 합니다.

예외 처리

일반적으로 코드 조각 Try...Catch 블록은 모든 예외를 포착하여 다시 throw하지만, 프로젝트에 적합한 선택이 아닐 수도 있습니다. 각 예외에 대한 여러 가지 응답 방법이 있습니다. 예를 들어 방법: try/catch를 사용하여 예외 처리(C#)Try...Catch...Finally 문(Visual Basic)을 참조하세요.

파일 위치

파일 위치를 애플리케이션에 맞게 조정하는 경우 다음 요소를 고려해야 합니다.

  • 액세스 가능한 위치 찾기. 사용자가 컴퓨터의 Program Files 폴더에 액세스할 수 없으므로 애플리케이션 파일과 함께 사용자 파일을 저장하는 것이 작동하지 않을 수 있습니다.

  • 안전한 위치 찾기. 파일을 C:\와 같은 루트 폴더에 저장하는 것은 안전하지 않습니다. 애플리케이션 데이터의 경우 애플리케이션 데이터 폴더를 사용하는 것이 가장 좋습니다. 개별 사용자 데이터의 경우 애플리케이션은 각 사용자의 문서 폴더에 파일을 만들 수 있습니다.

  • 유효한 파일 이름 사용. OpenFileDialogSaveFileDialog 컨트롤을 사용하여 잘못된 파일 이름을 사용할 가능성을 줄일 수 있습니다.

  • 코드에서 파일을 조작하기 전에 사용자가 선택한 파일을 삭제할 수 있습니다. 또한 사용자에게 파일에 쓸 수 있는 권한이 없을 수 있습니다.

보안

코드 조각의 보안은 소스 코드에서 코드 조각을 어디에 사용하고 코드에 삽입한 후 어떻게 수정하는지에 따라 달라집니다. 다음 목록에는 고려해야 할 몇 가지 영역이 포함되어 있습니다.

  • 파일 및 데이터베이스 액세스
  • 코드 액세스 보안
  • 이벤트 로그 및 레지스트리와 같은 리소스 보호
  • 비밀 저장
  • 입력 확인
  • 스크립트 기술에 데이터 전달

자세한 내용은 애플리케이션 보안을 참조하세요.

다운로드된 코드 조각

Visual Studio에서 설치한 코드 조각은 그 자체로 보안 위험이 아닙니다. 하지만 이 조각 때문에 애플리케이션에 보안 위험이 발생할 수 있습니다. 인터넷에서 다운로드한 조각은 다운로드한 다른 콘텐츠처럼 매우 주의해서 처리해야 합니다. 신뢰할 수 있는 사이트에서만 조각을 다운로드하고 최신 바이러스 소프트웨어를 사용하세요.

메모장 또는 Visual Studio의 XML 편집기에서 모든 다운로드된 조각 파일을 열고 설치하기 전에 주의해서 검토합니다. 다음 문제에 주의하세요.

  • 실행할 경우 시스템을 손상시킬 수 있는 코드 조각. 실행하기 전에 소스 코드를 주의해서 읽으세요.

  • 악성 스크립트 파일을 실행하거나 불쾌한 웹 사이트를 표시하는 URL이 포함된 코드 조각 파일의 HelpURL 블록.

  • 프로젝트에 자동으로 추가되고 시스템의 어느 곳에서나 로드할 수 있는 참조가 포함된 스니펫. 코드 조각을 다운로드한 동일한 위치에서 이러한 참조를 다운로드할 수 있습니다. 그런 다음 코드 조각은 참조에서 악성 코드를 실행하는 메서드를 호출할 수 있습니다. 이러한 참조를 검색하려면 코드 조각 파일의 Imports 블록과 References 블록을 검토합니다.