Posted title : 태그 : eclipse
2009/01/14   톰캣 원격 디버깅 debug 모드로 톰캣 띄우기
2008/11/13   [PMD] eclipse PMD 플러그인
2008/08/26   [pathtool] eclipse plugin 소개
2008/07/27   이클립스 사용중 발생하는 jvm terminated. exit code -1 로 시작하는 에러
2008/07/19   eclipse에서 glassfish로 deploy
2008/07/19   eclipse ganymede에 glassfish 서버 추가
2008/07/19   eclipse에서 glassfish로 deploy시 에러
2008/06/01   [jsunit] javascript 테스팅프레임웍
2007/12/22   [eclipse] video tutorial
2007/12/22   [eclipse] java project를 web project로 변경하기
2005/02/06   Eclipse 단축키모음
Posted
2009년 01월 14일 Posted title : 톰캣 원격 디버깅 debug 모드로 톰캣 띄우기

1. catalina.sh 에서 JDPA_ADDRESS설정

$vi catalina.sh

echo "Using CATALINA_BASE:   $CATALINA_BASE"
echo "Using CATALINA_HOME:   $CATALINA_HOME"
echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
echo "Using JAVA_HOME:       $JAVA_HOME"

if [ "$1" = "jpda" ] ; then
  if [ -z "$JPDA_TRANSPORT" ]; then
    JPDA_TRANSPORT="dt_socket"
  fi
  if [ -z "$JPDA_ADDRESS" ]; then
    JPDA_ADDRESS="1818"
  fi
  if [ -z "$JPDA_OPTS" ]; then
    JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n"
  fi
  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
  shift
fi

 

 

설명 : JPDA_ADDRESS 가 정의되지 않았으면 디버깅용포트를 1818로 설정

if [ -z "$JPDA_ADDRESS" ]; then     (-z 문자열 : 문자열의 길이가 0이면 참)

    JPDA_ADDRESS="1818"

2. 디버그 모드로 톰캣 실행

$ catalina.sh jpda start

3. eclipse에서 디버깅 설정

Run -> Debug Configurations

Remote Java Application 항목에 추가

 

4. 이제 원하는 WAS단 서블릿 같은 코드에 브레이크 포인트를 걸고 디버깅하면 된다.

Posted by 지니짱 | 2009/01/14 10:29 | 자바 | 트랙백
2008년 11월 13일 Posted title : [PMD] eclipse PMD 플러그인

eclipse plugin 설치

To install the PMD plugin for Eclipse:

  • Start Eclipse and open a project
  • Select "Help"->"Software Updates"->"Find and Install"
  • Click "Next", then click "New remote site"
  • Enter "PMD" into the Name field and "http://pmd.sf.net/eclipse" into the URL field
  • Click through the rest of the dialog boxes to install the plugin

Package Explorer에서 프로젝트 선택후 마우스 우클릭 PMD -> Check Code with PMD 실행



Violance Overview(우측하단그림)에 소스파일에 대해 체크한 내용들이 출력된다.
그중 하나를 선택(TooFewBranchesForSwitch..) 를 클릭하면
Violance OutLine에 (좌측하단그림)에 그 에러에 대해 하이라이팅되면서 설명을 볼 수 있다.
TooFewBranchesForSwitch에 대한 에러설명은 A switch with less than 3 branches is inefficient, use a if statement instead.
라고 출력된다.

Violance OutLine

에서 마우스 우측버튼을 누르면 Show Detail 항목으로 자세한 에러의 자세한 내역을 알 수 있다.


Posted by 지니짱 | 2008/11/13 09:58 | - 이클립스 | 트랙백
2008년 08월 26일 Posted title : [pathtool] eclipse plugin 소개

이클립스에서 현재 열고 있는 파일의 경로를 클립보드에 복사하거나

그 위치에서 탐색기를 열거나, 다른 에디터로 열 수 있게 해주는 플러그인

 

http://code.google.com/p/pathtools/

 

설치: 이클립스 버전에 따라 jar를 다운받아 eclipse의 plugin 디렉토리에 복사하고

리스타트 하면 설치 끝

 

설정: Window -> Preference -> PathTool

에서 설정을 바꾸어 notepad대신 editplus를 explorer대신 total commander를 띄우게 수정할 수도 있다.

툴바에 나오게 하려면 마우스 우측버튼으로 Customize Perspective에서

Commands 탭에서 PathTool s 체크

사용1 : Package Explore에서 사용시 상단 툴바가 활성화된다.

사용2: 에디터 화면에서는 마우스 우측 팝업메뉴로 경로를 복사하거나 탐색기를 띄울수 있다.

(이 기능 처음버전에는 없었는데 메일로 기능추가해달라고 하니 바로 추가해주었다 ^^;)

 

Posted by 지니짱 | 2008/08/26 14:02 | - 이클립스 | 트랙백
2008년 07월 27일 Posted title : 이클립스 사용중 발생하는 jvm terminated. exit code -1 로 시작하는 에러
이클립스 사용중 발생하는 jvm terminated. exit code -1 로 시작하는 에러.

갑자기 이클립스가 열리지 않아서 깜짝 놀라다는,,,-_-;;;
괜히 이클립스니깐 뭐,,,이러면서 폴더 싹 지우고 새로 압축 풀었다는,,,ㅋㅋ;;
근데 이게 뭔가!!!-_- 여전히 안된다...
이럴 때는 당연히!! 검색의 힘이 필요하다 그래서 알게된 결론~!!!
 
-----------------------------< 해 결 책 >-------------------------------

 
eclipse폴더안의 ecilpse.ini 파일을 수정해 주면 된다.

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m   
위의 내용들 중에서
--launcher.XXMaxPermSize
256M
을 삭제하면 된다.

 
삭제 후에 남는 내용은 아래와 같다.
-showsplash
org.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m 
Posted by 지니짱 | 2008/07/27 12:58 | - 이클립스 | 트랙백
2008년 07월 19일 Posted title : eclipse에서 glassfish로 deploy

eclipse에서 dynamic web project를 하나 만든다.

Target Runtime을 GlassFish V3 TP2로 변경한다.

 

 

WebContent항목에서 마우스 오른쪽 버튼으로 New -> JSP 로 index.jsp를 추가한다.

 

Project Expolorer에서 프로젝트나 index.jsp등에서 마우스 오른쪽 버튼으로

Run As -> Run on Server를 선택한다.

glassfish를 선택후

Availabe쪽에 있으면 Configured쪽으로 Add버튼으로 옮겨주고

 

다음과 같은 화면이 나온다.

 

PS) 간혹 이 상태에서 다음과 같은 에러가 난다면

Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:172)


jdk/lib/의 tools.jar를 jre/lib/ 디렉토리에 복사하면 정상적으로 실행된다.

http://bumjin.egloos.com/3830748

Posted by 지니짱 | 2008/07/19 14:56 | - 이클립스 | 트랙백
2008년 07월 19일 Posted title : eclipse ganymede에 glassfish 서버 추가

Window -> Server -> Runtime Environments를 선택한다.

 

Add 버튼으로 GlassFish의 GlassFish V3 TP2를 선택한다.

원하는 서버가 보이지 않으면 우측 상단의 Download additionaal Server Adapter를 이용하여

필요한 어댑터를 설치한다.

 

glassfish가 설치된 디렉토리를 설정한다.

D:/java/glassfish-v3tp2/glassfish

 

서버의 포트나 아이디 패스워드등의 기본적인 설정을 한다.

 

 

Window -> Show View에서 Server를 선택하여 확인한다.

Posted by 지니짱 | 2008/07/19 14:37 | 컴퓨터 | 트랙백
2008년 07월 19일 Posted title : eclipse에서 glassfish로 deploy시 에러
이클립스에서 다이나믹 웹 프로젝트로 만들고
타겟서버를 glassfish로 했을때 다음과 같은 에러가 난다면

Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:172)

jdk/lib/의 tools.jar를 jre/lib/ 디렉토리에 복사하면 정상적으로 실행된다.


from : http://www.softslate.com/forums/viewtopic.php?p=791&sid=f550422dc9ec315f44b0e4fbf111cc5d

Posted by 지니짱 | 2008/07/19 01:25 | - 이클립스 | 트랙백 | 핑백(1)
2008년 06월 01일 Posted title : [jsunit] javascript 테스팅프레임웍
홈페이지 http://www.jsunit.net/
다운로드 https://sourceforge.net/project/showfiles.php?group_id=28041
(이클립스 플러그인은 수동으로 plugin 디렉토리에 복사)
예제 http://www.jsunit.net/examples/index.html

참고할 만한 사이트: http://webjoy.kr/132
http://wiki.javajigi.net/pages/viewpage.action?pageId=4497

<html>
 <head>
  <title>Test Page for multiplyAndAddFive(value1, value2)</title>
  <script language="javascript" src="jsUnitCore.js"></script>
  <script language="javascript" src="myJsScripts.js"></script>
 </head>
 <body>
  <script language="javascript">
    function testWithValidArgs() {
        assertEquals("2 times 3 plus 5 is 11", 11, multiplyAndAddFive(2, 3));
        assertEquals("Should work with negative numbers", -15, multiplyAndAddFive(-4, 5));
    }
    function testWithInvalidArgs() {
        assertNull("A null argument should result in null", multiplyAndAddFive(2, null));
        assertNull("A string argument should result in null", multiplyAndAddFive(2, "a string"));
    }
    function testStrictReturnType() {
        assertNotEquals("Should return a number, not a string", "11", multiplyAndAddFive(2, 3));
    }
    function testWithUndefinedValue() {
        assertNull("An undefined argument should result in null", multiplyAndAddFive(2, JSUNIT_UNDEFINED_VALUE));
    }
  </script>
 </body>
</html>


의 형태로 테스트 코드 작성


샘플
jsUnitMyFirst.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JsUnit Framework tests</title>
    <script language="javascript" type="text/javascript" src="../app/jsUnitCore.js"></script>
    <script language="javascript" type="text/javascript" src="myJsScripts.js"></script>
    <script language="javascript" type="text/javascript">
     function testAdd() {
      assertEquals(5, add(3, 2));
     }
     function testSimple(){
      var d = new Date();      //month는 0부터 시작
      assertEquals(5,d.getMonth());
     }
     function testDate10DaysBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getDate(),adjustDate('1').getDate());
     }
     function testMonth10DaysBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getMonth(),adjustDate('1').getMonth());
     }
     function testDateOneMonthsBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,1); //5월 1 일
      assertEquals(expectedDate.getDate(),adjustDate('2').getDate());
     }
     function testMonthOneMonthsBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,1); //5월 1일
      assertEquals(expectedDate.getMonth(),adjustDate('2').getMonth());
     }
     function testDateOneYearsBeforeAdjustDate(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate('3').getYear());
     }
     function testDateOneYearsBeforeAdjustDate(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate('3').getYear());
     }
     function testDate10DaysBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getDate(),adjustDate2('10d').getDate());
     }
     function testMonth10DaysBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getMonth(),adjustDate2('10d').getMonth());
     }
     function testDateOneMonthsBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,1); //5월 1 일
      assertEquals(expectedDate.getDate(),adjustDate2('1m').getDate());
     }
     function testMonthOneMonthsBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,1); //5월 1일
      assertEquals(expectedDate.getMonth(),adjustDate2('1m').getMonth());
     }
     function testDateOneYearsBeforeAdjustDate2(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
     }
     function testDateOneYearsBeforeAdjustDate2(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
     }
     function testDateOneYearsBefore365DaysBeforeAdjustDate3(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(adjustDate2('366d').getDate(),adjustDate2('1y').getDate());
     }
     function testDateOneYearsBefore12MonthBeforeAdjustDate3(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(adjustDate2('12m').getDate(),adjustDate2('1y').getDate());
     }
     function testDateOneYearsBefore11 MonthBeforeAdjustDate3(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(adjustDate2('11m').getMonth(),adjustDate2('1y').getMonth());
     }
     function testPeriod2date(){
      assertEquals(10, period2date("10d"));
     }
     function testLastChar(){
      assertEquals("m",lastChar("3m"));
      assertEquals("y",lastChar("1y"));
      assertEquals("d",lastChar("30d"));
      assertEquals("m",lastChar("2m"));
      
     }
    </script>
</head>   
<body>
</body>
</html>

myJsScripts.js

function add(a, b) {
 return a + b;
}

function adjustDate(period){
 var today = new Date();
 var yesterday;
 var year = today.getYear();
 var month = today.getMonth(); // getMonth()는 index를 return(0,1)
 var date = today.getDate();

 if(period =='1'){
     yesterday = new Date(year, month, date-10);
 }
 if(period =='2'){
     yesterday = new Date(year, month-1, date);
 }
 if(period =='3'){
     yesterday = new Date(year-1, month, date);
 }
 return yesterday;
}

function adjustDate2(period){
 //period가 유효하지 않은 경우 디폴트로 30일 전
 //period 형태는 -10d, -1m, -1y
 if(!period || period.length<1){
  period = "-10d";
 }
 
 var today = new Date();
 var yesterday;
 var year = today.getYear();
 var month = today.getMonth(); // getMonth()는 index를 return(0,1)
 var date = today.getDate();
 var idx = -1;

  
 if( period.indexOf('d')>-1){
  var str = parseInt(period.substr(0,period.indexOf('d')));
     yesterday = new Date(year, month, date-str);
 }else if( period.indexOf('m')>-1){
  var str = parseInt(period.substr(0,period.indexOf('m')));
     yesterday = new Date(year, month-str, date);
 }else if( period.indexOf('y')>-1){
  var str = parseInt(period.substr(0,period.indexOf('y')));
     yesterday = new Date(year-str, month, date);
 }
 return yesterday;
}

function period2date(period){
 var str = parseInt(period.substr(0,period.indexOf('d')));
 return str;
}
function lastChar(str){
 if(str){
  return str.charAt(str.length-1);
 }else{
  return null;
 }
 return
}

정상적으로 수행된 경우


에러난 경우
에러난 부분 설명 (Show selected 나  Show all 클릭시)
Posted by 지니짱 | 2008/06/01 16:55 | 프로그래밍 | 트랙백
2007년 12월 22일 Posted title : [eclipse] video tutorial
http://jonah.cs.elon.edu/dpowell2/Courses/EclipseTutorial/EclipseTutorial.htm
Posted by 지니짱 | 2007/12/22 15:15 | - 이클립스 | 트랙백
2007년 12월 22일 Posted title : [eclipse] java project를 web project로 변경하기
출처: http://dev.eclipse.org/newslists/news.eclipse.webtools/msg14297.html

What I'm doing for that is as below:
1. Open .project file for the project to be converted to web project.
2. Insert the following to natures element.
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
3. Open the properties for the project and go to the page for Project Facets
4. Add Java and Dynamic Web Module facets to the project.
5. Done.
Posted by 지니짱 | 2007/12/22 14:54 | - 이클립스 | 트랙백
2005년 02월 06일 Posted title : Eclipse 단축키모음

[출처] 이클립스 단축키|작성자 다니

http://blog.naver.com/daniz00/100052855911

- Eclipse 자주 쓰는 단축키 -

 

----- 실행 -----

Ctrl + F11 : 바로 전에 실행했던 클래스 실행

 

----- 소스 네비게이션 -----

Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때

Alt + Left, Alt + Right : 이후, 이전

Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때

F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.

 

----- 문자열 찾기 -----

Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.

Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감.

Ctrl + J : 입력하면서 찾을 수 있음.

Ctrl + Shift + J : 입력하면서 거꾸로 찾아갈 수 있음.

Ctrl + F : 기본적으로 찾기

 

----- 소스 편집 -----

Ctrl + Space : 입력 보조장치(Content Assistance) 강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.

F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.

Ctrl + L : 원하는 소스 라인으로 이동

   로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다.

Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.

Ctrl + D : 한줄 삭제

Ctrl + W : 파일 닫기

Ctrl + I : 들여쓰기 자동 수정

Ctrl + Shift + / : 블록 주석(/* */)

Ctrl + Shift + \ : 블록 주석 제거

Ctrl + /여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 된다.

Alt + Up(Down) : 위(아래)줄과 바꾸기

Alt + Shift + 방향키 : 블록 선택하기

Ctrl + Shift + Space : 메소드의 파라메터 목록 보기

Ctrl + Shift + O : 자동으로 import 하기

Ctrl + Shift + F4 : 열린 파일 모두 닫기

Ctrl + M : 전체화면 토글

Ctrl + Alt + Up(Down) : 한줄(블럭) 복사

Ctrl + , or . : 다음 annotation(에러, 워닝, 북마크 가능)으로 점프

Ctrl + 1 : 퀵 픽스

F3 : 선언된 변수로 이동, 메소드 정의부로 이동

Ctrl + T : 하이어라키 �b업 창 띄우기(인터페이스 구현 클래스간 이동시 편리)

Ctrl + O : 메소드나 필드 이동하기

Ctrl + F6 : 창간 전환, UltraEdit  Editplus Ctrl + Tab 과 같은 기능

 

----- 템플릿 사용 -----

sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.

try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.

for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.

템플릿을 수정하거나 추가하려면 환경설정/자바/편집기/템플릿 에서 할 수 있다.

 

----- 메소드 쉽게 생성하기 -----

클래스의 멤버를 일단 먼저 생성한다.

override 메소드를 구현하려면, 소스->메소드대체/구현 에서 해당 메소드를 체크한다.

기타 클래스의 멤버가 클래스의 오브젝트라면, 소스->위임메소드 생성에서 메소드를 선택한다.

 

----- organize import -----

자바파일을 여러개 선택한 후 소스->가져오기 체계화 해주면 모두 적용된다.

 

----- 소스 코드 형식 및 공통 주석 설정 -----

환경설정 -> 자바 -> 코드 스타일 -> 코드 포멧터 -> 가져오기 -> 프로파일.xml 을 불러다가 쓰면 된다.

또한 다수의 자바파일에 프로파일을 적용하려면 패키지 탐색기에서 패키지를 선택한 후 소스 -> 형식화를 선택하면 된다.

환경설정 -> 자바 -> 코드 스타일 -> 코드 템플리트 -> 가져오기 -> 템플리트.xml 을 불러다가 쓰면 된다.

 

----- 에디터 변환 -----

에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로

Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.

Ctrl + F7 : 뷰간 전환

Ctrl + F8 : 퍼스펙티브간 전환

F12 : 에디터로 포커스 위치

 

 

 

 

 

- 이클립스 자주쓰는 단축키 -

 

Ctrl + / : 주석 처리 - 한 라인/블록에 대해 주석 처리 (추가 및 제거)

Ctrl + L : 특정 라인으로 이동

Ctrl + F6 : Editor 창간의 이동

Ctrl + F7 : View 이동 메뉴

Ctrl + F8 : Prespectives 이동 메뉴

Ctrl + D : 한라인 삭제 - 커서가 위치한 라인 전체를 삭제 한다.

Ctrl + J : Incremental find 이클립스 하단 상태 표시줄에 Incremental find 라고 표시되어 한 글자자씩 누를 때 마다 코드내의 일치하는 문자열로 이동 , 다시 Ctrl + J 를 누르면 그 문자열과 일치 하는 부분을 위/아래 방향키로 탐색이 가능하다.

Ctrl + N : 새로운 파일 / 프로젝트 생성

Ctrl + 1 (빠른교정) - 문 맥에 맞게 소스 교정을 도와 준다. 변수를 선언하지 않고 썼을경우 빨간색 에러 표시되는데 이 단축키를 적용하면 변수에 맞는 선언이 추가 되도록 메뉴가 나타난다.

Ctrl + 0 : 클래스 구조를 트리로 보기

Ctrl + Space :  Cotent Assist - 소스 구문에서 사용 가능한 메소드, 멤버들의 리스트 메뉴를 보여준다.

Ctrl + PageUp , Ctrl + PageDown : Edit 창 좌우 이동 - Edit 창이 여러개 띄워져 있을경우 Edit 창간의 이동 한다.

Ctrl + Shift + Down : 클래스 내에서 다음 멤버로 이동

Ctrl + Shift + M : 해당 객체의 Import 문을 자동 생성 - import 추가 할 객체에 커서를 위치 시키고 단축키를 누르면 자동적으로 import 문이 생성

Ctrl + Shift + O : import 문을 자동 생성 - 전체 소스 구문에서 import 안된 클래스의 import 문을 생성해 준다.

Ctrl + Shift + G : 해당 메서드 / 필드를 쓰이는 곳을 표시 - View 영역에 Search 탭에 해당 메서드 / 필드를 사용하는 클래스를 표시 해준다.

Alt + Shift + R : Refactoring (이름변경) - Refactoing 으로 전체 소스에서 이름변경에 의한 참조 정보를 변경해 준다.

F3 : 선언 위치로 이동

F11 : 디버깅 시작

F8 : 디버깅 계속

F6 : 디버깅 한줄씩 실행(step over)

F5 : 디버깅 한줄씩 실행 함수 내부로 들어감 (step into)

F12 : Editor 창으로 이동 (Debugging 등 자동적으로 포커스가 이동 됐을경우 편리)

Alt + Up , Alt + Down : 줄 바꿈 - 해당 라인을 위 / 아래로 이동 시킨다.

Alt + Shift + S : Source Menu - 소스메뉴 (Import 추가 , Comment 추가 , 각종 Generator 메뉴) 가 나타난다.

Alt + Shift + Up : 블록설정 - 소스 코드를 블록 단위로 설정해 준다.

Alt + Shift + Down : 블록해제 - 소스 코드를 블록 단위로 해제한다.

Alt + Shift + J : 주석 생성 - 해당 메서드/클래스에 대한 주석을 템플릿을 생성해 준다.

sysout + (Ctrl + Space) : System.out.println() 문장 삽입 - 코드 템플릿을 이용해서 소스 구문을 추가

(Windows -> Preferences -> JAVA -> Editor -> Templates 에서 자주 쓰는 소스 구문을 추가시키면 <템플릿 이름> + (Ctrl + Space) 로 소스 문장을 완성 시킬 수 있다.)

Alt + Shift + Z : Surround With 메뉴 - try / catch 문이나 for , do , while 등을 해당 블록에 감싸주는 메뉴가 나타난다.

Ctrl + Shift + F : 코드 포맷팅 - 코드 내용을 문법 템플릿에 맞게 포맷팅(들여쓰기) 해준다.

Ctrl + Alt + Down : 한줄 복사후 아래에 복사 넣기 - Copy&Paste 대체하는 단축키. 커서가 위치한 라인을 복사해 밑줄에 생성해 준다.

Ctrl + Shift +X : 대문자로 변환

Ctrl + Shift + Y : 소문자로 변환

Ctrl + Shift + L : 모든 단축키의 내용을 표시해준다.

Ctrl + Shift + B : 현재 커서 라인에 Break point 설정

Ctrl + Shift + T : 클래스 찾기



Posted by 지니짱 | 2005/02/06 18:59 | - 이클립스 | 트랙백
◀ 이전 페이지 다음 페이지 ▶



지니랜드
by 지니랜드
카테고리
전체
프로그래밍
자바
- 이클립스
- 기타언어 (ruby, php)
웹기술 HTML javascript
컴퓨터
- Unix/Linux
- spring
- 테스팅
툴 프로그램 설치
- 버전관리
영어
동영상
영화 책
일상
여행
아무거나
재테크
펀드
미분류
이글루링크
소스코드위를 걷다.....
life logging
거북거북 월드 (ㅡ.-..
아직 열지 않은 선물
All about IT Trends
까먹지말자!
이규영 연예영화 블로그
ok_code 블러그
최근 등록된 덧글
카테고리별로 해당되는 ..
by 지니랜드 at 05/22
이 책들을 다 보면... ..
by 랑우 at 04/14
오지천사님 좋은 정보 ..
by 지니랜드 at 03/16
잠깐지나가다가 들렀습니..
by 오지천사 at 03/09
이런 우연이 ㅎㅎㅎ, 저도..
by 지니랜드 at 03/01
저랑 2개나 같이 들으셨군..
by 상욱 at 03/01
아 그러셨구나.. 오늘 못..
by 지니랜드 at 02/28
ㅎㅎㅎ JCO 오시나 보군요..
by 윤걸 at 02/26
좋은지적 감사드립니다.
by 지니짱 at 09/24
멋진데요? 잘보겠습니다.
by coffeejava at 08/04
FISH RSS
최근 등록된 트랙백
2009 자바 개발자 컨퍼런..
by cutewebi 희정냥★
도서이벤트 4탄 (통계의..
by Korean Healthlog
『프리젠테이션 젠』출간..
by acornLoft
뉴욕의 프로그래머
by The note of Legendre
[책] 뉴욕의 프로그래머
by lovesera.com: ART o..
[행사] 매쉬업 컨퍼런..
by lovesera.com: ART o..
[행사] 매쉬업 엑스..
by lovesera.com: ART o..
루비(Ruby) 설치 및..
by Happy egoist
개발시에 참고하자.. /..
by mcsong's languid aft..
이글루 파인더
라이프로그
프리젠테이션 젠
프리젠테이션 젠

초난감 기업의 조건
초난감 기업의 조건

Stick 스틱!
Stick 스틱!

당신의 기업을 시작하라
당신의 기업을 시작하라

테스트 주도 개발
테스트 주도 개발

조엘 온 소프트웨어
조엘 온 소프트웨어

Head First Design Patterns (Paperback)
Head First Design Patterns (Paperback)

실용예제로 배우는 웹 표준
실용예제로 배우는 웹 표준

아랑은 왜
아랑은 왜

천년전의 글로벌 CEO, 해상왕 장보고
천년전의 글로벌 CEO, 해상왕 장보고

마케팅 천재가 된 맥스
마케팅 천재가 된 맥스

태그
chromeos commandpattern 디자인패턴 영진출판사 hangulime cut underscore 10회JCO컨퍼런스후기 크롬OS 한빛미디어 space 제10회한국자바개발자컨퍼런스 추리소설 java 커맨드패턴 로드맵 db 할인 xDBA 자바 유틸 이벤트 google javafx dodreams 트위터 에도가와란포 JCO10THCONFERENCE 파일다운로드 JCO
rss

skin by 에셈