컴퓨터공부

소스 인사이트 한글로 주석 달려면..

achivenKakao 2008. 7. 12. 20:12
Source Insight를 사용할 때 한글을 쓰면 깨지는 이유는 "Shift"키가 눌리기 때문입니다.

 Source Insight가 두바이트 문자를 고려하지 않았는지

 "Shift" 키를 누를 때는 한 글자를 더 치는듯이 인식하여 항상 깨집니다.


 즉 깨지지 않게 하려면 "Shift"키를 문자로 인식하지 않게 하든지

 더 써진 한바이트를 문장을 다쓰고 난 다음에 지워줘야 합니다.


 첫번째 방법은 Source Insight 개발자가 할일이고

우리가 할 수 있는 방법은 두번째 방법인데..

이걸 일일히 수동으로 하자면 더 짜증 납니다.


제가 추천하는 방법은 매크로를 사용하는 방법인데요..


아래 매크로를 Base Project ( 그냥 정석대로 인스톨 하셨다면 아마 Base Project가 있을겁니다.)

의 Utils.em 에 추가 하셔서 쓰세요.

위에 추가하시면 어느 프로젝트에서든지 사용하실수 있습니다.

사용방법은 Option / Key Assignments.. / 에서  기존에 사용하지 않는 키조합을 아래 매크로에

연결시켜서 사용하면 편합니다.



// Shift를 사용하여 글자를 쓸때 깨지는 현상을 보완하는 유틸.

macro KoreanUnbreaker()

{

    Select_Line


    hwnd = getcurrentwnd()

    sel = getwndsel(hwnd)


    pointer = 0

    index = 0

    loopCount = sel.ichLim -1

    PrevChar = 0


    while(pointer < loopCount)

    {

        sel.ichfirst = index

        sel.ichlim = sel.ichfirst + 1

        sel.fExtended = True

        setwndsel(hwnd,sel)

        CurChar = asciifromchar(getbufseltext(getcurrentbuf()))


        //Shift 누를때 나타나는 글자의 Ascii 코드 = 229

        //한글 문장에서 229를 지우면 됨.

        if(CurChar == 229)

        {

            // 제대로 된 글자에서도 229가 나타나는 경우는 지우면 안됨.

            Condition = PrevChar != 181 // "드"자 일때 대책 (181,229)

            Condition = Condition && ( PrevChar != 200) // "흐"자 일때 대책 (200,229)

            if(Condition)

            {

                Delete_Character

            }

            else

            {

                index = index + 1

            }

        }       

        else

        {

            index = index + 1

        }       

        pointer = pointer + 1

        PrevChar = CurChar

    }


    End_of_Line

}

출처 : http://blog.naver.com/jjkhs?Redirect=Log&logNo=100035006735

+

[첨부 스크랩]


- 시작

많은 에디터 중에서 제 주위 분들이 매우 많이 사용하시는 소스 인사이트..

전 군대가기 전에는 multy-edit 를 썼었는데...

멀티에디터를 파다가..  (심심할때 에디터 기능들 갖고 놀면 재밌으니까;;;)


비주얼 슬릭 에디트를 접했고 그와 비슷했던 Source insight 를 동아리에 알렸었습니다..


저는 계속 멀티에디트를 썼었죠..(강력한 숨은기능들?)

근데 군대 갔다오니 동아리에서 모두가 사용하더군요 Source insight.;;

멋지고 화려하고 편하기도한..

(군대가기전에 사용하지 않은 이유는.. 너무 화려해서 였는데...;;)

지금은 대세를 따라 사용하고있습니다. ㅋㅋ


점점 접하다 보니 엄청하게 강력하군요 ...  하지만 어렵고 복잡한 단점은 있습니다...



-들어가며

몇일전에 큰불편을 느꼈습니다. 기억력이  않좋은 저를 위해 주석작업을 하고있는데..

엄청나게 불편하더군요..  

멀티에디트에서는 매크로 부분의 수정과 사용이 편리해서  쉽게 사용했었는데..

이 소스인사이트란 놈은 어떻게 쓰는건지 알수도 없구요..

메뉴 탐사하며 매크로라는 단어는 중간중간 보이기는 하는데 어쩌라는건지..


결국엔 웹을 항해하다가..(요즘엔 왜 이런말 안쓸까 ㅋㅋ)

매우 많은 자료들을 찾았네요;;
(이렇게 좋은 자료들이 많은데; 모르면 개고생)


-결론

그러니까 이글은 소스인사이트 의 매크로에 대한 글입니다. ㅋ



정리하자면 소스인사이트는 매크로(macro) 를 단축키 지정으로 불러올수있습니다.

매크로 입력은 메뉴나 세부설정에서 형식에 맞게 쓰는것이 아니라

소스인사이트에서 지정한 언어로 만들어야 합니다. 

그언어 라는것은  Macro Language Guide 라는것을 지원할 정도의

인터프리터 언어입니다. (문법은 c와 비슷)

확장자는 .em 이며 utils.em 이라는 기본 매크로 소스(?) 가 기본으로 지원되며

파일내부의 함수이름이 매크로 이름에 매칭 됩니다.

매크로를 실행하면 소스인사이트내부에서 함수를 실행시키는 것이겠죠.


때문에 사용하기는 매우매우매우매우 까다롭지만..

역시 언어는 언어인지라...   활용도는 무궁무진 한거 같습니다.


몇가지의 em 파일은 소스인사이트 에서도 지원되며. (공식 매크로 파일 보러가기~)

em 파일은 프로젝트에 추가하면 해당 프로젝트 작업시 매크로를 실행할수있습니다.


전체적으로 사용할 매크로라면 그 파일을 base프로젝트에 추가하시면 됩니다.

처음 설치하면 일단 생겼던 base 프로젝트... 무슨역할을 하나 했는데 이런역할을

하는군요..


==========================================================


Source insight 주석 불편한점중의 하나가 바로 한글입력이 깨진다는거겠죠..

그래서 다른 불편한점들가운데 일단 한글이 되게만 해봤습니다.

그냥 대화창하나로 받은거 뿐인데 되더군요;;;


~설명~

em 파일을 건들기 시작하면서 처음 만든 한글 주석 입력 매크로 입니다.


안되는 영어로 머리 싸메며 주석적다가 만들어봤습니다. (주위에도 많이 보이고...ㅋ)


아래는 적용했을때 사용하는 화면입니다.



사용자 삽입 이미지

이러한 사용중에 켜서부분에서 자신이 지정한 단축키를 누릅니다.




사용자 삽입 이미지

이런 대화창이 나타나게 됩니다. 주석을 입력하세요 물론 영문도 가능합니다.



사용자 삽입 이미지

위와 같이 입력됩니다. 글씨가 작아서 그림을 늘렸는데 깨지네용;;





사용자 삽입 이미지

기타 응용해서 적은 주석들입니다. 저런글을을 영어로 적으려고 한다면;;


그림만 보면 왠지 다른 프로그램으로 입력하는 느낌이 들수도 있는데 전혀 그런것은 아닙니다.

그냥 창에 적은 문자열이 주석처리되어 켜서위치에 입력될수있도록 하는 매크로입니다.



주석을 영어로 적는 습관을 들여라는 분들도 계시는데.. 물론 일리가 있는 말입니다.

하지만 영어로 적으려는 습관을 들이다가 주석 안다는 습관을 들이게 되더군요;;

공감하는 분들이 계실꺼라 생각됩니다. 귀찮아서 안다는것보다는 한글로 적는게 낫지 않을까요 ㅋ




자.. 이제 설치법입니다.


먼저  위에 링크된 파일을  My Documents\Source Insight\Projects\Base 에 다운받습니다.

소스인사이트를 열고 base 프로젝트를 열어서

다운받은 파일을 프로젝트에 추가합니다. (중요~)

(보시면 아시겠지만 hangulcmt 함수 달랑 하나 들어있습니다.;)


 위에를 다 하셨으면 다음


사용자 삽입 이미지

option의 key assignment 로 들어가셔서




사용자 삽입 이미지

그림처럼 매크로 커맨드를 찾습니다. command 창에 macro를 입력하면 입력하기도 전에 찾습니다.;


그후에 그림과 같이 hangulcmt 를 선택한후 원하는 키를 지정하시면 됩니다.

assign new key 를 누르면 되겠죠..

시험삼아 동작시키는화면이라 아무거나(ctrl+shft+T) 로 지정한 화면입니다.



여기까지 하시면 잘되리라 믿습니다.

만약에 만약에 안되시다면. 열내지 마시고 아래와 같이 해보세요~



사용자 삽입 이미지

옵션으로 들어가셔서~




사용자 삽입 이미지

symbol Lookups 탭에서.


사용자 삽입 이미지

add project to path 를 누르신후 베이스 프로켁트를 선택합니다.



이래도 안된다면 연락주세요 ㅋ

http://jany.tistory.com/47