Eclipse 유용한 단축키
0Eclipse 단축키 확인 및 변경
Eclipse의 모든 단축키는Window >> Preferences >> Workbench >> Keys 메뉴에서 확인 및 변경이 가능하다. 그 동안 다른 툴에서 자신의 손에 익숙한 단축키들이 있다면 이 메뉴에서 단축키들을 변경하는 것이 가능하다.
Java Editor 단축키
Ctrl + Shift + M: 특정 클래스Import 시키기
Ctrl + Shift + O: 자동으로Import 시키기
Ctrl + Shift + F: 코드 자동 정리
Ctrl + Shift + G: 특정 메써드나 필드를Reference하고 있는 곳을 찾는다.
Ctrl + 1: Quick Fix. 에러가 발생했을 경우Quick Fix를 통해 쉽게 해결이 가능하다.
Ctrl + Shift + /: 블럭 주석 설정
Alt + Shift + UP: 커서를 기준으로 토큰단위 블럭지정
Alt + Shift + DOWN: 커서를 기준으로 토큰단위 블럭해제
CTRL + L: 특정 줄번호로 가기
Alt + Shift + J: 자동으로 주석 달기(메소드나 멤버변수에 포커스 두고 실행)
Window 이동
F10: 메뉴창을 활성화
Ctrl + F8: 다음Perspective로 이동
Ctrl + N: 새로운 파일 및 프로젝트 생성.
Ctrl + Shift + Down: Java Editor에서 다음member로 이동.
Ctrl + F7: 다음View로 이동.
Ctrl + Shift + F7: 이전View로 이동.
Alt + <-: 이전 작업 화면
Alt + ->: 다음 작업 화면
F12: 컴파일 중 에러등으로 포커스가 다른데로 갔을 때Editor 로 커서 이동
Ctrl + 1: 컴파일 에러가 발생한 곳에서Ctrl + 1을 누를 경우 컴파일 에러에 대한 해결책을 제시
디버깅 단축키
CTRL + Shift + B: 현 커서의 위치에 브레이크 포인터 설정/해제
F11: 디버깅 시작
F8: 디버깅 계속
F6: 한줄씩 실행(Step Over)
F5: 한줄씩 실행하되 함수일 경우 그 함수 내부로 들어감(Step Into)
CTRL + R: 현재 라인까지 실행(Run to Line)
Refactoring 단축키
Shift + ALT + 알파벳: Refactoring을 위한 단축키 임.
RUN 단축키
Ctrl + F11: 이전에 실행되었던Run파일 실행.
Comments
ctrl + 1
Ctrl + O : 모든 클래스, 프로퍼티 트리 보기, 선택가능
Ctrl + Shift + L : 단축키 보기(한 번 더 누르면 키 설정메뉴로 들어감)
Ctrl + Shift + T : 클래스 찾기
이클립스 단축키 저장 파일
%workspace%\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.ui.workbench.prefs
Edit
Content Assist : CTRL + SPACE
- 코드 작성을 도와준다. 자동완성을 지원함
Navigate
Open Type Hierarchy : F4
- 현재 클래스의 상속관계를 보여주는 창이 열린다.
Quick Hierarchy : CTRL + T
- 간단하게 현재 클래스의 상속 관계를 보여준다.
Quick Outline : CTRL + O
- 현재 클래스의 메서드, 맴버변수등을 보여준다.
Refactor
Refactor Quick Menu : ALT + SHIFT + T
- 리펙토링 메뉴 바로가기Rename : ALT + SHIFT + R
- 변수명, 클래스명 등 이름 변경
Source
Add Block Comment : CTRL + SHIFT + /
- 선택된 영역에 대해 주석 처리
Remove Block Comment : CTRL + SHIFT + \
- 주석처리 된 영역 주석 해제
Add Javadoc Comment : ALT + SHIFT + J
- Javadoc타입의 주석 붙임
Format : CTRL + SHIFT + F
- 탬플릿에 지정된 대로 코드 포맷 변경
Indent Line : CTRL + I
- 제대로 된 위치의 들여쓰기
Organize Imports : CTRL + SHIFT + O
- 필요없는import 제거
Source Quick Menu : ALT + SHIFT + S
- 빠른 소스메뉴
Toggle Comment : CTRL + /
- 한줄에 대한 주석 처리
Text Editing
Delete Line : CTRL + D
- 줄 삭제
Duplicate Lines : CTRL + ALT + UP or DOWN
- 줄 복사Insert Line Above Current Line : CTRL + SHIFT + ENTER
- 현재 줄에 새로 추가
Insert Line Below Current Line : SHIFT + ENTER
- 다음 줄에 새로 추가
Next Word : CTRL + RIGHT
- 다음 문자로 이동
Previous Word : CTRL + LEFT
- 이전 문자로 이동
Window
Maximize Active View or Editor : CTRL + M
- 선택된 뷰 최대화
Switch to Editor : CTRL + SHIFT + E
- 열려있는 에디터간 이동
[본문스크랩] 동적으로 input – text 박스 생성/삭제
0 function FnDynInput(pStrName,pStrInputName,pStrBtnName)
{
var intInputCount = 0;
var strThisName = pStrName;
var strInputName = pStrInputName;
var StrBtnName = pStrBtnName;
var ObjDiv;
FnDynInput.prototype.deleteInput = function (pintNum) {
//alert(document.getElementsByTagName(“input”).length);
var ObjInput = document.getElementsByTagName(“input”);
var lintObjInputCount = ObjInput.length;
var strTmp = “”;
intInputCount = 0;
intLoopCount = 0;
for (var i = 0; i < lintObjInputCount; i++)
{
if (ObjInput[i].dyninput == strInputName)
{
if (intLoopCount != pintNum || intInputCount == 0)
{
strTmp += “<input type=’text’ name=’” + strInputName + intInputCount + “‘ value=’” + ObjInput[i].value + “‘ dyninput=’”+strInputName+”‘><input type=’button’ value=’del’ onClick=’” + strThisName + “.deleteInput(” + intInputCount + “);’><br>”
intInputCount++;
document.getElementById(StrBtnName).value = intInputCount;
}
intLoopCount++;
}
}
ObjDiv.innerHTML = strTmp;
}
FnDynInput.prototype.addInput = function () {
if(intInputCount < 10)
{
ObjDiv.innerHTML += “<input type=’text’ name=’”+strInputName + intInputCount + “‘ dyninput=’”+strInputName+”‘><input type=’button’ value=’del’ onClick=’” + strThisName + “.deleteInput(” + intInputCount + “);’><br>”
intInputCount++;
document.getElementById(StrBtnName).value = intInputCount;
}
else alert(“10개 이상 추가할수 없습니다.”);
}
FnDynInput.prototype.addInput2 = function (pStrText) {
ObjDiv.innerHTML += “<input type=’text’ value=’”+ pStrText +”‘ name=’”+strInputName + intInputCount + “‘ dyninput=’”+strInputName+”‘><input type=’button’ value=’del’ onClick=’” + strThisName + “.deleteInput(” + intInputCount + “);’><br>”
intInputCount++;
document.getElementById(StrBtnName).value = intInputCount;
}
FnDynInput.prototype.init = function (pStrName,pArrVal) {
var lObjTmp = document.getElementsByTagName(“div”);
//ObjDiv = document.getElementsByTagName(“div”);
for(var i=0;i<lObjTmp.length;i++)
{
if(lObjTmp[i].id == pStrName) ObjDiv = lObjTmp[i];
//alert(pStrName);
}
var lArrVal = pArrVal.split(“<%=DELIMITER%>”);
var lArrValCount = (lArrVal[0] == “”) ? 0:lArrVal.length;
if (lArrValCount != 0 )
{
for (var i=0; i<lArrValCount; i++)
{
this.addInput2(lArrVal[i]);
}
}
else this.addInput();
}
}
//========================================== 사용예
1. 선언
:: var koko = new FnDynInput(“koko”,”txtQuestion”,”countQuestion1″);
2. HTML 삽입
:: <input type=”hidden” name=”countQuestion1″ value=”1″ >
<table>
<tr>
<td><div id=”view_001″></div></td>
<td valign=”top”> <input type=”button” value=”추가” onClick=”koko.addInput();”></td>
</tr>
</table>
3. 값을 넘겨받는 쪽
:: txtQuestion1,2,3,4.. 이런식으로 넘겨받는다.


