vs2005와 vs2008을 동시에 지원하다보니..
설치후 devenv.exe를 실행시켜주는과정에서..
둘 중 하나가 설치되어있지 않으면 설치가 안되는 버그가 발견되어서..

급히 배포프로젝트를 nsis로 새로 만들어서 올렸습니다.
배포본만 다시 나가는거라 버전은 올리지 않았습니다.

레지스트리명을 바꿔서 테스트 해보니 정상작동하네요.

설치도 제대로 안되는걸 배포해서 죄송합니다;;;

ps. 덕분에 Download count가 0으로... orz;;

사용자 삽입 이미지
새버전이 배포되었습니다.
http://vutpp.googlecode.com 에서 받으시면 됩니다.

요즘 백수라 매일 집에서 놀다보니 VisualStudio를 실행시키기가 오히려 더 힘들어서 작업이 많이 늦어 졌습니다;;;
퇴직하면서 서류처리가 좀 많았고 요즘 취직관련해서 이리저리 알아보고 사람들 만나러 다니고 하느라 바쁜것도 있지만요;;
취직이 빨리 결정이 안되니 이래저래 스트레스군요;

우선 addin형태에서 패키지형태로 바뀌었습니다.
Addin형태는 VS버전별로 설치를 해야 해서 VisualStudio 2008지원이 추가 되면서 Program Files밑에 하나만 설치하도록 패키지 형태로 변경되었습니다.
근데 VC랑 연동하는 부분을 vs2005와 vs2008을 별도의 dll로 만들어서 리플렉션으로 연동을 해서 리프레쉬속도가 좀 느려졌습니다;;

그리고 툴바를 못찾는 분들이 많으셔서 VisualAssist처럼 메인 메뉴에 메뉴를 추가하였습니다.
사용자 삽입 이미지

그리고 위 메뉴에 있는 내용들을 keyboard shortcut을 설정할 수 있도록 추가하였습니다.
사용자 삽입 이미지

그리고 BindCode를 자꾸 바꾸게 되서(아마 0.4에서 또 바뀔듯;) 번거로우실거 같아서 배포본에 포함하였습니다. 설치폴더에 있는 BindCode들을 직접 프로젝트에 연결해서 사용하시면 편할실것 같습니다.
사용자 삽입 이미지

자세한 변경사항은 아래와 같습니다.

  •  issue 10 : add support VisualStudio 2008
  •  issue 7 : fix compiler.PreprocessorDefinitions problem
  •  issue 8 : add support winunit
  •  issue 11 : VUTPP cannot find TEST in Solution Folder
  •  issue 13 : Add support shortcut-key
  • convert project to VSPackage
  • Improve ReparseCurrentFile(for Navigate and Update List) to use thread
  • Add MenuBar?
  • change bind codes
  • 안타깝게도 debug기능이 들어가지 않았습니다.
    원래는 debug기능까지 추가하고 배포하려고 했는데 버그 수정된것들도 있는데 배포가 너무 늦어지는 것 같아서 먼저 배포했습니다.

    debug기능이 WinUnit을 추가하면서 좀 문제가 생겼네요.
    WinUnit은 내부에서 Test를 관리하는 내용이 없고 밖에서 외부로 노출되어 있는 모든 함수를 실행하게끔 되어 있어서 아무래도 WinUnit만 따로 예외처리하는 형식으로 처리해야 할 것 같습니다.

    그 외에는 오른쪽버튼 눌러서 팝업창 띄우는것 정도의 내용이 남았네요.

    이정도로 해서 0.4를 배포하고..

    그 다음은 CruiseControl.net지원이라던가.
    아마 안될것 같지만 VisualStudio 2003지원을 좀 살펴본다던가 하게 될거 같네요.
    패키지로 만들면 VisualStudio 2003이 될 줄 알았는데.. 안되는군요;;
    VisualAssist쪽을 보면 VS에 런칭하는 부분이 아예 따로 되어 있는것 같기도 합니다.

    전체적으로 다운버그 같은 것들은 많이 수정되었습니다만.
    문제가 있거나 필요하신 기능이 있으면 댓글로 달아주시기 바랍니다.

    최근 VisualUnitTest++의 배포가 늦어지고 있었는데..
    머 노느라 바빠서-_- 가 주 원인입니다만..;;

    프로젝트적으로는 Integration Package로 프로젝트 타입을 바꾸고 실시간 감시코드를 스레드로 바꾸면서 크래시가 잔뜩-_-나서 수정하느라 시간이 걸렸습니다.
    실시간 감시에서 크래시 나는걸 수정하면서 실행중 크래시가 날 수 있는 부분들도 모두 수정했습니다.
    일단 프로젝트 타입을 package로 변경하는건 끝났습니다.

    Addin하고는 기본 접근이 달라서 꽤 복잡하군요.
    오늘 VS Industry Partner등록도 했으니..
    이쪽은 배포하는 부분만 하면 되네요.. 쓰기도 힘든데 배포도 꽤 복잡하군요;;

    관련 기술 링크들입니다.
    Tutorials for Customizing the Visual Studio IDE
    Releasing a Visual Studio Integration Product
    Visual Studio Industry Partner (VSIP) program portal

    일단 멀쩡한 프로젝트를 Package로 변경한거는 2008지원을 위해서 입니다.
    Addin프로젝트의 경우 배포를 각 버전별로 해야 해서 관리가 힘들어서 Package로 변경하면서 2008지원이 추가되었습니다.
    아직 테스트는 안해봤지만 2003이나 2002도 될지도 모르겠습니다..생각으로는 그래도 얘네들은 안되지 않을까..하는 생각입니다만;;

    WinUnit지원작업은 예전에 끝났고, 디버깅 지원작업은 좀 밀리고 있네요.
    기본 사용형태를 툴바아이콘 형태에서 VisualAssist같은 메뉴가 생기는 방식으로 변경하면서
    TreeView에도 팝업메뉴같은것들을 추가하고 있어서 디버깅작업이 좀 밀렸습니다.
    사실 디버깅쪽도 구현은 복잡하지 않은데 각 프레임웍별로 바인딩 코드 일일히 작성해서 테스트하기가 귀찮아서;; 계속 우선순위가 밀리고 있습니다;;;;

    작업을 하나씩 해서 순차적으로 배포해야 되는데...
    하다보니 이것저것 다 건드려 버려서 배포가 늦어지네요;;;

    아마 빠르면 다음달 초정도면 새버전이 배포될것 같습니다.
    늦으면 뭐 다음달 말이 될지도 모르지만요;;;;

    사실 이내용들은 배포할때 적을려고 했던 내용이고 원래는 Package쪽 기술링크를 걸려고 글쓰기를 눌렀는데 혹시 다음 버전을 기다리시는분들이 있을까봐 간단하게 소식을 적었습니다.
    VisualUnitTest++의 프로젝트 홈과 다운로드페이지를 변경하였습니다.;;

    아래글의 댓글에서 보이다 시피 레이옷의 꼬임에 넘어가 스프링 노트랑 kdlp모두 폐쇄하고 이전하였습니다.
    저는 왜이리 귀가 얇은 걸까요 orz

    이전 주소는 http://vutpp.googlecode.com 입니다
    그나저나 google의 wiki가 별로군요.
    으음..
    사실 커뮤니티를 이용하려는 목적보다는 파일 다운로드 카운팅-_-이 궁금해서 개설했습니다;
    그리고 댓글로만 대응 하는것 보다는 kldp의 포럼기능을 사용하는게 낫지 않을까 하는 생각도 있습니다.

    주소는 http://kldp.net/projects/vutpp/ 입니다.

    0.3버전은 작업이 줄줄 지연되고 있습니다;
    요즘 개인적인 일이 있어서 프로젝트를 진행하기 힘들군요.
    (시간이 없느냐.. 하면 시간은 남아돌지만 말입니다;;)

    예정하던 기능들을 뒤로 밀고 우선 디버깅이랑 WinUnit만 후딱 추가해서 배포해야겠습니다;
    vs shell은 대략
    http://www.curse.com/articles/details/4361/
    위 url의 동영상같은 걸 해주는 내용입니다.

    처음에 UI모듈을 저런식으로 만들어 볼까? 라고 생각했다가 머 이리저리 생각해보니 별로 일것 같아서 신경끄고 있었는데..

    오늘 문득 든 생각이...
    embed script용 툴을 만들면 괜찮겠다는 생각이 들었습니다.

    lua를 쓰면서 임베딩된 상태에서 사용이 많이 불편했던 부분들이

    * 브레이크 포인트를 걸거나 Step기능을 쓰기 힘들다.
    * 변수값을 실시간으로 확인하기 힘들다.(print문으로 변수값을 출력하게 lua를 바꿔서 reload해서 사용하는 방식으로 사용했지만)
    * 편집하고 저장한 뒤에 reload를 호출해줘야 한다.(실제로 개발용 버전에서는 lua파일을 함수콜 할 때마다 다시 로딩되게 해서 사용해서 실제로 reload가 불편하지는 않았지만)
    * 보통 vs에서 편집하는데 칼라링이 안된다.(이거야 전용 ide를 사용하면 되긴 하지만 vs와 전환해가며 사용하기는 꽤 불편해서)
    * 인텔리 센스가 지원되지 않는다.

    뭐 대충 이정도 내용이군요.
    사실 bind도 귀찮긴 하지만 이건 툴적인 부분에서 어쩌기는 힘든 내용이니까;(클래스 구조를 파싱해서 bind코드를 자동으로 생성해주는 정도는 가능하겠지만요)

    위의 내용중에서 vs addin으로 만들게 되면
    다른거는 대충 될 거 같은데 인텔리센스는 힘들겠군요.
    visual assist처럼 vs기능을 사용하지 않고 별도로 띄워버리면 가능할 것 같기도 하지만 말입니다;

    인텔리센스가 불편해도 addin으로 만들면 메인 프로젝트와 같은 IDE에서 볼 수 있다는 장점이 있죠. 전환하는건 둘째 치고 debuging의 경우는 이쪽 IDE에서 cpp쪽에 걸렸다가 이쪽 IDE에서 스크립트에 디버깅 걸렸다가 하면 디버깅 하기 힘들테니까..

    나중에나중에나중에나중에 스크립트를 많이 써야 하는 상황이 되서 위의 기능들없이 개발하기가 너무 힘들어지는 상황이 되면 한번 만들어봐야겠습니다..

    흐음.. UI모듈이나 새로 구상해볼까... 하고 생각을 시작했다가 UI모듈의 이벤트 핸들링을 스크립트랑 연동시키는 내용생각하다가 여기까지 왔군요.;;
    너무 멀리 왔습니다.. 후우~ -_-)y=~

    lua가 별로 맘에 안들어서 다음엔 squirrel이나 써볼까 하고...이것도 살펴보고 있었는데-ㅅ-;
    할일이 없으니 이리저리 딴 생각만 하게 되네요ㅎㅎ

    '게임개발 > 생각' 카테고리의 다른 글

    요즘 구인광고들을 보면..  (12) 2008.02.29
    VisualStudio 스프링노트 Addin?  (4) 2008.02.26
    SUI  (2) 2006.10.21
    ONE OUTS 2권 중..  (4) 2006.10.21
    사실은  (4) 2006.10.21

    사용자 삽입 이미지

    프로젝트 페이지 : http://code.google.com/p/vutpp/
    기본적인 사용방법은 프로젝트 페이지를 참고 하시면 되고 요청사항이나 버그신고는 가급적 프로젝트 페이지에 달아주세요.

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

    Support Frameworks
    • UnitTest++
    • CppUnitLite 
    • CppUnitLite2 
    • BoostTest 
    Version 0.2
    • Vista가 아닌 OS에서 Icon이 제대로 나오지 않는 버그 수정(Shell32.dll의 아이콘을 사용하도록 했는데 OS별로 아이콘내용이 달라서 생기는 문제였음, famfamfam.com의 무료아이콘을 포함하도록 변경)
    • dll프로젝트가 아닌경우 run을 지원하지 않도록 수정 
    • 주석외의 경우에 '/' 가 있을경우 그 이후의 코드가 인식되지 않는 버그 수정
    • Suite의 Icon 키 세팅이 되지 않아서 Run할 때 죽는 버그 수정 
    • 실행중에 ActiveConfiguration을 변경하는 경우 죽는 버그 수정 
    • RunTest의 return value가 정상적이지 않은 경우가 있어서 TestFailureCallback으로 feedback하도록 BindCode수정 
    • boost auto test지원 추가 - 정재원(all2one)님께서 도와주셨습니다.

      위의 로그에 써있지만 Bind코드가 수정되었습니다 ㅜ.ㅜ
      번거롭게 해드려서 죄송합니다;;;
    사용자 삽입 이미지

    프로젝트 페이지 : http://code.google.com/p/vutpp/
    기본적인 사용방법은 프로젝트 페이지를 참고 하시면 되고 요청사항이나 버그신고는 가급적 프로젝트 페이지에 달아주세요.

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

    요즘 휴가라 집에서 졸리면 자고 눈떠지면 깨고 일어나면 빈둥거리고;;
    하면서 틈틈히 작업이 진행되었습니다;

    처음 만들기 시작할 때는 GuiRunner정도로 간단히 생각하고 시작했는데 꽤 시간이 걸려버렸습니다.
    한달 반정도가 걸렸네요.

    원래 UnitTest++전용으로 만들다가 CppUnitLite, CppUnitLite2지원을 넣으면서 여러 프레임웍을 지원하게 구조변경이 되면서 작업이 꽤 딜레이 되었습니다;
    이게 다 레이옷때문입니다;;;;

    게다가 지원 프레임웍별 샘플 및 바인딩 소스 작업이 Library의 코드를 바꿔야 하는것들도 있어서 시간이 꽤 걸렸는데.
    이것도 사실 UnitTest++용은 테스트를 해야 하니 당연히; 작업이 다 되어있는 상태였는데.
    CppUnitLite, CppUnitLite2용 샘플 및 바인딩 소스 작업 & Library수정 코드 작성..때문에 꽤 딜레이 되었습니다.
    이게 다 레이옷때문입니다;;;;

    멀티 프레임웍을 지원하게끔 되었지만
    이 시리즈들 말고 다른것들(CppUnit, CxxTest, boost::UnitTest등)은 작업이 불가 할 것 같습니다.
    다른것들의 경우는 함수를 작성해서 등록을 하는 형태라 파싱을 해볼려고 했더니 너무 복잡해지더군요-_-
    제가 쓸것도 아닌데 굳이 저 복잡한 내용을 손 댈 생각은 없습니다;;;

    가장! 중요하다고 생각하고 있던 메인아이콘-_-! 작업을 버리면서 배포일정이 많이 빨라졌습니다;;

    PS. Addin이다 보니 버그가 있어서 죽는경우는 VisualStudio가 뻗어버립니다;;
    참고로 저는 TDD를 안하므로 사용자분들의 상세한-_- 버그 리포팅을 기대합니다;;
    사용자 삽입 이미지

    대략 이런 모습입니다.
    순조롭게 지연될거라는 예상과는 달리 별달리 지연이 안되고 있습니다-ㅅ-;
    이 페이스로 가면 난데없이 연말에 나와버릴것 같습니다;;;

    네비게이션에 dll 바인딩해서 실행하고 결과 받는것까지 다 했으니..
    남은건 순차적으로 실행시켜서 진행상황 표시하는거랑 배포 프로젝트 만드는것밖에 안남았습니다;;
    큰일입니다; 이렇게 빨리 진행될 예정이 아니었는데 말이죠;;

    요즘 UnitTest++용 VisualStudioAddin을 만들고 있는중입니다.
    전에도 말했지만 UnitTest는 별로 쓰지도 않으면서 쓸데없는데 시간쓰고 있는 쑥갓군입니다;;

    이름을 UnitTestIDE로 할지 VisualUnitTest++로 할지 고민중입니다;;;
    개인적으로는 UnitTestIDE는 ++이 붙일데가 마땅치 않고 약자쓰기도 VUT가 조금 더 나은것 같습니다;
    누가 좀 골라주삼;;

    어쨋건 Addin프로그래밍도 처음해보는데다가 C#으로 만들고 있는지라 삽질이 이만저만이 아닙니다.
    C#은 첨 나왔을때 공부용으로 좀 보고 제대로 해보기는 처음이네요.

    익숙치 않은 .NET 라이브러리 때문에 몇번이나 확 버리고 C++로 다시 시작할까...하다가 C++은 COM접근할때의 그 번거로움 때문에 꾿꾿히 C#으로 버티고 있는중입니다;;

    게다가 C++로 만들면 설정저장하는 용도로 XML쓰려면 원래 쓰는건 업무용이니까 안되고 새로 만들려니 그게 더귀찮아서 사실은 XML때문에 C#쓰고 있습니다-_-;;

    그래도 확실히 툴프로그램은 C#이 간편하기는 합니다;
    하지만 C++테스트를 실행시켜야 되서 결국은 사용자의 Test DLL을 불러다가 Test를 실행시켜주는 실행용 C++ DLL이 하나 더 필요해져 버렸습니다.(귀찮아라;;;) 결국은 .Addin파일과 설정파일(이건 배포는 안해도 되는 파일이지만)을 포함해서 파일 4개가 되겠네요.

    위에 살짝 언급했지만 외부에서 실행시키는거라 DLL로 Test프로젝트를 만드셔야 합니다;
    DLL이 아닌경우도 Navigate는 지원할 예정입니다;
    테스트 프로젝트 유무판단이 Linker Option으로 해서 StaticLib는 지원안될듯합니다;
    혹시 꼭 StaticLib가 필요하신분이 있으시다면 고민해보겠습니다-ㅅ-;;

    일단은 다이얼로그 띄우고 VisualStudio에 연결하고 소스 파싱해서 Suite와 Test리스트 만들고 툴팁으로 파일명이랑 라인보여주고 더블클릭해서 소스로 가는 정도까지는 작업이 되었고, 프로젝트나 파일이 새로 추가된다거나 하는 이벤트 처리들을 하고 있습니다.
    실시간으로 편집되는것들에 대한 상황들을 처리하려니 처리할 상황이 꽤 많네요.. 머 파일 편집하다말고 저장안하고 닫아-_-버린다던가;;

    그 다음은 커서위치 추적해서 리스트에서 Navigate해주는 기능이랑 실행용 DLL만들어서 실제 실행시키는 부분, 아이콘 붙이기-_-;;, 기본 설정 저장, 솔루션별 체크항목들 저장... 정도가 기능적으로는 남은 내용들이네요;;
    써놓고 나니 아직 한참남았네요-ㅅ-;;;

    그 외에는 설치프로젝트 만들고, Project Wizard만들고(이부분이 젤 삽질할거 같은 부분-_-)등등이 기능외;; 남은 부분이네요;

    목표는 연내배포-_-;;; 이지만 또 어떻게 될지 모르겠습니다;;;;;
    작업이 순조롭게 지연되면;; 내년 1월에나 나올지도;;;;

    뭐 GuiRunner과 마찬가지로 소스는 공개예정입니다.
    다행히 GuiRunner는 생각과는 달리 아무도 개선요청같은 걸 안해주셔서(아무도 안쓰는건가-_-;;;;) 안심하고 대충만들고 있습니다-_-;

    참고로 위에 열거된 내용외의 필요하신 사항 미리 말씀해주시면 만드는김에 같이 만들지도 모릅니다;(장담은 못합니다-_-)
    배포해버리고 나면 귀찮아서 다시 안열어 볼지도-_-;;;

    사실 저희팀이 UnitTest를 별로 안쓰는데다가 옆에 서버팀은 boost의 UnitTest를 쓰고 있어서 개선요청 받을데가 없습니다;;
    저 옆에 UnitTest많이 쓰는 친한 회사는 CppUnitLite2를 쓰고 있고;;;;

    'UnitTest' 카테고리의 다른 글

    VisualUnitTest++ WinUnit지원예정  (5) 2008.01.22
    VisualUnitTest++ 0.2 release  (7) 2008.01.15
    VisualUnitTest++ 0.1 release  (27) 2008.01.04
    VisualUnitTest++ 진행상황  (4) 2007.12.14
    UnitTest++용 GuiRunner 0.20업데이트  (10) 2007.11.18

    + Recent posts