VisualStudio2013. 7. 19. 11:09

대부분 개발자들은 자기만의 Snippet이 있거나 회사에서 제공을 해준다.

 

일단 만드는 방법은 간단하다…

 

비쥬얼스튜디오에서 하는방법으로 설명하자면

 

xml 파일로 확장자를 .snippet으로 바꾼후 저장한다.

 

그뒤 xml에서 오른쪽 버튼을 눌러서 snippet을 누르면 알아서 나온다.

 

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>Propert</Title>
    <Author>DongDong</Author>
    <Shortcut>pp</Shortcut>
    <Description>설명</Description>
    <SnippetTypes>
      <SnippetType>SurroundsWith</SnippetType>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
      <Literal>
        <ID>property</ID>
        <ToolTip>Property name</ToolTip>
        <Default>Value</Default>
      </Literal>
 
      <Literal>
        <ID>defaultValue</ID>
        <ToolTip>The default value for this property.</ToolTip>
        <Default>value</Default>
      </Literal>
 
      <Literal>
        <ID>type</ID>
        <ToolTip>type</ToolTip>
        <Default>string</Default>
      </Literal>
    </Declarations>
    <Code Language="csharp">
      <![CDATA[
      /// <summary>
      /// Property to set a $property$
      /// </summary>
 
      private $type$ _$defaultValue$;
      public $type$ $property$
      {
                    get
                    {
                        return _$defaultValue$;
                    }
 
                    set
                    {
                        _$defaultValue$ = value;
                    }
      }
   $end$]]>
    </Code>
  </Snippet>
</CodeSnippet>

 

이건 내가샘플로 만든 property snippet이다.

 

<Code Language="csharp">

는 C#으로 해야하며

 

<Literal>
      <ID>property</ID>
      <ToolTip>Property name</ToolTip>
      <Default>Value</Default>
    </Literal>

 

이부분을 통해서 변수를 설정할수 있다.

 

XAML에서도 되는데 이건

 

xaml code snippet 추가 기능을 다운받아서 설치해야한다.

 

자세한 설명
http://timheuer.com/blog/archive/2013/07/08/xaml-code-snippets-for-visual-studio.aspx

 

변수 첫글자를 소문자로 만들어서 편리하게 하고 싶었지만

 

현재 vs에서 지원해주는 formatting 기능이 3가지밖에 없어서

 

GenerateSwitchCases

ClassName()

SimpleTypeName( TypeName )

 

아쉽게도  못한다. ㅠㅠ

 

자세한 설명과 포맷팅에 대해서 msdn엔 외에 여기서 설명되어있다.

 

http://www.codeproject.com/Articles/42077/Code-Snippet-Step-by-Step-Guideline-from-Creation

Posted by 동동(이재동)
VisualStudio2011. 2. 16. 11:00

물론 기본으로도 잘되어있고 더 좋은 Extensions이 많이 있지만  일단 써본다.

 

CodeMaid

내가 굉장히 좋아하는 extension이다.

원클릭으로 코드를 다 깔끔하게 해준다.(Clean UP)

그리고 지금 내가 보고 있는 코드가 솔루션 익스에서 어디에 있는지도 한번에 찾아준다.

난 코드를 다 짠후 이걸 실행해서 한번 점검한다. ㅋㅋ

 

 

Productivity PowerTools

이것두 유용한게 많지만 난 주로

Pin Tab을 하기 위해서 쓴다.

코딩을 하다보면 내가 사용하는 몇개의 파일만 이동하는데 pib tab으로 설정해두면

파일을 찾느라 왔다갔다 하지 않아도 된다. 아주 편리하다.

그외에 ctrl 키를 이용하여 메소드를 마우스 클릭하면 이동하는것도 있는데

f12가 익숙해서 잘쓰지는 않는다.

 

Utra Find

내가 정말 자주 쓰는 기능이다.

어떤 메소드의 정의를 찾을때 Shift+F12로 찾는걸로는 한계가 있는데

이건 물리적으로 파일을 검색하여 단어가 들어간 모든 것을 찾아준다.

그리고 옵션도 좀더 다양하고 기존 찾기 기능보다 훨신 강력하다


Quick Open File For Visual Studio 2010

큰프로젝트를 하다보면 파일이 너무 많아서 이동하기 쉽지 않은데 단축키도 지원하고

검색만으로 프로젝트를 검색해서 열어준다.


VS10x Code Map v2

코드를 한눈에 볼수 있다. 디폴트로 왼쪽에 나타나며 이쁘게 짤려고 노력중인 나에게 좋은 것 같다.


Posted by 동동(이재동)
VisualStudio2010. 12. 2. 13:27

Tip이라기보단 단축키 모음입니다...

* IntelliSense 제안모드 : Ctrl + Alt + Space (개발자가 임의의 클래스 또는 프로퍼티를 생성하고자 할 때 해당 단축키로 인텔리센스의 제안모드를 On/Off 할 수 있습니다)

* Call Hierarchy : (Ctrl + K , Ctrl + T) or (Ctrl + W or Ctrl + K)

매서드를 호출하는 곳 또는 매서드 내부에서 사용하는 프로퍼티나 매서드 목록을 트리형태로 보여줍니다.

Call To '매서드이름' : 매서드를 호출하는 매서드 목록

Call From '매서드이름" :매서드 내부에서 사용중인 매서드와 프로퍼티목록

* 코드 정의창 : Ctrl + W + D

커서가 있는 매서드나 클래스의 소스를 보여줍니다.

* Highlight된 Text 간의 이동 : Ctrl + Shift + Up , Down

커서를 올려놓으면 생기는 Highlight된 구간을 탐색할 때 사용합니다.

Ctrl + F10 : 현재 커서가 존재하는 곳까지 디버깅을 실행합니다.

----------------------------------------------------------------------------

Visual Studio 에서 Temp Project 만드는 법

Tool -> Options -> Projects and Solutions 에서 Save new projects when created 의 체크를 풀어주시면 됩니다.

그럼 새로 프로젝트 생성할 때 어느 경로에 프로젝트를 만들 것인지 물어보지 않고 AppData 아래에 솔루션을 만듭니다.

이 TempProject는 솔루션을 닫을 때 저장할 것인지 버릴 것인지 물어보고 버린다고 하면 임시폴더에서 이 TempProject를 삭제합니다.

단점으로는 단일 프로젝트만 가능하다는 점과 경로가 필요한 웹어플같은 경우에는 사용할 수 가 없습니다.

---------------------------------------------------------------------------

디버그 중단점 팁!!

중단점에 오른쪽버튼 클릭하고 When Hit... 라는것을 클릭하면

Print a message 라는 check 박스가 있고 이것을 체크하게 되면

메세지를 쓸 수 있습니다.

여기는 문자열이 들어감으로 Debug.WriteLine를 쓴 것처럼 Output에 value값이 출력됩니다.

When Hit를 설정한 중단점이 사각형으로 변하게 되고 이 라인에서는 중단되지않고 넘어갑니다. 그 후 output출력창에 보면 출력값을 확인해 볼 수 있습니다. Debug.WriteLine보다 좋은점은 코드에 불필요한 코딩이 들어가지 않아서 불필요한 부분을 지우는 작업이 필요없다는 것 정도일까요??

--------------------------------------------------------------------------

Debug 타임에 마우스를 올리면 현재 변수에 어떤 값이 들어가 있는지 볼 수 있는데 자세히 보면 옆에 Pin을 꽂을 수 있는 기능이 있습니다.

이렇게 Pin으로 고정시켜두면 다음 디버깅때 마우스를 올려놓지 않아도 값을 확인해볼 수 있습니다. +로 확대한 후에 각 프로퍼티별로도 Pin기능을 사용할 수 있고 밑으로 향하는 화살표를 클릭해서 Comment 도 달수 있는 기능을 제공하고 있습니다.

디버깅중에 핀에서 걸리는 데이터는 마지막 디버그 세션의 데이터를 사용하고 비주얼 스튜디오가 중지되기 전까지 세션이 살아있다고 하네요

-------------------------------------------------------------------------

Todo List 만드는 법입니다

주석으로 //TODO 라고 작성한 후에 Ctrl + W + T 를 누르면 TODO 리스트를 볼 수 있습니다. Tools -> Options 에서 Eniviroment -> Task List 에서 주석에 사용할 token을 정의해서 사용할 수 도 있습니다

------------------------------------------------------------------------

IntelliTrace 를 사용하면 중단점에 걸렸던 내역들을 Stack에 저장해서

어느실행 때 어떤 값이었는 지 확인 할 수 있고 내 컴퓨터에서 실행헀던 디버그 내역을 다른컴퓨터에서 실행해 볼 수도 있습니다.

단 컴파일 가능한 소스코드가 있어야 한다는 단점이 있지만요...

tools -> options -> IntelliTrace 에 가면 trace파일을 저장하는 경로와 저장할 용량의 최대크기 IntelliTrace가 어떤 동작에서 로그를 저장할 것인지에 대한 세팅이 가능합니다.

-------------------------------------------------------------------------

C# 3.5에서는

​IEnumerable<ITest> tests = new List<Test>()

or

IEnumerable<ITest> iTests = null;
            List<Test> tests = new List<Test>();

            iTests = tests;

이런식의 생성이나 할당이 불가능 했지만

IEnumerable을 사용할 때에

C# 4.0에서는 된다고 하네요...

다른것도 가능한지 찾아봐야 겠어요

-----------------------------------------------------------------------------

이상입니다!!

Posted by 동동(이재동)