코드 조각은 코드 파일에 추가할 수 있는 재사용 가능한 코드의 작은 블록입니다. 코드 조각에는 일반적으로 자주 사용되는 코드 블록(예: Try...Finally
또는 If...Else
블록)이 포함됩니다. 코드 조각을 사용하여 전체 클래스 또는 메서드를 추가할 수도 있습니다.
코드 조각에는 코드 조각을 선택하는 데 사용하는 제목이 있으며, 코드 조각을 삽입하기 위해 입력할 수 있는 바로 가기 이름을 가질 수 있습니다. 코드 조각에는 자리 표시자 역할을 하는 대체 매개 변수도 포함될 수 있습니다. 코드 조각은 C#, C++, Visual Basic을 비롯한 여러 언어에서 사용할 수 있습니다.
확장 코드 스니펫 및 주변 코드 스니펫
코드에 다음 두 종류의 코드 조각을 추가할 수 있습니다.
- 지정된 삽입 지점에 확장 코드 조각이 추가됩니다.
- 코드 감싸기 스니펫이 선택한 코드 주위에 추가되며, 해당 스니펫은 C# 및 C++에서만 사용할 수 있습니다.
사용 가능한 코드 조각 찾기
언어에 사용 가능한 코드 조각을 보려면 메뉴 모음에서 도구>코드 조각 관리자 를 선택하거나 Ctrl+K, B를 누른 다음 드롭다운 메뉴에서 원하는 언어를 선택합니다.
코드 조각 목록에 표시되도록 고유한 코드 조각을 만들고 가져오려면 연습: Visual Studio에서 코드 조각 만들기를 참조하세요.
코드 파일에 코드 조각 추가
코드 파일에 코드 조각을 추가하려면 다음을 수행합니다.
코드 편집기에서 커서를 배치하거나 코드 조각을 추가할 C# 또는 C++ 코드를 선택합니다.
다음 작업 중 하나를 수행합니다.
- Visual Studio 메뉴 모음에서 편집>IntelliSense>삽입 코드 조각 또는 편집>IntelliSense>둘러싸기를 선택합니다.
- 마우스 오른쪽 버튼을 클릭하고 상황에 맞는 메뉴에서 스니펫>삽입 또는 스니펫>감싸기를 선택합니다.
- 키보드에서 확장 코드 조각의 경우 Ctrl+K, X , 서라운드 코드 조각의 경우 Ctrl+K, S 를 누릅니다.
드롭다운 목록에서 원하는 코드 조각을 두 번 클릭하거나 코드 조각 바로 가기를 입력하고 Tab 키 또는 Enter 키를 누릅니다.
확장 코드 조각 추가
예를 들어 C# 확장 코드 tryf
조각은 다음 Try...Finally
블록을 추가합니다.
try
{
}
finally
{
}
이 확장 코드 조각을 추가하려면 다음을 수행합니다.
- 코드 편집기에서 코드 조각을 추가할 위치에 커서를 놓습니다.
- 마우스 오른쪽 버튼을 클릭하여 나타나는 메뉴에서 코드 조각 삽입 을 선택하거나 메뉴 모음 또는 단축키를 사용합니다.
- Visual C# 폴더를 연 다음 드롭다운 목록에서 tryf를 두 번 클릭하거나 tryf를 선택하고 Tab 키를 누르거나 Enter 키를 누릅니다.
팁 (조언)
삽입 지점에 커서를 놓고 tryf를 입력한 다음 Tab 키를 두 번 누를 수도 있습니다.
코드 감싸기 코드 조각 추가
C++ 코드 조각의 다음 예제에서는 단축키 if
를 삽입 조각 또는 감싸기 조각으로 사용할 수 있습니다. 코드 줄을 return FALSE;
선택한 다음 주변에 추가> if를 선택하면, 코드 조각이 해당 줄을 중심으로 확장됩니다.
if (true)
{
return FALSE;
}
코드 조각 대체 매개 변수
코드 조각에는 작성하는 코드에 맞게 대체해야 하는 자리 표시자인 대체 매개 변수가 포함될 수 있습니다. 이전 예제 true
에서는 적절한 조건으로 바꾸는 대체 매개 변수입니다. 대체는 코드 조각에 있는 해당 대체 매개 변수의 모든 인스턴스에 대해 반복됩니다.
예를 들어 Visual Basic에는 속성을 정의하는 코드 조각이 있습니다. 코드 조각을 삽입하려면 다음을 수행합니다.
- Visual Basic 코드 파일의 오른쪽 클릭 콘텍스트 메뉴에서 조각>삽입하기를 선택합니다.
- 코드 패턴>속성, 프로시저, 이벤트>정의 속성을 선택합니다.
다음 코드가 삽입됩니다.
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
newPropertyValue
을 m_property
으로 변경하면 newPropertyValue
의 모든 인스턴스가 변경됩니다. 속성 선언에서 String
를 Int
로 변경하면, 메서드의 Set
값도 Int
로 변경됩니다.
코드 조각 사용에 대한 모범 사례
코드 조각의 코드는 작업을 수행하는 가장 기본적인 방법만 보여줍니다. 대부분의 애플리케이션의 경우 애플리케이션에 맞게 코드를 수정해야 합니다.
예외 처리
일반적으로 코드 조각 Try...Catch
블록은 모든 예외를 잡아서 다시 던지지만, 그것이 프로젝트에 올바른 선택이 아닐 수도 있습니다. 각 예외에 대해 응답하는 방법에는 여러 가지가 있습니다. 예제를 보려면 try/catch (C#)를 사용하여 예외를 처리하는 방법과 Try...Catch...Finally 문(Visual Basic)을 참조하세요.
파일 위치
파일 위치를 애플리케이션에 맞게 조정하는 경우 다음 요소를 고려해야 합니다.
액세스 가능한 위치를 찾습니다. 사용자가 컴퓨터의 Program Files 폴더에 액세스할 수 없으므로 애플리케이션 파일을 사용하여 사용자 파일을 저장하지 못할 수 있습니다.
안전한 위치를 찾습니다. C:\와 같은 루트 폴더에 파일을 저장하는 것은 안전하지 않습니다. 애플리케이션 데이터의 경우 애플리케이션 데이터 폴더를 사용하는 것이 가장 좋습니다. 개별 사용자 데이터의 경우 애플리케이션은 각 사용자의 Documents 폴더에 파일을 만들 수 있습니다.
유효한 파일 이름을 사용합니다. OpenFileDialog 및 SaveFileDialog 컨트롤을 사용하여 잘못된 파일 이름이 생성될 가능성을 줄일 수 있습니다.
파일이 삭제될 수 있으므로 코드에서 조작하기 전에 사용자가 선택한 파일에 주의하십시오. 또한 사용자에게 파일에 쓸 수 있는 권한이 없을 수 있습니다.
안전
코드 조각의 보안은 소스 코드에서 사용하는 위치와 코드 내에서 수정하는 방법에 따라 달라집니다. 다음 목록에는 고려해야 할 몇 가지 영역이 포함되어 있습니다.
- 파일 및 데이터베이스 액세스
- 코드 액세스 보안
- 이벤트 로그 및 레지스트리와 같은 리소스 보호
- 비밀 저장
- 입력 확인
- 스크립팅 기술에 데이터 전달
자세한 내용은 보안 애플리케이션을 참조하세요.
다운로드한 코드 조각
Visual Studio에서 설치한 코드 조각은 보안 위험 자체가 아닙니다. 그러나 애플리케이션에서 보안 위험을 초래할 수 있습니다. 인터넷에서 다운로드한 코드 조각은 다운로드한 다른 콘텐츠와 마찬가지로 매우 신중하게 처리해야 합니다. 신뢰할 수 있는 사이트에서만 코드 조각을 다운로드하고 up-to-date 바이러스 소프트웨어를 사용합니다.
다운로드한 모든 코드 조각을 메모장이나 Visual Studio의 XML 편집기에서 열고 설치하기 전에 신중하게 검토합니다. 다음 문제에 주의하세요.
실행하면 시스템에 손상을 줄 수 있는 코드 조각 코드입니다. 실행하기 전에 소스 코드를 주의 깊게 읽습니다.
HelpURL
코드 조각 파일 내 블록은 악성 스크립트 파일을 실행하거나 비난의 웹 사이트를 표시하는 URL을 포함하고 있습니다.프로젝트에 자동으로 추가되고 시스템의 어디에서나 로드할 수 있는 참조가 포함된 코드 조각입니다. 코드 조각을 다운로드한 동일한 위치에서 이러한 참조를 다운로드할 수 있습니다. 그런 다음 코드 조각은 악성 코드를 실행하는 참조에서 메서드를 호출할 수 있습니다. 이러한 참조를 검색하려면 코드 조각 파일의
Imports
블록과References
해당 블록을 검토합니다.