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에서는 된다고 하네요...
다른것도 가능한지 찾아봐야 겠어요
-----------------------------------------------------------------------------
이상입니다!!