Visual Studio
Visual Studio 도구
수색…
코드 렌즈
코드 렌즈는 코드가 어떻게되는지 알 수있는 간단한 방법입니다. 여기서 메소드 나 클래스의 참조 번호가있는 이미지를 찾을 수 있습니다.
코드 렌즈를 볼 수없는 경우 다음 질문을 참조하십시오. VS 2015 커뮤니티 버전에서 누락 된 CodeLens 참조 수 계산
짧은 발췌
침입
Visual Studio 2005는 Intellisense Code Snippets를 만들 수 있기 때문에 가능합니다. 이렇게하면 하나의 키워드를 입력하고 Tab 키를 두 번 눌러 일부 코드를 생성 할 수 있습니다.
코드 사용하기
Intellisense Code Snippet을 만드는 데 필요한 XML 코드는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet"> <CodeSnippet Format="1.0.0"> <!-- format attribute is required --> <Header> <!-- 1 --> <Title></Title> <Author></Author> <Shortcut></Shortcut> <Description></Description> <Keywords> <Keyword>abc<Keyword> <Keyword>def<Keyword> </keywords> </Header> <Snippet> <!-- 2 --> <Imports> <!-- 2.1 --> <Import> <Namespace>System</Namespace> </Import> </Imports> <Declarations> <!-- 2.2 --> <Literal Editable="true/false"> <!-- 2.2.1 --> <ID>example</ID> <Type>System.String</Type> <ToolTip>A tip you can show</ToolTip> <Default>default value</Default> <Function></Function> <!-- 2.2.2 --> </Literal> <Object> <!-- 2.2.1 --> <ID>example</ID> <Type>System.String</Type> <ToolTip>A tip you can show</ToolTip> <Default>default value</Default> <Function></Function> <!-- 2.2.2 --> </Object> </Declarations> <References> <!-- 2.3 --> <Reference> <Assembly>System.Data.dll</Assembly> </Reference> </References> <Code Language=""> <!-- 2.4 --> <![CDATA[ <!-- your code here if you use literals use dollar chars --> ]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>
스 니펫 태그에는 두 개의 필수 태그 인 헤더 및 스 니펫이 있습니다. 다음 제목에서 더 많은 정보를 찾을 수 있습니다. 이름 근처의 숫자는 위 코드의 숫자와 일치합니다.
CodeSnippets 요소에는 0 개 이상의 CodeSnippet 요소가 추가 될 수 있습니다.
1. 헤더
Header-tag에서 스 니펫과 그가하는 일에 대한 특정 정보를 입력 할 수 있습니다. 이 태그 안에 사용할 수있는 중요한 태그는 다음과 같습니다.
요소 | 기술 |
---|---|
표제 | 스 니펫의 제목. 이 속성은 필수입니다. |
저자 | 스 니펫의 작성자. |
지름길 | 코드를 생성하는 데 사용할 수있는 바로 가기입니다. 여기에는 문자와 숫자 만 사용할 수 있으며 문자로 시작해야합니다. 참고 : 스 니펫에 좋은 고유 이름과 바로 가기를 지정하는 것을 잊지 마십시오. 그렇지 않으면 Visual Studio로 스 니펫을 가져올 때 문제가 발생합니다. |
기술 | 필요한 경우 스 니펫에 대한 추가 정보를 제공합니다. |
HelpUrl | 인터넷상의 도움말 페이지 URL. |
키워드 | 하나 이상의 키워드 요소를 그룹화합니다. |
스 니펫 유형 |
|
원본 테이블 (그러나 편집 됨) : msdn.microsoft.com
2. 스 니펫
스 니펫 태그에서 세 가지 태그를 사용할 수 있습니다. 이것은 될 수있다:
- 수입품
- 선언
- 코드 (필수)
- 참고 문헌
아래에 설명되어 있습니다.
2.1 수입
Imports
에는 코드에 필요한 네임 스페이스가 필요합니다. 이 태그 안의 import-tag를 사용하면 Namespace
태그를 사용하여 각각 필요한 네임 스페이스를 배치 할 수 있습니다.
2.2 선언
Declarations
은 Code
태그에서 코드에 리터럴이나 객체를 선언하는 데 사용할 수 있습니다. 아이들은 리터럴과 객체입니다.
리터럴 및 객체는 편집 할 수있는 코드 스 니펫의 리터럴 및 객체를 정의합니다. 기능은 리터럴이며 객체는 동일하지만 추가 유형 제약이 있습니다.
Literal 및 object-tag는 다음 자식을 포함 할 수 있습니다.
-
ID
: 리터럴의 ID (필수) -
Type
: 네임 스페이스 및 클래스를 포함한 해당 객체의 유형 (객체에 필요) -
ToolTip
: 팁을줍니다. -
Default
: 해당 개체의 기본값 (필수) -
Functions
스 니펫에는 미리 정의 된 리터럴이 있습니다. 아래에 나열되어 있습니다.
정확한 | 세부 |
---|---|
$end$ | 코드 스 니펫을 삽입 한 후 커서를 놓을 위치를 표시합니다. |
$selected$ | 호출시 스 니펫에 삽입 할 문서에서 선택된 텍스트를 나타냅니다. 예 : 가지고있는 경우 : A $selected$ is an object that I like.템플릿을 호출 할 때 자동차가 선택 되었다면 다음과 같이 나타납니다. A car is an object that I like. |
Literal- 또는 Object- 태그의 함수는 다른 요소에 따라 코드를 생성하는 함수를 사용할 수 있음을 의미합니다. 내가 아는 세 가지 기능이 있습니다.
기능 | 기술 | 언어 |
---|---|---|
GenerateSwitchCases (EnumerationLiteral) | EnumerationLiteral 매개 변수로 지정된 열거 형 멤버의 switch 문과 case 문 집합을 생성합니다. EnumerationLiteral 매개 변수는 열거 형 리터럴에 대한 참조이거나 열거 형이어야합니다. | Visual C # 및 Visual J # 1 |
ClassName() | 삽입 된 스 니펫이 포함 된 클래스의 이름을 반환합니다. | Visual C # 및 Visual J # 1 |
SimpleTypeName(TypeName) | Snippet이 호출 된 컨텍스트에서 TypeName 매개 변수를 가장 간단한 형식으로 줄입니다. | Visual C # |
1 은 Visual Studio 2005에서만 사용할 수 있습니다.
원본 테이블 : msdn.microsoft.com
리터럴 및 객체 요소에 대한 속성Literal 및 Object 태그는 선택적 속성을 가질 수 있습니다.
속성 | 기술 | 유형 |
---|---|---|
편집 가능 | 코드 단편을 삽입 한 후 리터럴을 편집 할 수 있는지 여부를 지정합니다. 이 속성의 기본값은 true입니다. | 부울 |
원본 테이블 : msdn.microsoft.com
2.3 참고 문헌
그룹은 코드 스 니펫의 어셈블리 참조에 대한 정보가 들어있는 요소를 참조합니다. 여기에는 다음 요소가 포함될 수 있습니다.
- 어셈블리 : 코드 스 니펫 별 어셈블리 이름을 포함합니다 (필수).
- URL : 어셈블리에 대한 추가 정보를 제공하는 웹 사이트를 포함합니다 .
2.4 코드
코드는 <![CDATA[
와 ]]>
사이에 생성 할 코드입니다. 리터럴 ID
를 달러 문자 사이에 놓으면 Visual Studio에서는 선언이 채워지면이 기본값을 변경하도록 요청합니다. 여기에 C # 및 VB의 바로 가기 propfull에 대한 예제가 있습니다.
<!-- ... Other code ... --> <Declarations> <Literal> <Id>variablename</Id> <Default>_myproperty</Default> </Literal> <Literal> <Id>propertytype</Id> <Default>int</Default> </Literal> <Literal> <Id>propertyname</Id> <Default>myproperty</Default> </Literal> </Declarations> <Code Language="CSharp"> <![CDATA[ private $propertyvalue$ $variablename$; public $propertyvalue$ $propertyname$ { get { return $variablename$; } set { $Variablename$ = Value; } } ]]> </Code> <!-- ... Other code ... --> <Declarations> <Literal> <Id>variablename</Id> <Default>_myproperty</Default> </Literal> <Literal> <Id>propertytype</Id> <Default>int</Default> </Literal> <Literal> <Id>propertyname</Id> <Default>myproperty</Default> </Literal> </Declarations> <Code Language="VB"> <![CDATA[ Private $variablename$ As $propertyvalue$ Public Property $propertyname$ As $propertyvalue$ Get Return $variablename$ End Get Set (ByVal value As $propertyvalue$) $variablename$ = value End Set End Property ]]> </Code> <!-- ... Other code ... -->
필요한 언어 속성에서 스 니펫을 만들 때 언어를 정의 할 수 있습니다. 사용할 수있는 언어는 다음 표에서 찾을 수 있습니다.
언어 | 예어 | 다음 버전에서 사용 가능 |
---|---|---|
Visual C # | CSharp | 2005 년, 2010 년, 2012 년 |
Visual Basic | VB | 2005 년, 2010 년, 2012 년 |
XML | XML | 2005 년, 2010 년, 2012 년 |
Visual J # | VJSharp | 2005 년, 2012 년 및 이후 |
C ++ | CPP | 2012 년 이후 |
자바 스크립트 | 자바 스크립트 | 2012 년 이후 |
JScript | JScript | 2012 년 이후 |
SQL | SQL | 2012 년 이후 |
HTML | HTML | 2012 년 이후 |
CSS | CSS | 2012 년 이후 |
XAML | XAML | 2012 년 이후 |
다른 선택적 속성은 다음과 같습니다.
속성 | 기술 |
---|---|
구분 기호 | 코드에서 리터럴 및 개체를 설명하는 데 사용되는 구분 기호를 지정합니다. 기본적으로 구분 기호는 $ 입니다. |
종류 | 코드 단편에 포함 된 코드의 종류와 코드 스 니펫을 컴파일하기 위해 삽입해야하는 위치를 지정합니다. |
kind 변수의 유효한 값은 다음과 같습니다.
값 | 기술 |
---|---|
방법 본문 | 코드 스 니펫이 메서드 본문이므로 메서드 선언 내에 삽입해야합니다. |
메소드 선언 | 코드 스 니펫이 메소드이므로 클래스 또는 모듈 내에 삽입되어야한다고 지정합니다. |
타입 선언 | 코드 스 니펫이 유형이므로 클래스, 모듈 또는 네임 스페이스 내에 삽입되어야한다고 지정합니다. |
파일 | 스 니펫이 전체 코드 파일임을 지정합니다. 이러한 코드 스 니펫은 코드 파일이나 네임 스페이스에 단독으로 삽입 할 수 있습니다. |
어떤 | 스 니펫을 어디서나 삽입 할 수 있도록 지정합니다. 이 태그는 주석과 같이 상황에 독립적 인 코드 스 니펫에 사용됩니다. |
원본 테이블 : msdn.microsoft.com
Visual Studio로 스 니펫 가져 오기
XML 코드를 저장하고
.snippet
확장자를 지정하십시오.Control + K , Control + B를 누르거나 "Tools" → "Code Snippets Manager ..." 로 이동하여 Visual Studio에 새로 만들어진 스 니펫을 추가 할 수 있습니다. 열려있는 다음 창 :
콤보 상자에 언어를 선택하고 스 니펫을 만든 언어를 선택하십시오. "가져 오기 ..."를 클릭하고 만든 파일을 선택하십시오.
"Finish"
클릭하십시오. 파일 이름이 이미 사용 된 경우 Visual Studio는 기존 파일을 덮어 쓰라고 요청합니다. 세 가지 옵션이 있습니다.- 덮어 쓰기 : 파일을 덮어 씁니다. 이전 스 니펫을 편집하는 경우이 옵션을 사용할 수 있습니다.
- 이름 바꾸기 : 파일의 이름을 고유 한 이름으로 변경합니다.
- 건너 뛰기 : 가져 오기를 취소합니다. 파일 이름을 고유 한 이름으로 바꿉니다.
첫 번째 창에서 "추가 ..." 버튼을 클릭하고 "폴더 선택 창"에서 폴더를 선택 하여 만든 모든 스 니펫이 포함 된 새 위치를 추가 할 수도 있습니다. 이점은 이제 해당 폴더에 새로운 유효한 스 니펫이 추가되면 Visual Studio에서 직접 사용할 수 있다는 것입니다.
참고 : 스 니펫에 오류를 가져온 후에 테스트하면 스 니펫을 사용할 때 아무런 문제가 없습니다. 오류가있는 경우 스 니펫을 제거하거나 덮어 쓸 수 있습니다.
체포 지점
자세한 내용은 MSDN 의 설명서를 참조하십시오.
병합 / 비교 도구 재정의
도구 | 옵션 | 소스 제어 | Visual Studio Team Foundation Server
Configure User Tools (사용자 도구 구성)를 클릭하십시오.
'비교'및 '병합'작업에 대해 별도의 재정의를 추가 할 수 있습니다. 추가를 클릭하고 재정의 할 작업을 선택하십시오. 사용하는 도구에 대한 경로와 도구가 기대하는 정확한 인수를 입력해야합니다. 예를 들어 BeyondCompare를 사용하려면 "% 1 % 2 / title1 = % 6 / title2 = % 7"인수를 추가하십시오.
BeyondCompare와 병합하려면 인수 "% 1 % 2 % 3 % 4 / title1 = % 6 / title2 = % 7 / title3 = % 8 / title4 = % 9"
에서 2006 년 블로그 게시물 MS 직원 제임스 매닝은 다양한 도구에 의해 예상대로 인수를 조사 : WinDiff 사용은 DiffDoc, WinMerge를가, 저쪽은 KDiff3, Araxis 비교 그것은 SourceGear DiffMerge, TortoiseMerge 및 Visual SlickEdit를!, 비교. 게시물은 좋은 출발점이지만 도구의 최신 문서를 확인하십시오.
3- 방향 병합이 불가능한 병합 도구 (예 : WinMerge 2.x)에는 사용 하지 않는 것이 좋습니다.
엔티티 프레임 워크
Entity Framework (EF)는 .NET 개발자가 도메인 관련 개체를 사용하여 관계형 데이터로 작업 할 수있게 해주는 개체 관계형 매핑 프로그램입니다. 개발자가 일반적으로 작성해야하는 대부분의 데이터 액세스 코드가 필요하지 않습니다.
Entity Framework를 사용하면 코드를 작성하거나 EF Designer에서 상자와 선을 사용하여 모델을 만들 수 있습니다. 이 두 가지 접근 방법을 모두 사용하여 기존 데이터베이스를 대상으로 지정하거나 새 데이터베이스를 만들 수 있습니다.
출처 및 추가 정보 : Entity Framework 설명서