울트라에디트의 스크립팅 기능 활용하기
울트라에디트에 "자바스크립트 엔진"이 탑재되어 있습니다.
이를 잘 활용하면 울트라에디트의 편집창에 있는 내용을 다루는데 편리합니다.
저는 고정된 문자열에 공백을 넣는 작업을 하는데 이를 활용해서 한번에 수행
하도록 만들었더니 편리하더군요.
울트라에디트를 설치하면 설치폴더에 예제 스크립트가 있습니다.
그리고 도움말에도 스크립팅에 관한 내용이 있구요.
울트라에디트를 주로 사용하는 저로써는 재밌는 기능을 발견한 기분입니다.
앞으로 삽질이 좀 줄어들 합니다. 그만큼 남는 시간이 늘어 나겠죠 ㅎㅎ
오늘 만든 스크립트를 등록한 모습니다.
등록이 완료되었으면 편집하고자 하는 문자열을 선택한다음에 메뉴 -> 스크립팅 ->
등록한 스크립트명을 클릭만 해주면 바로 적용됩니다.
이것으로 한달에 5분정도 시간을 벌었습니다. ㅋㅋ
ex) 선택된 문자열의 지정된 위치마다 공백을 넣는 예제
------ sample.js ----------------------------------------------------------------
var lineTerminator = "\r\n";
//variables
var stringArray = new Array(); //create array to hold string values
var arrayLength = 0; //array length
var strings; //variable which holds selection
var str;
var bStart;
var idx;
var pos;
UltraEdit.save();
//Get user selection
strings = UltraEdit.activeDocument.selection;
//split string at line terminator characters
stringArray = strings.split(lineTerminator);
//get length of array
arrayLength = stringArray.length;
for (var i = 0; i < arrayLength; i++) {
//Output value in array
str = stringArray[i];
bStart = false;
idx = 0;
for(var k=0; k < str.length; k++)
{
if(bStart == false && (str[k] == ' ' || str[k] == '\t') )
{
idx++;
continue;
}
else
bStart = true;
UltraEdit.activeDocument.write(str[k]);
pos = k-idx;
if(pos== 1 || pos==7 || pos==15 || pos==27 || pos==35 || pos==47 || pos==55 || pos==67 || pos==75 || pos== 87)
UltraEdit.activeDocument.write(" ");
}
if (i != (arrayLength - 1)) {
UltraEdit.activeDocument.write(lineTerminator);
}
UltraEdit.save();
}
------------------------------------------------------------------------------