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 동동(이재동)
VisualStudio2013. 1. 24. 15:16

Debug일때와 Release일경우는

 

#if DEBUG

 

#else

 

#endif

 

이런식으로 자주 쓴다

 

하지만 그외에 몇개를 더 만들고 싶다면

 

image

 

image

 

이런식으로 만든후

 

솔루션 익스플로러에서 해당 프로젝트 Property Page를 연다(솔루션 속성을 여는게 아니라 프로젝트 속성을 열어야 함)

 

그뒤 Build-Conditional compliation symbos뒤에 ;이름을 추가한다.(;MAPP) 대문자가 좋음

 

그뒤에 #if MAPP 를 써보자~ ㅎㅎ

Posted by 동동(이재동)
VisualStudio2012. 6. 5. 14:52

시티은행에 파견와서 새로 설치해야함

Exported-2012-06-05.vssettings

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 동동(이재동)
VisualStudio2009. 1. 15. 15:03
F12 : 내가 젤 많이 쓴다.... 메소드 찾아가기 ㅋㅋ 

Ctrl+k,k : bookmark기능 ,해제

Ctrl+k,n,p : bookmark 찾아가는데 n은 다음 p 는 이전

F5 : debuging 모드 실행이므로 실행이 느리다

ctrl+f5: 릴리즈모드

F9: 그냥 마우스 더블클릭이 더편해서 잘안씀 break point

ctrl+shift+F9 : 모든 break point 해제

ctr+R,M : 메소드 만들기..... 만들 소스 드래그후 만들면 편하다.

alt+shift+F12 : 아주 좋은 기능이다 모든 프로젝트에서 찾는데 마치 acroedit의 file에서 찾기 기능과 유사하다.
                    근데 shift+f12로도 되는거 같다 이게 더 편한듯?

ctrl+i : ctrl+f도 좋지만 자동완성처럼 오페라나 크롬 파폭처럼 한글자씩 찾을때 유용하다..
 
blend에서 창 다 지우는거 (안지우면 느리기때문에)
ctrl+shift+w .

shifht+f12 : alt+shift+f12와 같은 기능같은데 아주 좋다 이거 자주 이용해야지 ㅋㅋ

Ctrl+K,Ctrl+K : 코드 정렬해주는거 좋다 소스 정리할때

Ctrl+M,M : Region 을 쓸때 닫고 열고 아주 유용한 단축키이다. 많이 쓸예정

Ctrl+K,S : Surround with 기능으로 try catch나 region 묶을때 유용하다


ctrl+f4 : 탭창을 닫을때 쓴다 그냥 누르고 있으면 다 닫아진다 아주 굿~


Shfit+Alt+Enter 천체 화면 코딩에 집중할때 쓴다.

정말 좋은거 발견~~~~

Shfit+Ctrl+8 : 항상 우리가 정의(F12)로 갔을때 다시 돌아오고 싶을때쓴다. 

Shfit+Ctrl+7 : 다시 돌아왔는데 다시 가고 싶을때 쓴다. 신기 신기

visual studio에서 창 다 닫는거 current 창 빼고(단축키가 기복적으로 없어서 설정해주어야함)
Options>Environment>Keyboard에서 
File.CloseAllButThis
를 찾아서 ctrl+shift+w로 바꾼다(블랜드랑 같다ㅋㅋ)

한개의 문장 선택법(아주유용하다)

마우스 (해당부분을 더블클릭)
키보드 (CTRL+Shift+화살표키)

Ctrl + "M" + "M"

코드 블록을 열었다 접었다 할 수 있는 단축키 입니다. 혼잡한 코드를 정리해서 보고 싶을 때 유용한 단축 키 입니다.
아래는 코드가 열려있는 화면입니다.

ctrl+f3 대부분 Ctrl+f 해서 찾는데 처음에 ctrl+f3을 해서 f3을 누르면 현재 커서에 있는 것을 찾는다.

Ctrl+K+S Surround with 기능이다 Try~ catch 문 같은것을 편리 하게 묶어준다^^

Ctrl+K+F 라인정렬 으로 인터넷에서 가져온 소스 정렬할때 유용 ㅋ

2012 3.19 추가

Ctrl+Alt+L 솔루션 익스플로러 바로 이동(파일찾을떄 유용) 돌아갈땐 그냥 ctrl+esc

CTRL+[ + S

이건 현재 문서가 어디에 있는 찾도록 해준다.. 이게 디폴트로 있는지 몰라서 계속 익스텐션에 있는걸 썻었는데 ㅠㅠ


Tab 이동할때

Ctrl+ALT PageUP or PageDpwn or Home or END 키로 이동 가능하다 나름 ctrl+esc보다 유용한거 같다?


모든 단축키 : http://msdn.microsoft.com/en-us/library/da5kh0wa.aspx

Posted by 동동(이재동)
VisualStudio2009. 1. 15. 14:58

Ctrl-K, Ctrl-H : 바로가기 설정. ( 작업목록 창에서 확인가능 )
Ctrl-K,K : 북마크 설정 / 해제
Ctrl-K,L : 북마크 모두 해제
Ctrl-K,N : 북마크 다음으로 이동
Ctrl-K,P : 북마크 이전으로 이동
Ctrl-K,C : 선택한 블럭을 전부 코멘트
Ctrl-K,U : 선택한 블럭을 전부 언코멘트(코멘트 해제)
Ctrl-F3 : 현재 단어 찾기
  -> F3 : 다음 찾기

Ctrl-F7 : 현 파일만 컴파일
            : 현 프로젝트만 빌드
Ctrl-Shift-B : 전체 프로젝트 빌드
Ctrl-F5 : 프로그램 시작

Ctrl-i : 일치하는 글자 연속적으로 찾기
Ctrl+i 를 누르면 하단에 자세히보면, "증분검색" 이라는 텍스트가 나온다.
그러면 그때 찾기 원하는 단어를 입력할때마다 일치하는 위치로 바로바로
이동한다. (좋은기능)
타이핑은 "증분검색" 이라는 텍스트옆에 커서는 없지만 입력이된다.
입력하는 문자를 수정하려면, backspace로, 그만 찾으려면 엔터.

줄넘버 보여주기 : 도구 > 옵션 > 텍스트편집기 > 모든언어 > 자동줄번호 선택하면 됨.

Ctrl+ - (대시문자), Ctrl+Shift+ -  :
현재 커서를 기억하는 Ctrl+F3(VS6에서), Ctrl+K,K(VS7에서) 와는 달리
사용자가 별도로 입력을 해주는건 없고, 단지 이전에 커서가 있었던곳으로
위 키를 누를 때마다 이동된다. (shift를 이용하면 역순)

Ctrl-F12 : 커서위치 내용의 선언으로 이동( 즉, 대략 헤더파일 프로토타입으로 이동)

F12 : 커서위치 내용의 정의로 이동( 즉, 대략 CPP파일 구현부로 이동)

Shift+Alt+F12 : 빠른기호찾기 ( 이거 찾기보다 좋더군요. 함수나 define등 아무거나에서 사용)

F12: 기호찾기. (s+a+f12 비교해볼것)

Ctrl-M, Ctrl-L : 소스파일의 함수헤더만 보이기 (구현부는 감추고) (토글 키)
Ctrl-M, Ctrl-M : 현재 커서가 위치한 함수를 접는다/편다. (토글 키)

#include "파일명" 에서 "파일명" 파일로 바로 직접이동
하고 싶을경우 -> Ctrl-Shift-G


<편집>---------------------------------------------------------------------------
Ctrl-F : 찾기 대화상자
Ctrl-H : 바꾸기 대화상자
Ctrl-Shift-F : 파일들에서 찾기 대화상자
Ctrl-Shift-H : 파일들에서 바꾸기 대화상자
Ctrl-G : 해당 줄로 가기 (별로 필요없음)
Ctrl-K,Ctrl-F : 선택된 영역 자동 인덴트 (VS6의 Alt-F8기능)
Ctrl-] :괄호({,}) 쌍 찾기 : 괄호 앞이나 뒤에서 눌러서 닫거나,
여는 괄호이동
Ctrl-Shift-Spacebar : 함수이름편집중 툴팁으로나오는 함수와매개변수설명이 안나올경우, 강제로 나오게

alt-LButton ->Drag : 원하는 영역의 블럭을 세로로 잡기

Ctrl+Shift+R (키보드 레코딩) : 
  가끔 연속된 연속기만으로는 부족한경우가 있다.
  이럴때, 몇번의 키동작으로 레코딩하여, 이것을 반복하고 싶은경우가있다.
  이때 Ctrl+Shift+R 을 누르고, 원하는 동작들을 수행후, 다시 Ctrl+Shift+R을
  눌러 종료한다.  이 중간동작을 원하는 위치에서 반복하고 싶다면 
  Ctrl+Shift+P 를 누른다.
 
Ctrl+Shift+V (히스토리 붙이기) :
  Ctrl + V와는 달리 클립보드에 있는 복사된내용을 돌아가면서 붙여준다.
  따로 복사를 해주거나 할 필요는 없다. 그냥 Ctrl+C로 계속 원하는것을
  복사하면 된다.

Ctrl-Z : 이전으로 되돌리기

Ctrl-Shift-Z : 되돌렸다, 다시 복구하기



<디버그/빌드>-------------------------------------------------------------------------
F5 : 디버그 시작
F9 :디버그 브렉포인트 설정
Ctrl-F9 : 현위치 설정된 브렉포인트 해제
Ctrl-Shift-F9 : 모든 브렉포인트 해
Shift-F5 : 디버그 빠져나오기
Ctrl-F10 : 커서가 있는곳까지 실행
Shift-F11 : 현 함수를 빠져나감.

Shift+Ctrl+B :  전체 빌드(프로젝트가 여러개있을경우 모두 빌드)
Alt+B, C : 해당 프로젝트만 정리.
Alt+B, U : 해당 프로젝트만 빌드.


 

<창관련>-------------------------------------------------------------------------

Shift+Alt+Enter : 전체 창 (토글 됨)
F4 : 속성창 보여준다.
Ctrl+Alt+X : 리소스에디터 툴박스창
Ctrl+Alt+K : 작업목록 창.

단축키설명
Ctrl + TabEdit하고 있는 Child Window 간의 이동
Ctrl + F4현재 Edit하고 있는 Child Window를 닫기
Ctrl + I문자열 입력 점진적으로 문자열 찾기 (Incremental Search)
Ctrl + F3현재 커서에 있는 문자열 찾기 fowared (블록 지정 안 해도 됨)
Shift + F3현재 커서에 있는 문자열 찾기 backward
F3찾은 문자열에 대한 다음 문자열로 이동 (Next Search)
Ctrl + H문자열 찾아 바꾸기 (Replace)
Ctrl + Left/Right Arrow단어 단위로 이동
Ctrl + Delete 또는 Backspace단어 단위로 삭제
Ctrl + F2현재 라인에 북마크 지정/해제
F2지정된 다음 북마크로 이동
Ctrl + Shift + F2지정된 모든 북마크를 해제
F9현재 라인에 Breakpoint를 지정/해제
Ctrl + Shift + F9현재 Edit하고 있는 소스파일에 지정된 모든 Breakpoint 해제
Ctrl + ] 또는 E'{'괄호의 짝을 찾아줌 ('{'에 커서를 놓고 눌러야 함}
Ctrl + J, K#ifdef 와 #endif의 짝을 찾아줌
Ctrl + L한 라인을 클립보드로 잘라내기 (Cut)
Ctrl + Shift + L한 라인을 삭제
Alt + Mouse블록 설정 세로로 블록 설정하기 (마우스로)
Ctrl + Shift + F8세로로 블록 설정하기 (키보드로), 취소할 때는 Esc키를 눌러야 함
블록 설정 -> Tab선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용
블록 설정 -> Shift + Tab선택된 블록의 문자열을 일괄적으로 내어쓰기 적용
Alt + F8 -> Tab 또는 Shift + Tab들여쓰기 자동 조정 (Tab:들여쓰기, Shift + Tab : 내어쓰기)
Ctrl + T현재 커서에 있는 변수/함수에 대한 Type이 Tooltip 힌트 창에 나타남
Ctrl + Alt + T멤버 변수/함수 목록에 대한 팝업 창이 나타남
Ctrl + Shift + T공백/콤마/파이프/괄호 등을 기준으로 좌우 문자열을 Swap시킴
Ctrl + Shift + 8문단기호 표시/감추기 : Tab은 ^, Space는 .으로 표시
Ctrl + D툴바의 찾기 Editbox로 이동
Ctrl + Up/Down Arrow커서는 고정시키고 화면만 스크롤 시키기


디버깅에 관련된 단축키 하나 더. 
변수이름을 적어 놓고 브래이크 포인터의 위치 여부와 관계 없이 변수의 내용을 추적하는 기능이 Watch Window에 들어 있다. 디버그 모드에서 추가하고픈 변수나 등등 앞에 커서를 위치 시킨후 Shift + F9를 누르면 그냥 바로 추가된다
Posted by 동동(이재동)