코드조각 플러그인 이용하기

코드조각 플러그인은 엠에디터 Professional의 초기값으로 설치됩니다. 이 플러그인으로 단어 혹은 구를 빠르게 삽입할 수 있습니다. 코드조각은 문서에 삽입한 텍스트의 일부분이며, 텍스트를 변형하고 다양한 기본 제공과 사용자 정의 매개변수를 위해서 일반 텍스트, 자리표시자, 셸코드, 매크로 혹은 정규식이 될 수도 있습니다. 코드조각 플러그인에서, 두가지 항목을 만들 수 있습니다 - 코드조각 그리고 매크로 입니다.

코드조각 플러그인을 이용하기 위해서, 플러그인 바에 있는 snippets 를 클릭하십시오. 혹은 도구 메뉴에서 플러그인 을 가리킨 다음, 코드조각 을 클릭해 주십시오. 코드조각 사용자 지정 바가 나타날 것입니다.

코드조각 모음에서 오른쪽 클릭을 하면 다음의 옵션들이 나타납니다:

삽입

선택된 코드조각을 삽입합니다.

편집

선택된 코드조각을 편집합니다.

코드조각 선택

삽입하려는 코드조각을 선택하기 위한 문자를 어디에 입력할 수 있는지를 알려주는 대화 상자가 디스플레이 됩니다.

새 코드조각

새로운 코드조각을 만듭니다.

새 매크로

새로운 매크로를 만듭니다.

새 폴더

새로운 폴더를 만듭니다.

위로 이동

선택된 코드조각을 목록의 위로 이동합니다.

아래로 이동

선택된 코드조각을 목록의 아래로 이동합니다.

삭제

선택된 코드조각을 삭제합니다.

모두 삭제

모든 코드조각을 삭제합니다.

이 폴더로 가져오기

이 폴더로 코드조각을 가져옵니다.

루트로 가져오기

루트 폴더로 코드조각을 가져옵니다.

이 폴더 보내기

이 폴더의 모든 코드조각을 지정된 곳으로 보냅니다.

모두 보내기

모든 코드조각을 지정된 곳으로 보냅니다.

모두 초기화 (초기값 가져오기)

모든 코드조각을 초기화하고 코드조각 목록의 초기값을 가져옵니다.

트리거 키

트리거 키를 보이거나 숨깁니다.

구성

구성을 보이거나 숨깁니다.

플러그인 속성

플러그인 속성을 디스플레이 합니다.

이름

이름별로 정렬합니다.

유형

유형으로 정렬합니다.

텍스트

텍스트별로 정렬합니다.

팁으로 정렬합니다.

트리거

트리거로 정렬합니다.

오름차순 정렬

오름차순으로 정렬합니다.

내림차순 정렬

내림차순으로 정렬합니다.

자동 정렬

코드조각을 자동으로 정렬합니다.

속성

선택된 코드조각 혹은 코드조각 폴더의 속성을 디스플레이 합니다.

코드조각 플러그인 속성

코드조각 플러그인의 속성을 조정하기 위해서, 플러그인 바의 코드조각 플러그인 버튼을 오른쪽 클릭하고 속성을 선택합니다.

일반 탭

사용자 지정 모음 위치

사용자 지정 바 위치 설정합니다.

배경에서 실행

코드조각 사용자 지정 바를 닫더라도, 코드조각이 작동하도록 합니다.

초기 바로가기 키

초기 바로가기 키를 지정합니다; 처음 초기 바로가기 키는 TAB 입니다.

자세한 표시 수준

팁의 주파수를 조정합니다.

지연 시간

팁이 나타나기 전에 지연 시간을 조정합니다.

글로벌 매개변수 탭

추가

매개변수를 추가하고 그것의 값을 지정합니다.

삭제

매개변수를 삭제합니다.

키보드 탭

명령

사용 가능한 명령의 목록. (팝업 메뉴 혹은 코드조각 선택)

새 바로가기 키 누르기

선택된 명령을 위해서 바로가기 키를 입력할 수 있습니다.

현재 키

현재 키를 선택된 명령에 지정합니다.

설명

선택된 명령을 위한 설명을 제공합니다.

버튼 지정

현재 선택된 명령에 바로가기 키를 지정합니다.

버튼 삭제

현재 선택된 바로가기 키를 삭제합니다.

코드조각 폴더 속성

코드조각 폴더의 각각의 속성을 조정하기 위해서, 코드조각 사용자 지정 바에서 오른쪽 클릭을 한 후에 속성을 선택합니다.

일반 탭

이름

코드조각 폴더의 이름을 지정합니다.

구성 탭

다음의 구성에서 자동 완성 만

어떤 구성이 자동 완성될지 지정합니다.

코드조각

코드조각을 위해서 구성 설정합니다.

매크로

매크로를 위해서 편집하기 위한 구성을 설정합니다.

코드조각 속성

코드조각의 각각의 속성을 조정하기 위해서, 코드조각 사용자 지정 바의 코드조각을 오른쪽 클릭하고 속성을 선택합니다.

일반 탭

이름

코드조각 폴더의 이름을 지정합니다.

트리거

코드조각을 위해서 트리거를 지정합니다.

바로가기

코드조각을 위한 바로가기를 지정합니다.

코드조각을 위한 팁을 지정합니다.

유형

유형을 지정합니다. (코드조각 혹은 매크로)

텍스트

코드조각의 텍스트를 지정합니다.

편집

엠에디터 창에서 코드조각을 편집할 수 있습니다.

구성 탭

다음의 구성으로 자동완성만

자동 완성을 하려는 구성을 지정합니다.

코드조각

코드조각으로 편집하려는 구성을 설정합니다.

매크로

매크로를 위해서 편집하고자 하는 구성을 설정합니다.

코드조각 구문

일반 텍스트

당신의 문서에 삽입하고자 하는 일반 텍스트를 포함할 수 있습니다. 일반 텍스트를 작성하기 위해서, 대부분의 문자가 이용될 수 있습니다. 하지만, \, $, 혹은 `과 같은 문자를 일반 텍스트에 삽입하고자 한다면, \, \$, 그리고 \`로 이스케이프 하셔야 합니다.

자리표시자

코드조각을 삽입한 후에, 커서 위치는 자리표시자 사이를 점프하게 되며, TAB키를 눌러서 다음 자리표시자로 이동할 수 있습니다.

초기값이 코드조각이 삽입되었을 때 초기값으로 처음 나타나게 되면,코드조각을 ${n:default}으로 이 탭 스탑을 정의할 수 있습니다. 초기값이 없다면, {}을 생략해서 탭 정지가 n이 0에서 9사이인 정수인 $n로 나타나게 됩니다. 사용자가 코드조각을 삽입할 때, 처음 커스 위치는 $1이며, TAB을 누르면 다음의 자리표시자 $2, $3, ...가 있는 탭 정지로 이동하게 됩니다. 마지막 냅 정지는 $0입니다.

예를 들어, 다음의 코드조각은 HTML에 하이퍼링크를 삽입하며, 첫번째 커서 위치는 $1입니다. 커서가 $1에 있을 때, 사용자가 TAB키를 누르면 커서는 $2로 점프하며 그 후에는 $0으로 점프하게 됩니다.

$0

코드조각은 초기값을 포함할 수 있습니다. 다음의 코드조각은 초기값으로 하이퍼링크를 삽입할 수 있습니다.

$0

자리표시자에서 자리표시자를 포함할 수 있습니다. 다음의 코드조각은 선택된 타겟 매개변수로 하이퍼링크 태그를 삽입합니다. 사용자는 인수를 덮어쓰기 할 지, 삭제할지, 다음 TAB키를 입력해서 다음 자리표시자로 이동할지를 결정할 수 있습니다.

<a ${1: target="${2:_blank}"} href="${3:url}">$0

반전

만일 같은 자리표시자 인텍스를 사용한다면, 자리표시자의 모든 값은 같거나 반전됩니다. 다음의 코드조각은 “for” 반복을 삽입합니다. 이 경우, i 값은 자리표시자 $2의 초기값이며, 같은 색인의 자리표시자는 두개의 다른 장소에서 사용됩니다. 커서가 ${2:i}일 경우, i의 값을 바꾸는 것은 다른 자리표시자로 반전이 됩니다.

for( ${1:int} ${2:i} = ${3:0}; $2 != ${4:10}; $2++ ){

$0

}

변형

정규식과 바꾸기 형식을 이용해서 하나의 자리표시자의 값을 다른것으로 바꿀 수 있습니다. 구문은 다음과 같습니다: ${n/regexp/replace_format/option} 다음으로 자세히 설명됩니다:

n: 자리표시자의 색인

regexp: 찾고자 하는 정규식

replace_format: 바꾸기 형식

옵션:

i : 대/소문자 무시가히

g : 글로벌 옵션

다음의 예문은 첫번째 줄에 입력된 문자(처음 문자가 대문자인것을 제외하고)를 두번째 줄로 복사합니다.

$1

${1/./\U\0/}

미리 정의된 매개변수:

$1 자리표시자 1

$2 자리표시자 2

$3 자리표시자 3

$4 자리표시자 4

$5 자리표시자 5

...

$9 자리표시자 9

$0 마지막 자리표시자

${n:default} 초기 텍스트로된 자리표시자 n

${Path} 파일의 전체 경로 이름

${Dir} 현재 파일의 디렉터리 이름

${파일name} 확장을 제외한 파일 이름

${파일nameEx} 확장이 있는 파일 이름

${Ext} 파일 이름 확장

${LineText} 커서 위치에 줄

${WordText} 커서 위치에 단어

${SelText} 선택된 텍스트

${CurCol} 커서의 논리적 열 번호

${CurLine} 커서의 논리적 줄 번호

${Date} 오늘 날짜

${Time} 현재 시간

${Charset} 문자 집합 (HTML 메타 테그에서 이용되는)

${TabSize} 탭 크기

${IndentSize} 들여쓰기 크기

${AutoIndent} 자동 들여쓰기 켜기는 1, 끄기는 0.

${UseSpacesForTabs} 만일 "텝을 위해 스페이스 사용; 이 켜기는 1, 끄기는 0

${AppVersion} 엠에디터의 버전

${PluginVersion} 코드조각 플러그인의 버전

${TM_fileNAME}는 다음과 같음: ${filenameEx}.

${TM_CURRENT_LINE}는 다음과 같음: ${LineText}.

${TM_CURRENT_WORD}는 다음과 같음: ${WordText}.

${TM_DIRECTORY}는 다음과 같음: ${Dir}.

${TM_파일PATH}는 다음과 같음: ${Path}.

${TM_LINE_INDEX}는 다음과 같음: ${CurCol}.

${TM_LINE_NUMBER}는 다음과 같음: ${CurLine}.

${TM_SELECTED_TEXT}는 다음과 같음: ${SelText}.

${TM_SOFT_TABS}는 다음과 같음: ${UseSpacesForTabs}.

${TM_TAB_SIZE}는 다음과 같음: ${TabSize}.

${PickFullPath,title,filter} 선택된 파일의 전체 경로 이름. 제목은 대화 상자의 제목이며, 필터는 이 형식의 파일 필터: Text files|*.txt|All files|*.*||

${PickRelativePath,title,filter} 선택된 파일의 관련된 경로 이름. 제목은 대화상자의 제목이며, 필터는 형식의 파일 형식: Text files|*.txt|All files|*.*||

${PickColor} 선택된 색상의 RGB 값

${DefColor} 최근에 선택된 색상의 RGB 값

${parameter_name} parameter_name이 위의 목록에 미리 정의되어 있지 않을 때, 매개변수를 따로 만들 수 있습니다. 매개변수의 값이 플러그인 속성의 글로벌 매개변수 탭에 저장될 수 있지 않다면, 새로운 사용자 매개변수가 사용될 때, 대화 상자는 새로운 값을 삽입할 수 있는 곳에 대화상자가 나타납니다.

셸 코드

콘솔 응용 프로그램을 실행시킬 수 있는 셸 코드를 정의하고 문자열을 표준 입력에 통과시킬 수 있습니다. 콘솔 응용 프로그램의 표준 오차 뿐만이 아니라, 표준 출력도 텍스트 문서의 커서 위치로 다시 리디렉션할 수 있습니다.셸 코드는 반드시 다음의 형식으로 지정되어야 합니다:

`- appname

stdin1

stdin2

...

`

만일 결과 문자열이 새로운 줄로 끝난다면, (CR, LF 혹은 CR+LF), 새로운 줄은 삭제될 것입니다. 예를 들어, 다음의 코드조각은 위쪽 문자의 ${이름} 매개변수 내용을 삽입합니다.

`- powershell -

prompts for name then echos the hello greeting

\$name = "${name}".ToUpper()

"Hello \$name!"

exit

`

코드조각 매개변수를 구문 분석 하고 싶지 않다면, 다음을 작성할 수 있습니다:

`!- appname

stdin1

stdin2

...

`

만일 명령 확인에서 사용된 명령을 사용하고 싶다면, `#cmd shell_code`이 형식에서 명령 확인 창(cmd.exe)으로 통과된 셸 코드를 정의할 수 있습니다. 지정한 값은 : "%COMSPEC% /c shell_code" 이 형식에서 cmd.exe으로 통과될 수 있습니다. 콘솔 응용 프로그램에서 표준 오차 뿐만 아니라 표준 출력은 텍스트 문서의 커서 위치로 리디렉트 됩니다. 예를 들어, 다음의 코드조각은 현재 폴더 목록을 삽입합니다. 각각의 코드조각에서 포함하고자 하는 코드조각을 얼마든지 포함할 수 있습니다.

`#cmd DIR`

Macros

`# ` 형식에 있는 코드조각의 매크로를 포함할 수 있습니다. 첫번째 문자 #는 이것이 셸코드가 아니라 매크로라는것을 알려줍니다. 만일 JavaScript가 아닌 VBScript, PerlScript, PHPScript 혹은 RubyScript와 같은 ActiveScript라면, "#language="를 이용해서 언어를 정의해야 합니다. 예를 들어, VBScript를 이용고 싶다면, `#language="VBScript"...`를 작성해야 합니다. 인터페이스 개체는 코드조각과 엠에디터 매크로 엔진 사이에서 값을 통과시키는데 사용됩니다. 다음의 예는 클립보드의 내용을 커서 위치로 삽입합니다.

The clipboard contains `# Interface.write( clipboardData.getData("") );`.

Interface.write() 방식은 매크로 결과를 코드조각으로 통과시킵니다. 결과의 마지막에 캐리지 리턴을 추가하고 새로운 줄 (CR+LF)를 추가하는 대신에 Interface.writeln()를 사용할 수도 있습니다. 각각의 코드조각에 포함하고 싶은 매크로를 얼마든지 포함할 수 있습니다.

초기 값에 포함된 매개변수, 셸코드, 혹은 매크로

자리표시자 초기 값은 매개변수 셸콛, 매크로를 포함할 수 있습니다. 다음의 코드조각은 선택된 것이 있을 때,

사이에서 선택된 텍스트와

태그를 삽입합니다.

${0:${SelText}}

셸 코드와 매크로는 코드와 매크로 안에서 매개변수를 포함합니다. 다음의 코드조각은 사용자가 계속 하기 위해서 ${name} 매개변수를 위한 값을 입력한 곳의 대화 상자를 디스플레이합니다.

`# var s = "${name}";

for( var i = 0; i != 5; i++ ){

Interface.writeln( s );

}

`

You will need to be careful that all모든 \ 과 ` 그리고 $ 는 \에 의해서 진행될 때, 주의해야만 합니다. 예를들어, 다음의 코드조각은 "C:\Program files\EmEditorquot;를 포함합니다.

`# Interface.writeln( "C:\\\Program files\\\EmEditor" ); `

이것은 백슬래시가 반드시 \\로 작성되어야 하기 때문이며, 또한 JavaScript는 백슬레시를 \\로 변환십니다. 결과적으로, 백슬레시는 네개의 백슬레시로 변환합니다.(\\\)

만일 백슬래시가 변환되길 원치 않는다면, 어떤 매개변수도 셸코드나 매크로에 포함시킬 필요가 업다면, 느낌표를 코드 앞에 포함할 수 있습니다. 그것은 --셸코드 이고, `!...`로 작성하며, 매크로에서 `!#...`로 작성합니다. 그러므로, 이전의 예는 다음으로 다시 작성될 수 있습니다:

`!# Interface.writeln( "C:\\Program files\\EmEditor" ); `

  • F6 키 혹은 ESC 키를 편집기로 다시 초점을 맞추기 위해 눌러주십시오.

  • 사용자 지정 바 위치는 플러그인 바에서 플러그인 버튼 을 오른쪽 클릭하고 난 후, 속성 을 선택해서 상위, 하위, 오른쪽, 혹은 왼쪽에 설정될 수 있습니다.