오토핫키 IDE
앞서 해봤듯이 메모장으로도 코딩을 할 수 있지만
저장하고 작업표시줄 찾고 거기서 아이콘 클릭해서
리로드 해야되고.. 상당히 귀찮다
고로 이제는 왜 프로그램 언어마다 전용 프로그램들이 있는지
그 필요성을 체험해보자 즉, 그 이름도 무시무시한
통합 개발 환경(IDE) 이란 것을 써볼때가 되었다
얼마나 편하지를 체험해보자
SciTE4AutoHotKey
위 링크로 가서 다운로드를 받아서 설치한다
그냥 다 Yes연타하자 업데이트 어쩌구도 연타다
다 설치하고 나면 한글패치를 해주자
위의 링크에서 파일을 받는다
바탕화면에서 SciTE4AutoHotkey 바로가기 아이콘을 오른쪽 클릭해서 연후
파일 위치 열기를 클릭하여 설치된 폴더를 연다
그리고 locales 라고 되어 있는 폴더안에 한글패치를 넣어준다
넣어줬으면 프로그램을 실행하고
Tools > SciTE4AutoHotkey settings 로 들어간다
세팅에서 노란부분을 위와 같이 바꾸고 Update 버튼을 누르면
이렇듯 한글메뉴로 바뀐다. 또한 한글을 타자하기 쉬워진다
자 그럼 뭐가 편리해졌는지 알아보자
당장 알록달록한 색깔이 눈에 띈다
여기서 F5를 한번 눌러보자
그럼 저기 코딩된 예제 스크립트가 실행될 것이다
그렇다. 이제는 코딩을 수정후
저장->리로드할 필요없이 그냥 F5를 누르면 실행이 된다
이것만으로도 엄청 편해졌다
자 이제 색깔을 알아보자
초록색은 주석(설명)이다
;세미콜론을 앞에 달리면 그 이후의 글들은 전부 컴파일(번역)시 무시된다/*로 시작해서*/로 끝나는 중간의 모든 글들이 주석처리된다 (여러줄 가능)
주석들은 코딩과 관계 없이 컴파일(번역)시 컴파일러가 무시한다
예를들어
니가가라하와이 (주 : 번역가님 이건 센스있게 번역해주세요)
이런식으로 적는거랑 마찬가지다
앞뒤꽉막힌 번역가는 저 괄호 안에 문장까지 번역한다
그러므로 여기엔 유머를 넣거나 이모티콘 (-ㅅ-) <-- 이런걸 넣어도 된다
하지만 앞서 예처럼 필요한 정보를 적어두는 것이다
특히 공부할때 노트필기처럼 사용할 수 있어서 유용하다
다시 한번 에디터에 있는 것을 보자
(여기서 주석은 본인이 한글로 약간 수정했다)
앞서 주석을 붙였기에 이제 선행처리기라는 것이 있으며
각각이 어떤 일을 하는지 쉽게 알아볼 수 있을것이다
실제로 이 예제를 실행했을때 작업표시줄에
이런게 안떳을것이다 이전엔 떴는데..
자 이제 선행처리기 란게 뭔지만 설명하고 다시 코딩을 해보자
# 이라는 것이 붙으면 이것은 본격적인 번역(컴파일)을 하기전에
먼저 처리하라는 것이다. 그래서 전처리기 혹은 선행처리기로 불린다
보통 #include "경로" 식으로 파일을 포함시키거나 하는 식으로
컴파일 시작전 처리할 특수한 일을 수행한다
#SingleInstance Force
#NoTrayIcon
SingleInstance 인스턴스는 인스턴스 식품처럼 찍어내는 개념 비슷하다고 보면된다
예를들면 탐색기나 브라우저를 여러개 띄우는게 가능한데 이처럼 같은 프로그램을
찍어낼 수 있기에 각각 실행중인 프로그램을 인스턴스라고 한다
똑같은 프로그램이 두개 떠있으면 그 프로그램 인스턴스가 두개 있다고 한다
그럼 SingleInstance Force 는 딱 봐도 뭘 의미할지 견적이 나오지 않는가?
'싱글인스턴스를 유지하라 강제로'
즉 중복 프로그램 실행을 불허한다. 만약 앞서 프로그램이 실행되고 있다면
그 인스턴스를 강제종료 시키고 새로 실행한다
두번째의 #NoTrayIcon은 척봐도 아예 명령어자체가 설명문이다
프로그램이 실행되면서 아이콘 띄우는거 자체를 차단한다는 뜻
보통 일반적 프로그램언어에는 #include 같은거 말고 저런 전처리기는 잘 없다
왜냐면 번역을 통으로 끝낸 번역본을 실행하기 때문에 굳이 저런 명령을
번역전에 처리할 이유가 없기때문이다
하지만 우리가 지금 하는 언어는 스크립트 언어라서 실행이 되면서 번역을 시작한다
고로 번역을 하기전에 아이콘을 띄우는걸 막지 않으면 일단 아이콘이 먼저 떠버리고
그후에 아이콘 안뜨는 명령어에 번역이 미쳤을때야 아이콘이 숨겨질 것이다
(근데 이부분에 대해선 내 생각이 틀렸을 수도 있다)
오늘의 코딩
끝내고 싶지만 코딩도 안해보고 끝낼순 없는일
Ctrl+N 을 눌러서 새탭을 만들자. 하지만 이건 파일을 만든건 아니다
파일이 없으면 아무리 이 에디터라도 실행이 안되니
Ctrl+S로 파일을 만들어 저장하자
가볍게 저번에 배운 단축키 명령와 메세지 박스를 띄워보자
한데 메모장과 달리 글을 칠때마다 밑에 이상한 박스가 뜰것이다
이것은 네이버에서 검색어 앞글자만 쳐도 연관 검색어가 나오듯이
그 글자에 관한 연관 명령어가 나와주는 기능으로 자동완성 기능이라고 한다
ms만 쳐도 MsgBox 명령어가 나온다
고로 ms 치고 엔터를 쳐보자. 자동으로 완성시켜준다
이것은 긴 명령어를 칠때의 편리함 같은 것도 있지만 결정적으로
명령어들을 다 외우긴 힘드니까 대충 '이런 명령어 였지' 하면서 비슷한거 치고
드롭박스에서 찾아내는 효용이 있다
명령어들은 각각의 이름이 그 기능을 암시하니까 대충 어떤거였는지 이미지만 기억하면
다음에는 적당히 쳐서 찾아낼 수 있게 된다
그리고 또하나
MsgBox 이후에 , 쉼표를 넣으니 다음과 같은 힌트 텍스트가 뜬다
이것은 이 명령어가 어떤 옵션을 사용할 수 있는지 보여준다
대괄호 안의 것들은 생략 가능하다는 뜻이다
그런데 옵션이 4개다.
우리가 사용했던건
MsgBox, 텍스트
이랬는데.. 아쉽게도 공간의 제약땜시 모든걸 나타내진 않고
주로 까먹기 쉬운걸 나타내준다
하지만 걱정할 필요없다
F1을 누르면 현재 커서가 위치한 곳의 명령어의 메뉴얼이 상세하게 나온다
여기선 모든 옵션을 확인할 수 있다
그리고 각각의 옵션의 뜻과 예제도 볼 수 있다.
문제는 영어라는 거지만 뚫어지게 보면 뚫을 수 있다
이 기능은 헬프라기보다 보통 레퍼런스(참고서)라고 말한다
뭐 사전이라 생각해도 좋다. 여하튼 앞으로 시도때도 없이 사용해야 할것이다
왜냐면 모르는 명령어 투성이니까 말이다. 이건 초보만 해당하는 것이 아니다
보통 초보들은 이런 수많은 명령어에 앞이 캄캄해지지만
잘하는 사람들도 다 외우진 않는다
자동완성으로 대충 완성시키고 F1 누르면 다 나오니까..
그리고 명령어들이 직접적으로 기능을 나타내는 이름에다가 계속 코딩하다보면
외우기 싫어도 외우게 된다. 물론 좀 손 놓으면 다 까먹고..
그리고 자동완성.. 반복이다
결국 사방이 다 생소한 명령어라고 쫄 필요 없다는 말이다
참고로 본인의 경우도.. 사실 코딩시리즈를 시작함과 동시에
오토핫키 프로그램언어도 첨 만져본다. 그래서 명령어 하나도 모른다.
그러나 두렵지 않다. 구글신과 F1 이 함께라면 조낸 검색해서 땜빵하면 되니까
한가지 더 프로그래밍 언어란게 다들 비슷한 부분이 굉장히 많다
일본어와 한국어의 유사성 이런정도가 아니라 사투리급이다
그래서 하나의 언어를 배우면 다른 언어도 쉽다고들 하는 것이다
예를들면 # 전처리기.. 이거랑 똑같이 쓰는 언어가 한둘이 아니다
으앜 왤케 길어지지~~
다시 돌아가서
^e::
MsgBox, 안뇽하세용
이렇게 작성한후 F5 를 눌러보자
그럼 작업표시줄에 실행된 것이 보일 것이다
단축키를 누르면 메세지가 잘뜬다
메세지를 변경한후 F5로 실행시켜보자
(참고로 만약 F5가 안먹히면 요 화살표를 누르자)
그럼 이런 메세지가 나타날 것이다.
오토핫키는 기본적으로 싱글인스턴스만 허용으로 되어 있다
즉 #SingleInstance 가 기본이다
문제는 매번 할때마다 이전꺼 종료할것인지 물어본다는 것이다
그러므로 앞서 배운 전처리기를 사용해보자
Force를 붙이면 물어보지 않고 앞서껄 강제 종료시킨다
#SingleInstance Force
^e::
MsgBox, 안뇽하세용
이래놓고 F5를 누르면 이제부턴 저 메세지를 안봐도 된다
마지막으로 #NoTrayIcon은 직접 실습해보자
너무 길어져서 결국 또 못했는데
다음에는 정말 GUI를 파보도록 하겠다..;ㅁ;