Visual Studio 31 (1) - 시작, 그리고 Intellisense

Visual Studio 2010 2010. 11. 11. 09:00 Posted by 알 수 없는 사용자


안녕하세요~ 워너비입니다. 이번에 새로운 시리즈를 하나 시작하게 되었습니다. 이 시리즈는 이름하여 'Visual Studio 31'! 골라먹는 재미가 있는 아이스크림처럼, 비주얼 스튜디오 2010도 엄청나게 다양한 기능 속에서 필요한 기능을 골라쓰는 재미가 있습니다. 몰라서, 어려워서 못 썼던 기능이 있으시다면, 이 시리즈를 통해서 좀 더 친숙해지셨으면 하는게 이 시리즈의 목표입니다. 목표가 달성될지는 살짝 의문이네요 :)


- 오늘은 그 첫 시간.

자, 오늘은 Visual Studio 31의 첫 번째 시간으로 인텔리센스에 대해서 알아보겠습니다. 인텔리센스는 비주얼 스튜디오의 얼굴이라고도 할 수 있죠. 모든 개발자가 가장 많이 활용하며, 코딩에서 가장 편리함을 제공하는 기능이기 때문이죠. 이 인텔리 센스가 비주얼 스튜디오 2010에서 어떻게 달라졌을까요? 비주얼 스튜디오 2008의 인텔리센스와 Before/After를 비교해보도록 하죠 :)


- 관련있는 것들만 보여주는 쎈쓰!



차이점을 발견하셨나요? VS2008에서는 'Console'을 입력하면, 전체목록에서 'Console'과 정확히 일치하는 곳에 포커스를 둡니다. 그런데 포커스를 두기만 할 뿐, 아무런 것도 도와주지 않았습니다. 그런데 VS2010에서는 'Console'을 입력하면, 'Console'이 포함되는 것들만 추려서 인텔리센스에 보여줍니다. 인텔리센스가 많이 똑똑해졌죠? 이제 사용자에게 필요한 정보만 최대한 추려서 보여주는 거죠. 자, 그럼 인텔리센스의 쎈쓰! 가 여기까지 일까요?


- 이름의 일부로도 찾아주는 쎈쓰!


이번에는 어떤 차이점이 있을까요? 기존에는 정확하게 찾으려는 항목과 입력하는 항목의 시작이 같아야만 인텔리센스에서 해당항목을 찾아줬습니다. 그런데 저 처럼 기억력이 저주받은 사람들은 참 슬픈 코딩을 해야했죠. 다른 방법이 있을지도 모르겠지만, 초짜인 제가 했던 방법은 MSDN에 들어가서 얼추비슷한 키워드로 검색을 해서 찾는 방법이었습니다. 그런데 이제 VS2010은 저 같은 초짜&저주받은 기억력 세트를 가진 사람들을 위해서 사용자가 입력하는 문자를 포함하는 항목을 모두 보여주도록 향상되었습니다. 'Color'만 입력하더라도 VS2010은 'Color'가 포함되어있는 'ConsoleColor'를 찾아서 보여주는 거죠 :) 점점 마음에 듭니다.


- 파스칼 케이스로도 찾아주는 쎈쓰!

파스칼 케이스는 뭘까요? 일종의 네이밍 규칙인데요, 서로 다른 단어를 조합해서 메서드 이름을 만들거나 할때, 각 단어의 맨앞글자를 대문자로 표기하는 방법입니다. Console과 Color를 조합해서 'ConsoleColor'를 만드는 것 처럼 말이죠.


기존에는 위에서 설명드렸듯이 시작부터 정확하게 같아야지만 인텔리센스에서 항목을 찾을 수 있었습니다. 하지만 똑똑해진 VS2010에서는 파스칼 케이스의 각 대문자만 입력해도 찾아준다는 거죠. 'CC'를 입력했다면, 'CC'가 직접 포함되는 항목부터, 'C'가 파스칼 케이스로 연속 두번 포함되는 항목도 모두 찾아서 보여줍니다. 이름이 긴 항목을 자주 찾는다면 매우 편리하겠죠 :)


- 없는 클래스도 보여주는 쎈쓰!

TDD를 하려고 할때나, 먼저 코드의 윤곽을 짜놓고 필요한 클래스를 생성하는 식의 프로그래밍을 할때는 존재하지 않는 타입의 객체를 생성해서 사용하게 됩니다. 이런 방식은 어느정도 장점도 가지고 있는데요, 우선 생성하고 하는 클래스의 구체적인 부분에 대해서 생각하는 대신에, 지금 짜려고 하는 코드의 흐름에 우선적으로 집중할 수 있기 때문입니다. 코드의 흐름에 집중하다가, 클래스를 정의하려고 하면 집중의 전환이 일어나기 때문에 그만큼 비효율적인 작업이 될 수도 있습니다.


존재하지 않는 App라는 클래스의 객체를 생성하려고 하면, 기존 버전에서는 전혀 인텔리센스의 지원을 받을 수 없었습니다. 그래서 일일이 쌩코딩을 해야 했었죠. 하지만, VS2010이 출동한다면? 존재하지 않는 타입이라고 하더라도 일단 new를 만나면 존재하는 타입인 것 처럼 인텔리센스에서 보여줍니다. 많이 편리해졌죠~? :)


- 개발자의 취향에 따라 맞춰가는 쎈쓰!



위 Before/After는 모두 VS2010의 캡쳐입니다. 무슨 차이점이 있을까요? Before에서는 입력하는 것과 일치하는 항목에 강조가 되어있고, After에서는 맨위에 별도의 칸이 한칸 추가되어 있으며, 인텔리센스에 강조가 약하게 되어있다는 점이 차이점입니다. After에서 볼 수 있는 것이 VS2010의 인텔리센스에서 제공하는 '서제스천 모드'를 사용한 것입니다. 바로 검색 사이트의 검색창을 떠올리시면 됩니다. 거기서 검색어를 입력하면, 입력하는 검색어와 가장 비슷한 항목을 보여주지만 그 항목이 검색어를 입력하는데 아무런 영향을 주지는 않습니다. 선택하지 않으면 그만이라는 거죠. 그러면, 둘은 어떤 차이가 있을 까요? 기본적인 인텔리센스와 서체스천 모드를 사용한 인텔리센스에서 'App'를 입력하고 Space키를 눌러보면 그 결과를 확인할 수 있습니다.

App라는 클래스는 존재하지 않기 때문에, 기본 모드에서는 가장 비슷한 AppDomain을 선택해버립니다. 하지만, 서제스천 모드에서는 추천항목을 보여줄 뿐, 사용자의 입력에 관여하지 않기 때문에 그냥 App그대로 남은 걸 보실 수 있습니다. 서제스천 모드를 사용하려면, 코드 편집창에서 'Ctrl + Alt + Space'를 누르면 됩니다. 그리고 서제스천 모드에서 기본 모드처럼 추천 항목을 입력하고 싶으면 'Tab'키를 누르면 됩니다 :)


- See you next time :)

오늘은 첫 시작으로 인텔리센스에 대해서 알아봤습니다. 앞으로도 계속해서 골라먹을 수 있는 비주얼 스튜디오 2010의 기능에 대해서 소개해 드릴예정이오니~, 기대해주시기 바랍니다. :)

VS 2010 기능 소개 01 인텔리 센스 기능의 변화

Visual Studio 2010 2009. 11. 17. 02:25 Posted by 알 수 없는 사용자

 

ㅎㅎ 요즘 여기 저기서 경고를 하는(?) 말과 함께.. 열심히.. 글을 써 보도록 하겠습니다.
없는 글 솜씨 이지만.. 잘 봐쥐십시요 ^.^
 /) /)
(^.^)
(사실 백수가 뭐하겠습니까  .ㅠ 글이라도 써야 할듯)

 

첫번째 주제 인텔리 센스 ~~ NO~. Smart Intellisense 라고 불러주세요.~~~


제가 여러분들에 소개할 VS 2010의 기능을 몇가지 소개 하려 합니다.
처음에는 개발자들이 정말 좋아할 만한 것입니다. 듀얼 모니터? 네 그건 다음에 잠시 이야기하고..(그건 이미 널리 널리 알려졌으르로. ㅎㅎㅎ) 저는 첫번째 인텔리 센스에 대한 이야기를 하려 합니다.
인텔리 센스.. 네 컴퓨터 영화 에서 보면.. 우리의 주인공들이 키보드를 치는데.. 오~~ 오타 없이 그 짧은 시간에 촤~악~ 코딩 or 타이핑을 합니다. 오~~ 멋있습니다. 그럼.. 저요?? 전. 오타쟁이 입니다.(ㅠ.ㅠ)

 

VS 2010에서 개발자들이 좋아할 기능 중에 하나는 인텔리 센스~~ 쟁이가 좋아졌다는 것입니다. 그렇다면.. 정말 한번 코딩을 해봐야 하겠죵.^^ 네 해보시면.. 일단 개발자를 매일 코딩할 때 정말 좋

았던것은... 네 바로 오타를 줄일 수 있는 인텔리 센스~~ 기능을 이용한 코딩을 해보는 것입니다. 그것도 VS 2010의 쓰~ 마~ 아 ~ 트 인텔리 센스를.. 이용한.. 코딩이니다.


Visual C++에서의 인텔리 센스는 완전 환상으로 변경 되었는데 이것은 VSTS 2010 다른 블러그에 다 잘하시는 분들 있으므로 Pass 이고.. 전 일단 정말 편한지 부터 보는 것으로 하겠습니다.

간단히 ASP.NET 에서 Helloworld 부터 한번 출력해보겠습니다.(개발자들이라면 한번 해보는 "안녕 " 이죵 ㅋㅋㅋ)

ASP.NET 프로젝트에서 Default.aspx에서 버튼과 라벨을 이용해서 한번 출력을 해보는데..

여기서 라벨 컨트롤 ID를 변경하여 lblHello라고 변경하고 코딩을 한다고 해보겠습니다.

기존의 VS 2008에서 인텔리 센스는? 걍.. 처음부터 lbl 까지 쳐야 내가 생각한 lblHello 나오지

않을까요?

그렇다면 여기서 VS 2010에서는....

Hello라고 치면 어떨까요???(허~~~ 거 억~~ 정말??)

 

정말로 먼가 나타났습니다... 오~~~~~~~~ 인텔리센스가 스마트 해졌당~~ 라고 하면 어떨까요?

ㅋㅋ 네 제가 스마트라고 했는데.. 이렇게 코딩할 때 Smart Intellisense 라고 합니다.

즉 해당되는 연상단어만 쳐도 인텔리센스에 표시되어 쉽게 코딩을 할 수 있는 것입니다.

정말 똑똑해 진거죠?? (오 정말 기득해지지 아니한가???? 오냐 이뻐해주마 VS 2010)


ㅋㅋ 이로써 앞으로 오타쟁이에서 조금 벗어나지 않을까 합니다. 왜냐? 오타 하나 찾기 위하여 참 많은 삽질(?) 했던 기억이 있는데 이런 오토를 줄일 수 있거나 개발을 할때 타이핑의 속도를 빠르게 할 수 있다는 것은 .. 그 만큼 소스 코드를 오류 없이 빠르게 완성할 수 있고 완성이 끝나면.. 다음 일을 할 수 있다는 것입니다.(난 퇴근이다.~~~ ㅎㅎㅎ 짤릴려낭 ㅠ.ㅠ) 

정리하면 오늘 소개한 스마트 인텔리 센스를 이용하여 코딩의 시간을 단축할 수 있다는 것인데, 그 만큼 오류 없이 코딩을 하여 개발의 생산성에 도움을 주는 훌륭한 기능입니다.

그럼 다음에는 다른 것을 조금 더 알아보겠습니다.
 

 

Windows SDK 설치 후 XAML 인텔리센스 문제

Windows 7 2009. 4. 16. 22:50 Posted by 알 수 없는 사용자

Windows SDK 설치 후 XAML을 사용하는 프로젝트에서 인텔리센스가 동작하지 않는 문제가 있습니다.
Windows SDK가 설치 된 후 Visual Studio의 레지스트리 값이 변경되어 관련된 dll 파일  연결이 깨져버린 현상입니다. 

regedit 명령어를 이용해서 레지스트리 편집기를 연 후 다음 키를 살펴봅니다. 

x86
 HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32 

x64
 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32 

이 항목이 없다면 인텔리센스 문제가 생길 것입니다. 

두 가지 해결 방법이 있는데 제어판의 프로그램 추가/삭제에서 Visual Studio 2008을 복구 하거나
수동으로 dll 파일을 등록해주면 됩니다. 

수동으로 dll 파일 연결 방법은 다음과 같으니 시스템에 맞게 해주시면 됩니다. 

x86
 regsvr32 "%CommonProgramFiles%\Microsoft Shared\MSEnv\TextMgrP.dll" 

x64
 regsvr32 "%CommonProgramFiles(X86)%\Microsoft Shared\MSEnv\TextMgrP.dll" 

이렇게 해주고 다시 확인해보면 인텔리센스가 정상적으로 작동하는 것을 확인 할 수 있습니다.