Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Visual Studio 사용 설명서
- 고급 -
Lusain Kim
PRESENT BY WARP, 2016 1
목차
• 글꼴 및 색
바로 가기
• 경로 설정
바로 가기
• 경고 수준
바로 가기
• 리펙터링 도구
바로 가기
• 참조 프로젝트
바로 가기
• 소스 제어
바로 가기
INDEX
PRESENT BY WARP, 2016 2
글꼴 및 색
PRESENT BY WARP, 2016 3
폰트를 아무거나 쓰면 안 되는 이유
• 협업을 하는 두 개발자 A, B
• A 개발자는 '맑은 고딕', B 개발자는 'Arial' 폰트 사용 중
• A 가 코드를 보기 좋게 정렬해서 B 에게 전달
• B : ??????...
고정 길이 글꼴을 써야하는 이유
•고정 길이 글꼴
하나의 글자가 차지하는 폭이 동일한 폰트
• A 개발자와 B 개발자가 다른 폰트를 사용하더라도 동일한 간격 보장
• 코드 정렬 유지
•코딩용 폰트
• 1, I, l, ...
추천하는 코딩용 폰트
• 제공 : 폰트 이름 순으로 기재
• Visual Studio : Consolas
• 네이버 개발자 센터(D2) : D2Coding, 나눔고딕코딩
• Windows : Courier New
• 참...
색 지정
Visual Studio는 기본적으로 일정 단어에 색을 지정하여 가독성 지원
◦ 초기 색 설정이 된 항목 :
◦ VS2010 : 키워드, 사용자 형식, 문자열, define, 주석 등
◦ 사용자 형식 : cla...
어느 게 보기 좋아요?
색 지정을 한 코드 색 지정을 하지 않은 코드
PRESENT BY WARP, 2016 8
어떻게 바꿔요?
도구 ▷ 옵션 ▷ 환경 ▷ 글꼴 및 색
PRESENT BY WARP, 2016 9
표시 항목에서 어떤 걸 바꿔야 하나요?
PRESENT BY WARP, 2016 10
표시 항목에서 어떤 걸 바꿔야 하나요?
PRESENT BY WARP, 2016 11
표시 항목에서 어떤 걸 바꿔야 하나요?
PRESENT BY WARP, 2016 12
경로 설정
PRESENT BY WARP, 2016 13
경로 설정의 필요성
• 외부 라이브러리를 사용할 때
• 파일 개수가 50개를 넘어갈 때
• 리소스 파일이 있을 때
이렇게 파일 관리하면 안돼요!
PRESENT BY WARP, 2016 14
절대 경로 vs 상대 경로
• 절대 경로 파일의 탐색 경로가 파일 시스템의 루트로부터 시작해 명시된 파일의 경로 이름
출처 | 네이버 지식백과
• 상대 경로 현재 작업 디렉터리로부터 찾아갈 파일에 이르는 경로
출처 | ...
소스 파일을 정리하니 경로가 꼬여요!
• 파일이 많으면 용도별로 폴더를 나누는 것을 권장
• 폴더에 정리하면 이전처럼 파일에 바로 접근이 불가 (경로를 추가해야 함)
• Collision.h 파일을 참조하기 위해서는 E...
소스 파일을 정리하니 경로가 꼬여요!
• 경로를 명시하는 것도 좋지만, 미리 추가된 헤더 같은 경우 번거로울 수 있음
• 추가 디렉터리 경로를 설정하면 해당 디렉터리에서도 검색
• 모든 추가 디렉터리 경로에서 검색
• ...
포함 디렉터리 설정하기
• 설정 방법
1. [솔루션 탐색기] ▷ 프로젝트 우클릭 ▷ [속성] ▷ [구성 속성]
1. [모든 구성], [모든 플랫폼]으로 변경
2. [VC++ 디렉터리] ▷ [포함 디렉터리] ▷ [편집.....
Tip.
1. [편집…]을 사용할 것 : 경로를 임의로 수정하다가 프로젝트를 다시 설정할 수 있음
2. <다른 옵션> 일 경우에는 절대로 [편집]을 사용할 것!
악몽의 시작
• 출력 디렉토리 실제 파일이 출력되는 디렉토...
경고 수준
PRESENT BY WARP, 2016 20
경고와 오류의 차이
• 오류Error 문법이 잘못되어 해석이 불가능한 경우
• 경고Warning 문법이 조금 이상하거나 추후 문제의 소지가 있지만 해석은 가능한 경우
PRESENT BY WARP, 2016 21
경고의 의미
1. 컴파일은 되지만 컴파일러 임의로 해석할 여지가 있는 구문이 있음
2. 논리 오류(Logic Error)의 원인이 될 법한 구문이 있음
PRESENT BY WARP, 2016 22
경고 수준Warning Level
◦ 경고는 레벨에 따라 엄격해짐
• Visual Studio의 기본 경고 수준은 W3
• 추가 정보 | https://msdn.microsoft.com/ko-kr/library/thxe...
경고 수준 설정 방법
◦ 경고는 다음 위치에서 확인 가능:
◦ 프로젝트 속성 ▷ C/C++ ▷ 일반
PRESENT BY WARP, 2016 24
리펙터링 도구
PRESENT BY WARP, 2016 25
리펙터링Refactoring 이란?
• 소프트웨어 공학에서 결과의 변경 없이 코드의 구조를 재조정함을 뜻한다.
출처 | 위키백과
• 가독성 또는 유지보수의 편의 향상 목적
• Visual Studio에서는 리펙터링을 위...
Visual Studio의 리펙터링 도구 사용하기
1. 텍스트 편집기에서 리펙터링 할 영역을 선택
2. 편집(E) ▷ 리펙터링(R) 에서 원하는 명령 선택
※선택 영역이 없을 경우 메뉴가 나타나지 않음
PRESENT B...
이름 바꾸기
• 단축키 : Ctrl + R, Ctrl + R
• 사용방법
• 바꾸고 싶은 단어를 선택한다. 키워드 등, 바꿀 수 없는 단어는 기능하지 않는다.
• 기능
• 선택한 단어의 이름을 바꾼다.
• 선택한 단어가...
이름 바꾸기 사용 화면
PRESENT BY WARP, 2016 29
메서드 추출
• 단축키 : Ctrl + R, Ctrl + M
• 사용방법
• 메서드(함수)로 추출할 영역을 선택한 뒤 사용한다.
• 원하는 함수명을 입력하면 된다.
• 기능
• 선택 영역이 함수로 분리된다.
• 만약 범...
메서드 추출
PRESENT BY WARP, 2016 31
메서드 추출
PRESENT BY WARP, 2016 32
잠재적 수정 사항
• 잠재적 수정 사항이란?
• 함수가 선언만 되어 있고 실제 정의를 찾을 수 없는 경우
• 경고 오류 표시선(녹색 물결선)이 표시
• [Ctrl] + [.] 버튼을 눌러 빠른 작업 가능
PRESENT ...
빠른 작업
• 빠른 작업이란?
• 선택한 함수에 대한 스텁(stub) 작업(선언/정의 만들기, 정의 위치 이동) 제안
• [Ctrl] + [.] 버튼을 눌러 빠른 작업 가능
• 선언/정의 만들기
• 적절한 위치에 정의를...
매개변수 다시 정렬(서명 변경)
• 단축키 : Ctrl + R, Ctrl + O
• 사용방법
• 함수 이름을 선택한다.
• 기능
• 선택된 함수의 매개 인자를 관리하는 창 표시
• 추가 / 제거 / 변경 / 되돌리기 가...
참고 자료
• MSDN
• 전구를 사용하여 빠른 작업 수행 | https://msdn.microsoft.com/ko-kr/library/dn872466.aspx
• Visual Studio 2015에서 디버그 시작 | ...
참조 프로젝트
PRESENT BY WARP, 2016 37
참조 프로젝트란?
• 작업 프로젝트가 참조하는 프로젝트라는 의미로 참조 프로젝트라고 부름
• 목적
1. 소스 코드가 있는 라이브러리 프로젝트가 있고,
2. 디버깅 시 라이브러리 소스 코드에 접근하고 싶을 때
• 용도
•...
참조 프로젝트를 만드는 방법
• 정적 라이브러리로 구현
• 솔루션에 새 프로젝트 추가(기존 프로젝트가 있을 경우 생략)
• Win32 프로젝트 ▷ 정적 라이브러리 로 프로젝트 생성
• 메인 프로젝트의 참조 아이콘 에서 ...
효과
• 라이브러리 소스 코드에 미리 컴파일 된 헤더를 추가할 필요 없음
• 독립적인 라이브러리가 되었기 때문에 다른 프로젝트에서 사용 가능
• 모듈화 되었으므로 단위 테스트 가능
• 라이브러리를 수정할 경우 라이브러리...
소스 제어
PRESENT BY WARP, 2016 41
사전 준비
• 설치 시 Visual Studio용 GitHub 확장 [타사] 체크
• 설치 후, 소스 제어를 원하는 프로젝트화면 우측
하단에 게시 버튼이 있으면 됨
※없을 경우 최신 버전으로 Visual Studio 재...
게시하기
• 어디에 게시할 지 선택
• Visual Studio Team Services
• Microsoft에서 제공하는 무료 무제한 Git 리포지토리.
• Publish to GitHub
• GitHub에 원격 리포...
기본적인 사용 방법
• 소스 파일 옆에 아이콘이 표시됨
• 변경이 되지 않은 부분
• 변경이 된 부분
• 변경 사항이 있으면 다음 방식으로 커밋
• 솔루션 탐색기의 변경된 소스 파일을 우클릭 ▷ 소스제어
• 우측 하단에...
한 번에 일부만 커밋하고 싶어요
• 팀 탐색기 ▷ 변경 내용 ▷ 커밋하고 싶은 항목 우클릭 ▷ 스테이징(S)
• 스테이징 된 항목만 커밋
• 변경 취소
• 해당 항목만 직전 커밋 내용으로 되돌아감
PRESENT BY W...
변경 내역을 보고 싶어요
• 항목 우클릭 ▷ 기록 보기(H)
• 커밋 내역을 표시
• 커밋 ID, 만든 사람, 일자, 커밋 내용
• 더블 클릭: 해당 커밋 시점의 내용 열람 가능
PRESENT BY WARP, 2016 ...
내가 뭘 바꾼 거지?
• 항목 우클릭 ▷ 수정되지 않은 항목과 비교(C)
• 좌측이 직전 커밋 파일, 우측이 현재 파일
• 빨간색 : 제거됨
• 초록색 : 추가됨
• 변경된 부분은 강조하여 표시됨
• 스크롤 바에서 변경...
PRESENT BY WARP, 2016 48
원격 리포지토리에 게시
• 우측 하단 ↑표시에 원격 리포지토리에 게시되지 않은
커밋 개수 표시
• 팀 탐색기 ▷ 동기화 또는 ↑ 더블클릭
• 나가는 커밋 ▷ 푸시
• GitHub 계정 동기화 필요
PRESENT BY W...
원격 리포지토리와 동기화
• 팀 탐색기 ▷ 동기화
• 들어오는 커밋
• 페치(Fetch) 로컬 저장소에 반영하기 전 미리보기
• 끌어오기(Pull) 원격 저장소에서 로컬 저장소에 반영
• 커밋되지 않은 변경사항이 있으면...
쟤가 나랑 같은 걸 고치고 있었어!
• 나가는 커밋과 들어오는 커밋에 충돌이 있을 경우 충돌
• 병합(Merge)을 진행하여 최종적으로 어떤 소스를 사용
할지 결정
• 둘 중 하나로 병합 가능
PRESENT BY WAR...
내 코드와 쟤 코드가 완전 개판
• 두 버전의 일부분을 조합하여 병합하고 싶을 땐 병합 선택
• 아래와 같은 창이 나타나고, 각 수정 영역에서 원하는 버
전을 선택하면 결과에 반영
PRESENT BY WARP, 2016...
리포지토리의 역사
• 우측 하단의 Y 아이콘 ▷ 기록 보기(H)
• 기능
• 커밋 내역으로 전체 작업 진척 파악 가능
• 분기별 커밋 내역을 그래프로 시각화
• 특정 커밋 버전에서 새 분기 작성 가능
• 옛 버전으로 되...
실험이 필요합니다.
• 원본 버전을 유지한 채 새로운 기능을 추가하고 싶은 경우
=실패하면 그냥 싹 날려버려도 되게
• 분기(brunch) 기능을 제공
• 자세한 설명은 생략
• 우측 하단의 Y 자 아이콘 클릭 ▷ 새 ...
Q & A
PRESENT BY WARP, 2016 55
같이 보면 좋을 내용
• 디버깅
• Visual Studio 사용 설명서(초급)
PRESENT BY WARP, 2016 56
THANK YOU
PRESENT BY WARP, 2016 57
Upcoming SlideShare
Loading in …5
×

Visual studio 사용 설명서(고급)

3,402 views

Published on

Visual Studio 사용 설명서(http://www.slideshare.net/LusainKim/visua-studio)의 다음편입니다.

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Visual studio 사용 설명서(고급)

  1. 1. Visual Studio 사용 설명서 - 고급 - Lusain Kim PRESENT BY WARP, 2016 1
  2. 2. 목차 • 글꼴 및 색 바로 가기 • 경로 설정 바로 가기 • 경고 수준 바로 가기 • 리펙터링 도구 바로 가기 • 참조 프로젝트 바로 가기 • 소스 제어 바로 가기 INDEX PRESENT BY WARP, 2016 2
  3. 3. 글꼴 및 색 PRESENT BY WARP, 2016 3
  4. 4. 폰트를 아무거나 쓰면 안 되는 이유 • 협업을 하는 두 개발자 A, B • A 개발자는 '맑은 고딕', B 개발자는 'Arial' 폰트 사용 중 • A 가 코드를 보기 좋게 정렬해서 B 에게 전달 • B : ????????? 맑은 고딕 Arial PRESENT BY WARP, 2016 4
  5. 5. 고정 길이 글꼴을 써야하는 이유 •고정 길이 글꼴 하나의 글자가 차지하는 폭이 동일한 폰트 • A 개발자와 B 개발자가 다른 폰트를 사용하더라도 동일한 간격 보장 • 코드 정렬 유지 •코딩용 폰트 • 1, I, l, ㅣ,| (글꼴: 맑은 고딕)같은 구분하기 어려운 글자를 구분되게 만든 폰트 • D2Coding의 예 : 1, I, l, ㅣ,| PRESENT BY WARP, 2016 5
  6. 6. 추천하는 코딩용 폰트 • 제공 : 폰트 이름 순으로 기재 • Visual Studio : Consolas • 네이버 개발자 센터(D2) : D2Coding, 나눔고딕코딩 • Windows : Courier New • 참고 : http://ppss.kr/archives/66633 PRESENT BY WARP, 2016 6
  7. 7. 색 지정 Visual Studio는 기본적으로 일정 단어에 색을 지정하여 가독성 지원 ◦ 초기 색 설정이 된 항목 : ◦ VS2010 : 키워드, 사용자 형식, 문자열, define, 주석 등 ◦ 사용자 형식 : class, struct, union, enum 객체 ◦ VS2013 : 매개인자 ◦ VS2015 : new/delete 연산자 ◦ 구분이 필요한, 약간 애매한 항목들도 구분하여 색 지정이 가능 ◦ 변수 / 전역 변수 / 지역 변수 / 필드(클래스 멤버 변수) / 비정적 멤버 변수 ◦ 함수 / 멤버 함수 / 비정적 멤버 함수 / 템플릿 함수 PRESENT BY WARP, 2016 7
  8. 8. 어느 게 보기 좋아요? 색 지정을 한 코드 색 지정을 하지 않은 코드 PRESENT BY WARP, 2016 8
  9. 9. 어떻게 바꿔요? 도구 ▷ 옵션 ▷ 환경 ▷ 글꼴 및 색 PRESENT BY WARP, 2016 9
  10. 10. 표시 항목에서 어떤 걸 바꿔야 하나요? PRESENT BY WARP, 2016 10
  11. 11. 표시 항목에서 어떤 걸 바꿔야 하나요? PRESENT BY WARP, 2016 11
  12. 12. 표시 항목에서 어떤 걸 바꿔야 하나요? PRESENT BY WARP, 2016 12
  13. 13. 경로 설정 PRESENT BY WARP, 2016 13
  14. 14. 경로 설정의 필요성 • 외부 라이브러리를 사용할 때 • 파일 개수가 50개를 넘어갈 때 • 리소스 파일이 있을 때 이렇게 파일 관리하면 안돼요! PRESENT BY WARP, 2016 14
  15. 15. 절대 경로 vs 상대 경로 • 절대 경로 파일의 탐색 경로가 파일 시스템의 루트로부터 시작해 명시된 파일의 경로 이름 출처 | 네이버 지식백과 • 상대 경로 현재 작업 디렉터리로부터 찾아갈 파일에 이르는 경로 출처 | 네이버 지식백과 • Visual Studio에서 작업중이라면, 상대 경로의 현재 작업 디렉터리는 현재 프로젝트 파일이 있는 곳 • 예 : Proj 프로젝트에서 작업하고 있을 경우, 상대 경로는 Proj 프로젝트 파일(Proj.vcxproj)이 있는 곳 • 협업을 한다면 되도록 상대경로로 맞출 것 • C:Project... 로 경로를 통일하고 싶지 않으면. PRESENT BY WARP, 2016 15
  16. 16. 소스 파일을 정리하니 경로가 꼬여요! • 파일이 많으면 용도별로 폴더를 나누는 것을 권장 • 폴더에 정리하면 이전처럼 파일에 바로 접근이 불가 (경로를 추가해야 함) • Collision.h 파일을 참조하기 위해서는 EngineCollisionCollision.h 을 전부 입력해야 함 • 프로젝트 중반에 소스 파일을 정리하면 대참사 (파일 소스을(를) 열 수 없습니다. …) PRESENT BY WARP, 2016 16
  17. 17. 소스 파일을 정리하니 경로가 꼬여요! • 경로를 명시하는 것도 좋지만, 미리 추가된 헤더 같은 경우 번거로울 수 있음 • 추가 디렉터리 경로를 설정하면 해당 디렉터리에서도 검색 • 모든 추가 디렉터리 경로에서 검색 • 예 : CollisionPathCollision.h 를 Collision.h 로만 접근하고 싶을 때 • 추가 디렉터리 경로 ▷ CollisionPath • 모든 작업 경로에서 #include "Collision.h" 로 접근 가능 PRESENT BY WARP, 2016 17
  18. 18. 포함 디렉터리 설정하기 • 설정 방법 1. [솔루션 탐색기] ▷ 프로젝트 우클릭 ▷ [속성] ▷ [구성 속성] 1. [모든 구성], [모든 플랫폼]으로 변경 2. [VC++ 디렉터리] ▷ [포함 디렉터리] ▷ [편집...] 3. [C/C++] ▷ [일반] ▷ [추가 포함 디렉터리] ▷ [편집...] … 추천 ∵ 프로젝트가 기본적으로 포함하는 경로를 건들지 않음. PRESENT BY WARP, 2016 18
  19. 19. Tip. 1. [편집…]을 사용할 것 : 경로를 임의로 수정하다가 프로젝트를 다시 설정할 수 있음 2. <다른 옵션> 일 경우에는 절대로 [편집]을 사용할 것! 악몽의 시작 • 출력 디렉토리 실제 파일이 출력되는 디렉토리 • 구성과 플랫폼에 따른 산출물을 구분할 필요가 없다면 하나의 폴더에서 관리할 수 있음 • 적절히 잘 설정하여 프로젝트 폴더 관리를 수월하게 하는 것이 필요 PRESENT BY WARP, 2016 19
  20. 20. 경고 수준 PRESENT BY WARP, 2016 20
  21. 21. 경고와 오류의 차이 • 오류Error 문법이 잘못되어 해석이 불가능한 경우 • 경고Warning 문법이 조금 이상하거나 추후 문제의 소지가 있지만 해석은 가능한 경우 PRESENT BY WARP, 2016 21
  22. 22. 경고의 의미 1. 컴파일은 되지만 컴파일러 임의로 해석할 여지가 있는 구문이 있음 2. 논리 오류(Logic Error)의 원인이 될 법한 구문이 있음 PRESENT BY WARP, 2016 22
  23. 23. 경고 수준Warning Level ◦ 경고는 레벨에 따라 엄격해짐 • Visual Studio의 기본 경고 수준은 W3 • 추가 정보 | https://msdn.microsoft.com/ko-kr/library/thxezb7y.aspx W0 경고 없음 W1 심각한 경고 표시 W2 W1 + 조금 덜 심각한 경고 표시 W3 W2 + 프로덕션 목적으로 권장되는 기타 모든 경고 표시 W4 W3 + 정보를 알려주는 경고 표시 (권장) PRESENT BY WARP, 2016 23
  24. 24. 경고 수준 설정 방법 ◦ 경고는 다음 위치에서 확인 가능: ◦ 프로젝트 속성 ▷ C/C++ ▷ 일반 PRESENT BY WARP, 2016 24
  25. 25. 리펙터링 도구 PRESENT BY WARP, 2016 25
  26. 26. 리펙터링Refactoring 이란? • 소프트웨어 공학에서 결과의 변경 없이 코드의 구조를 재조정함을 뜻한다. 출처 | 위키백과 • 가독성 또는 유지보수의 편의 향상 목적 • Visual Studio에서는 리펙터링을 위한 도구 제공 • 이름 바꾸기 (Ctrl + R, Ctrl + R) • 메서드 추출 (Ctrl + R, Ctrl + M) • 선언/정의 만들기 • 정의 위치 이동 • 매개 변수 다시 정렬 (Ctrl + R, Ctrl + O) PRESENT BY WARP, 2016 26
  27. 27. Visual Studio의 리펙터링 도구 사용하기 1. 텍스트 편집기에서 리펙터링 할 영역을 선택 2. 편집(E) ▷ 리펙터링(R) 에서 원하는 명령 선택 ※선택 영역이 없을 경우 메뉴가 나타나지 않음 PRESENT BY WARP, 2016 27
  28. 28. 이름 바꾸기 • 단축키 : Ctrl + R, Ctrl + R • 사용방법 • 바꾸고 싶은 단어를 선택한다. 키워드 등, 바꿀 수 없는 단어는 기능하지 않는다. • 기능 • 선택한 단어의 이름을 바꾼다. • 선택한 단어가 특정 범위에 속한 경우 범위까지 같은 이름만 바꿔준다. • ex) T 라는 클래스 안의 data라는 변수를 리펙터링 할 경우, T::data로 인식되는 이름만 바꾼다. PRESENT BY WARP, 2016 28
  29. 29. 이름 바꾸기 사용 화면 PRESENT BY WARP, 2016 29
  30. 30. 메서드 추출 • 단축키 : Ctrl + R, Ctrl + M • 사용방법 • 메서드(함수)로 추출할 영역을 선택한 뒤 사용한다. • 원하는 함수명을 입력하면 된다. • 기능 • 선택 영역이 함수로 분리된다. • 만약 범위 밖의 값이 쓰였다면, 값의 이름을 인자로 준다. • 컴파일러가 분리할 수 없다고 판단하면 기능하지 않는다. PRESENT BY WARP, 2016 30
  31. 31. 메서드 추출 PRESENT BY WARP, 2016 31
  32. 32. 메서드 추출 PRESENT BY WARP, 2016 32
  33. 33. 잠재적 수정 사항 • 잠재적 수정 사항이란? • 함수가 선언만 되어 있고 실제 정의를 찾을 수 없는 경우 • 경고 오류 표시선(녹색 물결선)이 표시 • [Ctrl] + [.] 버튼을 눌러 빠른 작업 가능 PRESENT BY WARP, 2016 33
  34. 34. 빠른 작업 • 빠른 작업이란? • 선택한 함수에 대한 스텁(stub) 작업(선언/정의 만들기, 정의 위치 이동) 제안 • [Ctrl] + [.] 버튼을 눌러 빠른 작업 가능 • 선언/정의 만들기 • 적절한 위치에 정의를 만든다. • 정의 위치 이동 • 선언이 없는 경우 : 해당 위치를 선언으로 바꾸고 정의 생성 • 선언과 정의가 모두 있는 경우 : 선언 위치에 정의 PRESENT BY WARP, 2016 34
  35. 35. 매개변수 다시 정렬(서명 변경) • 단축키 : Ctrl + R, Ctrl + O • 사용방법 • 함수 이름을 선택한다. • 기능 • 선택된 함수의 매개 인자를 관리하는 창 표시 • 추가 / 제거 / 변경 / 되돌리기 가능. • 실험적 기능이기 때문에 버그가 꽤 존재 PRESENT BY WARP, 2016 35
  36. 36. 참고 자료 • MSDN • 전구를 사용하여 빠른 작업 수행 | https://msdn.microsoft.com/ko-kr/library/dn872466.aspx • Visual Studio 2015에서 디버그 시작 | https://msdn.microsoft.com/ko-kr/library/dn986851.aspx PRESENT BY WARP, 2016 36
  37. 37. 참조 프로젝트 PRESENT BY WARP, 2016 37
  38. 38. 참조 프로젝트란? • 작업 프로젝트가 참조하는 프로젝트라는 의미로 참조 프로젝트라고 부름 • 목적 1. 소스 코드가 있는 라이브러리 프로젝트가 있고, 2. 디버깅 시 라이브러리 소스 코드에 접근하고 싶을 때 • 용도 • 프로젝트 독립적인 라이브러리를 사용할 때 • 각 기능을 모듈화 하여 컴파일 시간을 단축시키고 싶을 때 참조 프로젝트의 예 PRESENT BY WARP, 2016 38
  39. 39. 참조 프로젝트를 만드는 방법 • 정적 라이브러리로 구현 • 솔루션에 새 프로젝트 추가(기존 프로젝트가 있을 경우 생략) • Win32 프로젝트 ▷ 정적 라이브러리 로 프로젝트 생성 • 메인 프로젝트의 참조 아이콘 에서 참조 추가(R)... ▷ 참조 프로젝트 선택 • 메인 프로젝트의 속성에서 추가 포함 디렉터리에 참조 프로젝트의 프로젝트 디렉터리 추가 + 되도록 상대경로로 설정 • 메인 프로젝트에서 호출할 참조 프로젝트의 헤더 파일 포함 • 시작 프로젝트는 항상 메인 프로젝트로 하면 자동적으로 종속된 모든 정적 라이브러리 우선 빌드 PRESENT BY WARP, 2016 39
  40. 40. 효과 • 라이브러리 소스 코드에 미리 컴파일 된 헤더를 추가할 필요 없음 • 독립적인 라이브러리가 되었기 때문에 다른 프로젝트에서 사용 가능 • 모듈화 되었으므로 단위 테스트 가능 • 라이브러리를 수정할 경우 라이브러리만 다시 빌드하면 됨 PRESENT BY WARP, 2016 40
  41. 41. 소스 제어 PRESENT BY WARP, 2016 41
  42. 42. 사전 준비 • 설치 시 Visual Studio용 GitHub 확장 [타사] 체크 • 설치 후, 소스 제어를 원하는 프로젝트화면 우측 하단에 게시 버튼이 있으면 됨 ※없을 경우 최신 버전으로 Visual Studio 재설치 권장 • 새 프로젝트를 만들 때 설정하기 • 새 Git 리포지토리 만들기(G) 체크 PRESENT BY WARP, 2016 42
  43. 43. 게시하기 • 어디에 게시할 지 선택 • Visual Studio Team Services • Microsoft에서 제공하는 무료 무제한 Git 리포지토리. • Publish to GitHub • GitHub에 원격 리포지토리를 생성하여 거기에 게시 • GitHub 계정 필요 • Private으로 설정할 경우, 비공개 리포지토리 생성 가능(유료) + GitHub 학생 지원 팩으로 사용 가능 • 게시하지 않으면 로컬 리포지토리로만 사용 • 타른 작업 공간과 동기화 작업 불가능 • 커밋 / 되돌리기 작업 수행 가능 PRESENT BY WARP, 2016 43
  44. 44. 기본적인 사용 방법 • 소스 파일 옆에 아이콘이 표시됨 • 변경이 되지 않은 부분 • 변경이 된 부분 • 변경 사항이 있으면 다음 방식으로 커밋 • 솔루션 탐색기의 변경된 소스 파일을 우클릭 ▷ 소스제어 • 우측 하단에서 연필 부분을 클릭 • 팀 탐색기 ▷ 변경 내용 • 변경 시 커밋 내용을 반드시 작성 PRESENT BY WARP, 2016 44
  45. 45. 한 번에 일부만 커밋하고 싶어요 • 팀 탐색기 ▷ 변경 내용 ▷ 커밋하고 싶은 항목 우클릭 ▷ 스테이징(S) • 스테이징 된 항목만 커밋 • 변경 취소 • 해당 항목만 직전 커밋 내용으로 되돌아감 PRESENT BY WARP, 2016 45
  46. 46. 변경 내역을 보고 싶어요 • 항목 우클릭 ▷ 기록 보기(H) • 커밋 내역을 표시 • 커밋 ID, 만든 사람, 일자, 커밋 내용 • 더블 클릭: 해당 커밋 시점의 내용 열람 가능 PRESENT BY WARP, 2016 46
  47. 47. 내가 뭘 바꾼 거지? • 항목 우클릭 ▷ 수정되지 않은 항목과 비교(C) • 좌측이 직전 커밋 파일, 우측이 현재 파일 • 빨간색 : 제거됨 • 초록색 : 추가됨 • 변경된 부분은 강조하여 표시됨 • 스크롤 바에서 변경 부분을 표시 • 줄 단위로 삭제된 부분은 회색 빗금 PRESENT BY WARP, 2016 47
  48. 48. PRESENT BY WARP, 2016 48
  49. 49. 원격 리포지토리에 게시 • 우측 하단 ↑표시에 원격 리포지토리에 게시되지 않은 커밋 개수 표시 • 팀 탐색기 ▷ 동기화 또는 ↑ 더블클릭 • 나가는 커밋 ▷ 푸시 • GitHub 계정 동기화 필요 PRESENT BY WARP, 2016 49
  50. 50. 원격 리포지토리와 동기화 • 팀 탐색기 ▷ 동기화 • 들어오는 커밋 • 페치(Fetch) 로컬 저장소에 반영하기 전 미리보기 • 끌어오기(Pull) 원격 저장소에서 로컬 저장소에 반영 • 커밋되지 않은 변경사항이 있으면 Pull 불가능 PRESENT BY WARP, 2016 50
  51. 51. 쟤가 나랑 같은 걸 고치고 있었어! • 나가는 커밋과 들어오는 커밋에 충돌이 있을 경우 충돌 • 병합(Merge)을 진행하여 최종적으로 어떤 소스를 사용 할지 결정 • 둘 중 하나로 병합 가능 PRESENT BY WARP, 2016 51
  52. 52. 내 코드와 쟤 코드가 완전 개판 • 두 버전의 일부분을 조합하여 병합하고 싶을 땐 병합 선택 • 아래와 같은 창이 나타나고, 각 수정 영역에서 원하는 버 전을 선택하면 결과에 반영 PRESENT BY WARP, 2016 52
  53. 53. 리포지토리의 역사 • 우측 하단의 Y 아이콘 ▷ 기록 보기(H) • 기능 • 커밋 내역으로 전체 작업 진척 파악 가능 • 분기별 커밋 내역을 그래프로 시각화 • 특정 커밋 버전에서 새 분기 작성 가능 • 옛 버전으로 되돌리기 가능 PRESENT BY WARP, 2016 53
  54. 54. 실험이 필요합니다. • 원본 버전을 유지한 채 새로운 기능을 추가하고 싶은 경우 =실패하면 그냥 싹 날려버려도 되게 • 분기(brunch) 기능을 제공 • 자세한 설명은 생략 • 우측 하단의 Y 자 아이콘 클릭 ▷ 새 분기(N) • 팀 탐색기 ▷ 분기 ▷ 새 로컬 분기 시작 위치(N) PRESENT BY WARP, 2016 54
  55. 55. Q & A PRESENT BY WARP, 2016 55
  56. 56. 같이 보면 좋을 내용 • 디버깅 • Visual Studio 사용 설명서(초급) PRESENT BY WARP, 2016 56
  57. 57. THANK YOU PRESENT BY WARP, 2016 57

×