블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-28 00:03

VS2005 단축키

Tip & Tech / 2010. 6. 30. 21:54

비쥬얼스튜디오2005 단축키 모음

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등 아무거나에서 사용)

Alt+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 + Tab Edit하고 있는 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를 누르면 그냥 바로 추가된다.


Tab 들여쓰기,자동완성
Shift+Tab 내어쓰기
블록 설정 >> Tab 선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용
블록 설정 >> Shift+Tab 선택된 블록의 문자열을 일괄적으로 내어쓰기 적용

 


F2 설정된 북마크로 이동
F2 설정된 다음 북마크로 이동
F3 다음 단어 찾기
F4 다음 에러메세지로 이동
F5 Debugging 모드로 작동
F9 현재 라인에 BreakPoint를 설정/해제
F10 Debugging 모드로 작동하되 엔트리 포인트부터 시작
F12 마우스 오른쪽 버튼 눌렀을때 go to definition 단축기

 

 

Ctrl+Up/Down Arrow 커서는 고정시키고 화면만 스크롤 시키기
ctrl+*(맨오른쪽 부분) 위에서 F12 눌렀을때 이전화면으로 돌아가기
Ctrl+Left/Right Arrow 단어 단위로 이동
Ctrl+Delete 또는 Backspace 단어 단위로 삭제
Ctrl+Tab Edit하고 있는 Child Window 간의 이동
Ctrl+Space 인텔리센스 출력(멤버목록 팝업창)

Ctrl+F2 북마크 설정
Ctrl+F2 현재 라인에 북마크 지정/해제
Ctrl+F3 현재 커서에 있는 단어로 찾기
Ctrl+F4 현재 Edit하고 있는 Child Window를 닫기
Ctrl+F5 빌드 후 프로그램 실행
Ctrl+F10 Debugging 모드로 작동하되 커서의 위치까지

Ctrl+] 괄호 짝 찾기
Ctrl+] 또는 E {괄호의 짝을 찾아줌 ({에 커서를 놓고 눌러야 함}
Ctrl+A 전체 선택
Ctrl+B 브레이크 포인트 관리 메뉴
Ctrl+D 툴바의 찾기 Editbox로 이동
Ctrl+E 현재 괄호랑 맞는 괄호를 찾아준다.
Ctrl+F 현재 커서에 있는 단어로 찾기
Ctrl+G 라인 바로 가기(GoTo)
Ctrl+H 문자열 찾아 바꾸기 (Replace)
Ctrl+I >> 문자열 입력 점진적으로 문자열 찾기 (Incremental Search)
Ctrl+J, K #ifdef 와 #endif의 짝을 찾아줌
Ctrl+L 한 라인을 클낳링藥?잘라내기 (Cut)
Ctrl+T 현재 커서에 있는 단어의 툴팁정보 보기
Ctrl+U 모두 소문자로
Ctrl+W 클래스 위자드 (MFC 코딩시에만 사용)

Ctrl+Shite+Space 현재 가르키고 있는 함수의 매개변수 보기

Ctrl+Shift+F2 지정된 모든 북마크를 해제
Ctrl+Shift+F3 이전 단어 찾기
Ctrl+Shift+F8 열 블럭(키보드로), 취소할 때는 Esc키를 눌러야 함
Ctrl+Shift+F9 현재 Edit하고 있는 소스파일에 지정된 모든 Breakpoint 해제

Ctrl+Shift+8 문단기호 표시/감추기 : Tab은 ^, Space는 .으로 표시

Ctrl+Shift+L 한 라인을 삭제
Ctrl+Shift+P 매크로 실행
Ctrl+Shift+R 매크로 기록
Ctrl+Shift+T 공백/콤마/파이프/괄호 등을 기준으로 좌우 문자열을 Swap시킴
Ctrl+Shift+U 모두 대문자로

Ctrl+Alt+T 멤버 변수/함수 목록에 대한 팝업 창이 나타남

 

 

Alt+MouseMove 컬럼 Selection

Alt+B -> E Clean
Alt+B -> R Rebuild All
Alt+E+I 프로젝트 내의 모든 파일에서 찾기
Alt+G 그 함수가 선언된 파일이나 위치로 고!
Alt+O 헤더와 소스파일을 번갈아 보여줌

Alt+0 WorkSpace 윈도우
Alt+2 output 윈도우

Alt+F7 Project Setting
Alt+F8 들여쓰기 자동 조정
Alt+F9 브레이크포인트 관리

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

반응형
Posted by blueasa
, |

이거 의외로 모르시는 분이 꽤 많더라고요.. 하긴 저도 비졀스튜디오 사용한지 한참이 지나서야 알았지만..

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

OutputDebugString 많이 이용하시죠???  출력창으로 바로 보여주니까 잠깐의 테스트 동안 값을 확인하기 위해 편리한데

이건 코드상에 넣어서 컴파일을 해야 하는 문제점이...

그래서 추적점이라는 것이 있습니다. F9누르면 커서가 있는 라인에 중단점을 설정하자나요.

해당 변수의 값 확인을 원하는 위치에서 마우스 오른쪽 버튼을 누르면 중단점 밑에 추적점이라고 있습니다.

그거 누르시면, '메시지 표시' 필드를 통해서 원하는 변수 값이라던지 특정 스트링을 출력창에 출력할 수 있습니다.

특정 메크로를 실행할 수도 있고, 중단점 기능처럼 멈추게 할 수도 있고.. 등등 의 기능을 할 수 있습니다.

이건 그냥 F9를 눌러서 중단점을 설정해 놓고 해당 중단점창에서 오른쪽 클릭해서 나오는 '적중될 때'  하위 메뉴를 클릭했을 때랑 동일합니다.

이렇게 적중될 때 할일을 설정하면 동그란 중단점 모양이 마름모의 추적점 모양으로 바뀝니다.

많은 분들이 이미 알고 계실테지만.. 또한 많은 분들이 모르시는 것 같아서 올려 봅니다. ㅎ~~


출처 : http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture&page=4&page_num=40&select_arrange=last_comment&desc=&sn=off&ss=on&sc=on&keyword=&no=127&category=
반응형
Posted by blueasa
, |
---------------------------------------------------
*초기작성일 : 2003/06/18
*작성/저작: 곽용재(kwak101@hitel.net)
---------------------------------------------------

(아시는 분도 있을지 모르지만) 프로그램을 디버깅하던 중, 제가 발견했다는 점에서 이곳에 한번 써 봅니다. :) VC++ 통합환경을 사용할 때 가장 많이 쓰게 되는 기능 중, Build->Start(CTRL+F5)와 Debug->Go(F5)의 차이점중 하나에 대해 알아 보겠습니다.

F5는 IDE(통합환경)가 실행 프로세스를 반동결(Soft-ice)상태로 실행시켜, 사용자가 내부 변수의 값을 들여다 볼 수 있거나 중간에 멈출 수 있게 합니다. 디버깅을 할 때에 아주 중요한 역할을 하지요.
 반면, CTRL-F5는 IDE가 실행 프로세스를 단순히 생성(fork)하는 역할만 합니다. 즉, 배포된 프로그램을 우리가 설치해서 실행할 때와 똑같은 환경이라고 생각하면 되겠습니다.

이 두 개의 기능은 방금 설명한 것 이외에 조금 다른 실행환경을 제공합니다. 바로 "미초기화 변수의 초기화"입니다. 그리고, 이 양상은 프로그램이 릴리즈 빌드냐, 디버그 빌드냐에 따라 다릅니다. 아래와 같은 구조체와 이것을 사용한 코드(비록 한 줄이지만)있다고 가정합시다.

struct Sample
{
   Sample(bool b_isValid):b_isValid_(b_isValid){}
   Sample(){}
  
   inline bool isValid(){return b_isValid_;}

   bool  b_isValid_;
};

.
.
.


Sample smpl1;
bool b = smpl1.isValid();


  이 코드를 릴리즈 빌드로 만들고, Start(CTRL+F5)로 실행할 때의 b값과 Go(F5)로 실행할 때의 b값을 체크하면 서로 다르게 나옵니다.  Start의 경우 b의 값이 false가 나오고, Go의 경우 b의 값이 true로 나옵니다. 바꾸어 말하면 Start는 미초기화 변수를 0으로 놓고, Go는 0이 아닌 값으로  세팅한다는 것입니다. (실제로 bool 타입의 false 값을 VC6의 디버거로 읽으면 0입니다. VC7의 경우엔 false라고 나오지만요)

  한데, 디버그 빌드의 경우는 어떨까요? 그 경우에는 Start나 Go나 차이를 보이지 않고 b값이 true입니다. 여기서 자그마한 결론을 얻을 수 있습니다.


  1. 디버그 빌드를 했거나 F5로 실행시키는 경우, 미초기화 변수는 0이 아닌 값으로 초기화된다.
  2.  릴리즈 빌드한 프로그램을 CTRL-F5로 실행시키는 경우, 미초기화 변수는 0으로 초기화된다.


  디버깅할 때는 잘 돌던 프로그램이 그냥 실행시킬 땐 오동작을 보이는 경우가 있어 막대한 육체적/정신적 에너지를 낭비하는 경우가 있는데, 그런 경우를 만난다면 이 글의 내용을 한 번쯤 떠올려 보시기 바랍니다. 그리고 다음의 점검을 해보시기 바랍니다.

   -기본생성자가 함부로 내동댕이쳐져 있는가?
   -복사생성자에서 멤버 간 대입(member-wise assignment)를 잘 하는가?
   - 전역변수와 정적변수 초기화를 제대로 했는가?
   - 실수로 초기화하지 않고 쓰는 지역변수가 있는가?(요즘 나오는 대부분의 좋은 컴파일러는 경고 메시지를 내주긴 합니다만)

필자의 경우 이것 때문에 반나절을 날리는 고생을 한 적이 있습니다. 참 어이가 없었죠..:)

출처 : http://www.kwak101.pe.kr/bbs/view.php?id=kwak_worksInternDocTip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=10
반응형
Posted by blueasa
, |

간단하더라.

우선 .sln파일을 열어 version항목에 있는 숫자를 1 내린다.

10.0 -> 9.0

그리고 vproj파일을 열어 같은 작업을 반복한다.

9.0 -> 8.0

 

참고로 2008로 적혀있는 문구는 2005로 바꿔주면된다.

 

나 군대다녀와도 까먹으면 안돼!!


반응형
Posted by blueasa
, |
MS의 매직 디버깅 숫자들의 의미...
ABABABAB HeapAlloc으로 메모리 할당 후 가드 바이트에 채워진 값
CCCCCCCC 초기화 되지 않은 스택 메모리
CDCDCDCD 메모리 할당 후 초기화 되지 않은 힙 메모리
BAADF00D LocalAlloc(LMEM_FIXED)으로 메모리 할당된 후 초기화 되지 않은 값
FDFDFDFD 할당된 메모리의 전후 가드용 바이트에 채워지는 값
FEEEFEEE 힙 메모리를 해제한 후 채워지는 값

http://www.gamecodi.com/board/zboard.php?id=GAMECODI_Tip&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=185
반응형
Posted by blueasa
, |
반응형
Posted by blueasa
, |
반응형
Posted by blueasa
, |

삼성전자의 코딩(Coding), 프로그래밍 스타일

http://a.tk.co.kr/18

 

헝가리안 :: 코딩 스타일, 가독성 향상을 위하여…

http://a.tk.co.kr/28

 

Kyuseo의 C++ 프로그래밍(코딩) 최적화 원칙

http://a.tk.co.kr/126

 

Kyuseo's C++ 독시젠을 활용한 주석 작성 스타일 가이드라인(규칙)

http://a.tk.co.kr/130

 

Kyuseo’s 프로그래밍 규범 (Programming Pattern)

http://a.tk.co.kr/25

 

Kyuseo's C++ 프로그래밍 스타일 가이드라인 :: 코딩/프로그래밍 규칙

http://a.tk.co.kr/279


반응형
Posted by blueasa
, |