Android has given a bundle pack for developing phonegap apps here is the link of ADT bundle pack

1) Just download latest ADT-Bundle pack mac or windows 32bit or windows 64bit

2) Download the MDS AppLaud plugin to Eclipse -> Help -> Install New Software to

  https://svn.codespot.com/a/eclipselabs.org/mobile-web-development-with-phonegap/tags/r1.2/download

That's it.


With a single download, the ADT Bundle includes everything you need to begin developing apps:

Eclipse + ADT plugin
Android SDK Tools
Android Platform-tools
The latest Android platform
The latest Android system image for the emulator

I highly recommend Brackets to be used as code editor

share|improve this answer


Posted by 세모아
,

출처: http://netrance.blog.me/110159753435


[Eclipse] Juno 버전 이후 Eclipse Marketplace... 메뉴를 추가하는 방법 Java 기초 / Java

2013/02/14 21:24

복사 http://netrance.blog.me/110159753435

전용뷰어 보기

Juno 버전 이후의 Eclipse에서는 Help - Eclipse Marketplace... 메뉴가 제공되지 않습니다. 이것은 별도로 추가가 가능하며, 방법을 여기에서 정리하고자 합니다.

 

 

Elipse Marketplace... 메뉴를 추가하는 방법

1. 메뉴 Help - Install New Software...를 선택하세요.

 

2. Install 창이 뜬 후 Work with에 아래 주소를 입력하세요.

http://download.eclipse.org/releases/juno

 

3. 2를 실행한 후 창의 중간에 있는 테이블에 여러가지의 체크 항목들이 나타납니다. 그 중에 General Purpose Tools을 열고, 그것의 하위 항목 Marketplace Client를 체크하세요. 그리고 Next  > 버튼을 클릭하세요.

 

4. 잠시 기다리세요.

 

5. Install 창의 중간에 설치할 소프트웨어들이 테이블에 보입니다. Marketplace Client가 있음을 확인하세요. 그 다음에 Next > 버튼을 클릭하시기 바랍니다.

 

6. Review Licenses 단계에서 I accept the terms of the license agreement를 선택하신 후 Finish 버튼을 클릭하세요.

 

7. Marketplace Client 소프트웨어 설치가 시작됩니다. 잠시 기다리면 완료될 것입니다.

 

8. 이클립스는 ADT를 재시작할 것을 요청합니다. Software Updates 창에서 Yes를 클릭해 주세요.

 

 

참고 사이트

http://www.sjava.net/322

 


Posted by 세모아
,

re: java static과 private차이

iq_up
답변채택률77.8%
2013.05.27 22:08
답변 추천하기

static과 private차이를 물으셨는데.

우선 static과 static이 아닌 것의 차이를 설명드리겠습니다.

 

1. static이 붙고 안붙은 변수의 차이:

 

    public class Human{

       pulbic static long population;/*인구수 static이 붙었습니다.*/

       public int age;/*나이  static이 붙었습니다.*/

   }

 

   이런 클래스를 만들었습니다.

   인간의 인구수는 변수가 한개만으로 충분하겠지요? 그래서 static을 붙였습니다.

   그리고 나이라는 변수는 사람마다 나이가 틀리겠죠? 그래서 static을 붙였습니다.

 

   사용할 때는 아래와 같습니다.

  

  1.1 static인 변수에 값을 대입하기

   Human.population = 7000000000L;

       static이므로 new해서 인스턴스를 만들지 않고 direct Access해서 값을 대입하여 사용합니다.

       (long형자료형인 경우 숫자뒤에 L을 붙여야 하는거는 아시죠?)

 

  1.2 static이 아닌 변수에 값을 대입하기

 

   Human aMan = new Human();// 1.먼저 생성한 후

   aMan.age=26; // 2.대입합니다.

 

   Human aMan2 = new Human();// 1.먼저 생성한 후

   aMan2.age=27;// 2.대입합니다.

 

  System.out.println("두명의 나이를 더하면?"+ (aMan.age+aMan2.age));

 

      static이 아니므로 new로 인스턴스를 생성하여 해당인스턴스변수에 값을 대입합니다.

 

   변수에 static이 붙은 변수를 "클래스변수" 혹은 "스태틱변수"라고 하고 static이 안붙은 변수를

   "인스턴스변수"라고 합니다. (class와 instance 의 차이는 아시죠? class는 자료형의 템플릿(거푸집)이고 instance는 자료형의 실체 잖아요?)

 

   결론: static이 붙고 안붙는 변수의 차이는 아래 표로 정리를 해보았습니다.

  

   static 키워드가 붙은 변수는 전역(global)으로 값이 사용됩니다.

   static이 붙는 변수  static이 붙는 변수
 전역여부

전역변수

X

전역이 아님, 인스턴스변수

 직접대입가능

 O

Human.population 처럼

다이렉트 Access가 가능합니다.

 X

Human aMan = new Human();

aMan.age=10;

static이 안붙는 변수를 사용하기 위해 반드시 new를 사용하여 클래스의 인스턴스를 먼저 만들어야지만 사용이 가능합니다.

 

 private,public과의 관계

 관계는 없지만

주로 public이 사용됨.

public static int a;

이런식으로 주로 public이 static앞에 붙습니다.

왜냐하면 static변수는 주로 전역으로 사용되기 때문이죠.

 - 굳이 private사용하기 사례

 private static int m_age;

 public static int getAge()

{

   return m_age;

}

public static int setAge(int v)

{

   m_age = v;

}

 m_age변수는 private를 사용하여 감추고

 getAge나 setAge는 public을 사용하여 외부에 노출하였습니다.

 - 관계없음.

 

 

 머라고 부르나?  클래스변수

 인스턴스변수=속성=멤버변수

 

cf. 그럼 지역변수(로컬변수)는 먼가?

{}[단위블럭]안에서 생명주기를 가지는 변수를 지역변수라고 합니다.

static Method의 {}안에서 선언된 변수변수는 별개의 thread에 의해 동시에 진입되더라도 독립된 메모리영역에서 생성되어진 값으로 사용됩니다. 즉

static Methoid의 {}안의 선언된 변수와

static 아 아닌 Method의{} 안의 선언된 변수는 똑같이 local variable입니다.

 

 메모리공간

 1개

 해당자료형의크기만큼자리

잡힙니다.

 n개

 - new로 생성된 수만큼 확보

 - 선언된시점의 {}[중괄호블럭]안에서 유효하며 {}바깥에서는 메모리에서 적절히 소멸됨.

 



 

   2. static이 붙고 안붙은 method사례:

    

 아래 class참고

      

public class Human{

    pulbic static long population;/*인구수 static이 붙었습니다.*/

    public int age;/*나이 static이 안붙었습니다.*/

    

    static

   {

       population = 7000000000L;//static블럭안에서 static변수의 값을 초기화 할 수도 있습니다.

   }

 

    public static void addPopulation(long val)

    {

         population += val;

         //age = 3;//<-- static Method안에서 인스턴스변수의 값을 access 하는 것은 불가능합니다.

         //System.out.println(this.hashCode());//<--static Method안에서 this를 access할 수 없습니다.

        // this가 클래스의 인스턴스기 때문이죠.

    }

 

    public void setAge(int val)

   {

      age = val;

      //System.out.println("인류인구:"+Human.population);//static변수는 전역이므로 어디서는 사용가능합니다.

   }

 

}

  

   위와 같은 클래스를 만들어보았습니다.

   2.1  static 키워드가 붙은 함수를 static method[스태틱 메쏘드]라고 합니다.

          static메쏘드는 업무로직이 구현된 함수이며,

          new를 하지 않고 편리하게 사용이 가능합니다.

          - 인스턴스변수를 static함수 내부에 사용할 수 없습니다.

          예) int a = Integer.parseInt("3");//<--- parseInt는 static 메소드이므로 new 없이 사용가능합니다.

    2.2 static 키워드가 안붙은 함수는 instance함수라고 하는데

          get이 붙은 함수는 getter[겟터], set이 앞에 붙은 함수는 setter[셋터]라고 합니다. 

          위의 예시에서 setAge는 age라고 하는 인스턴스의 속성의 값에

          특정한 값을 셋팅하는 setter 입니다.

          - new를 한 후 사용할 수 있습니다.

          - 인스턴스변수를 매개변수로 전달하지 않고 사용할 수 있습니다.

              this.인스턴스변수명 으로 함수내부에서 사용이 가능합니다. this.은 생략 가능합니다.

 

3. 관련 디자인패턴:

    singleton:

    만약 인스턴스를 static방법으로 Access하고자하는 경우

    싱글톤디자인패턴으로 개발하면 되겠습니다.

    싱글톤디자인 패턴은 위에서 설명한 메모리공간에 static은 1개만 들어가는 특징이 있는데

    인스턴스도 1개만 만들어서 static변수에 대입하여 사용하는 디자인 패턴입니다.

 

4. 개발시 유의사항: static변수를 다루는데 있어서 쓰레드 구현시 유의사항이 있습니다.

    앞에서 static변수는 전역변수라고 설명드렸습니다.

    또한 static변수로 선언된 변수는 전역자원(global resource, global data)에 해당됩니다.

    물리적으로 하나의 메모리 공간에 있는 데이터를 처리할 때

    유의해할 것은 동시성 제어를 해야 할 때입니다.

    즉 동시에 한개의 자원(혹은 데이터)을 가져와서

    n개의 쓰레드가 동시에 해당 변수에 접근하였을 때

    값을 읽어와서 쓰려고 하는 과정에서 문제가 생길 수 있습니다.

    전역자원은 배열의 형태일수도 있는데 for문을 돌리는 있는 중간에 다른 쓰레드에 의해서

    배열의 크기가 바뀌거나 할 수 있습니다. 그러면 오류가 생기게 됩니다.

    access오류라든지(가령 ConcurrentModificationException)

    연산오류(정합성체크를 못하는 연산오류) 

    그렇기 때문에 전역자원을 멀티쓰레드(쓰레드는 static자원이 아닙니다.)가 다룰때

    synchronize를 해줘야 하는 경우가 있습니다. 하나의 thread에 의해서만 해당 자원이 다루어

   져야 한다면 synchronize(해당자원){구현...} 이렇게 하면 다음쓰레드는 해당 코드에 동시에

   진입하지 않고 먼저실행된 threa의 {}블럭이 끝날때 까지 기다렸다가 다음쓰레드가 실행되겠습니다.

 

static에 대해 제가 알고 있는 전부라고 해도 과언이 아닙니다.

도움이 되시길 바랍니다.

코드샘플은 제가 이해하시기 좋을 것같은 예로 제가 직접작성하였지만 실제로 돌려보지는 않았습니다.

 


Posted by 세모아
,

Eclipse에서
File - Others - JUnit Test Suite 선택하면, 아래 창 나옴.

여기서 해당 Package를 browse 하고 원하는 class를 선택하면 자동으로 묶어서 파일이 생성됨.

이 파일을 Run As - JUnit Test 돌리면 됨.

(JUnit 버전: v4.8.2)



참고: 수동으로 class 추가하는 방법

http://koronya.tistory.com/63

'Programming > Java' 카테고리의 다른 글

java static과 private차이  (0) 2013.07.05
Eclipse 사용법 (My)  (0) 2013.06.26
for loop to iterate over enum in Java  (0) 2013.06.25
Posted by 세모아
,

* 1개의 파일에서 수정후, 프로젝트내 다른 파일에서 문제를 일으키는지 확인하는 방법

  : Problems 창에서 보면 됨 (메뉴위치: Window Show View Problems)

 : 아래 그림 참고


* 참고:

   - error 등이 이상해서 project rebuild 하는 법 : Project -> Clean...

   - 자동빌드 활성화하기 : Project -> Build Automatically 가 체크.

Posted by 세모아
,
for (Direction dir : Direction.values()) { // do what you want
  if ( dir != AAA ) {
...
}
}

cf. 배열을 for 루프에서 처리하기 :

Object[] obj 로 정의
for (Object o : obj) {
// o 를 처리
}


'Programming > Java' 카테고리의 다른 글

Eclipse 사용법 (My)  (0) 2013.06.26
[펌] [JAVA] JAVA 요약 (헛갈리는 것 중심으로) 1  (0) 2013.05.06
나의 eclipse 설정 (key 포함)  (0) 2013.04.08
Posted by 세모아
,

출처: http://notpeelbean.tistory.com/entry/JAVA-자바-프로그래밍시-자꾸-헛갈리는-것들-1


자바에서의 변수
자바의 변수는 8가지 기본형 변수(boolean, char, byte, short,int long, float, double)를 제외한 모든 변수는 참조형 변수이다.
(new를 이용하여 인스터스화를 해야하는 모든 변수들)

그렇기에 이런 인스턴스들 간의 대입연산(=)은 모두 Call by Reference 형태로 연산이 된다.
즉, 객체가 가진 값이 대입되는 것이 아닌 그 주소가 대입되는 것.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ArrayList<String> a1 = new ArrayList<String>();
         
a1.add("abcdef");
         
         
ArrayList<String> a2 = new ArrayList<String>();
a2 = a1; //Call by Reference
//a2 = (ArrayList<String>) a1.clone();  //Call by Value
         
a2.clear();
a2.add("ghijk");
         
System.out.println(a1.get(0));
System.out.println(a2.get(0));
<

그렇기에 위의 코드의 결과는 
ghijk
ghijk
가 나온다. 값이 아니라 주소가 넘어갔기에 나타나는 현상.
이를 값만 전달하려면 기본적으로 지원하는 clone 메소드를 이용하면 된다.
 



객체와 인스턴스.
자바에서는 클래스로부터 객체를 만드는것을 인스턴스화(instantiate) 라 하며 객체를 (instance)라고 한다.
또한 인스턴스는 직접 다룰 수 있는것이 아니라 참조변수를 통해서만 다룰 수 있다.
 
ex>
TV t = new TV();

TV는 클래스. t는 참조 변수이다. new TV() 로 인스턴스가 생성되고, 생선된 인스턴스의 주소가 참조변수 t에 대입된다. 
또한 하나의 참조변수는 하나의 인스턴스의 주소만을 저장 할 수 있다. 
별 것 아니지만 굉장히 중요한 개념(특히 내가) 



클래스변수, 인스턴스변수, 지역변수

변수의 종류

선언위치

생성시기

클래스변수

클래스 영역

클래스가 메모리에 올라갈 때

인스턴스변수

인스턴스 생성시

지역변수

메서드 영역

변수 선언문 수행시


클래스변수는 멤버변수중 static이 붙은 놈.
모든 인스턴스가 공유하는 변수, 인스턴스화를 안하고도 사용가능(클래스명.변수명 ex: TV.lcd)

참조 : http://rockdrumy.tistory.com/214

참고-static method 는 같은 클래스내의 인스턴스 변수나 인스턴스 메소드를 호출하지 못한다.
이유는 인스턴스멤버가 존재하는 시점에 클래스멤버는 항상 존재하나, 클래스멤버가 존재하는 시점에 인스턴스멤버가 존재할 수도 있고 존재하지 않을 수도 있기 때문이다.
http://blog.naver.com/rio_song/130108339020

 

자바에도 참조형 매개변수(reference type)이 있다.

Call by Reference를 위한 참조형 매개변수가 있댄다.
매개변수를 쓰는 곳에 Data a 이런식으로 쓰면 된다하네..(ex : static void change(Data a))
자바에는 포인터가 없대서 없는줄 알았는데.... 이게 뭐야 몰라 무서워...



업캐스팅(Up-casting) 과 다운 캐스팅(Down-casting)

업캐스팅 : 자손타입-> 조상타입 형변화 <형변환 생략가능> 
다운캐스팅 : 조상타입->자손타입 형변화 <형변환 생략불가>
 


매개변수의 다형성

- 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손타입의 인스턴스를 넘겨줄 수 있다
class Product 가 있고 이를 상속하는 자식클래스로 tv, com, audio가 있을때.
buy(tv t), buy(com c), buy (audio a) 등으로 각각의 타입으로 매개변수를 받는 메소드가 있다면
각각의 클래스는 Product에서 상속함으로
buy(Product p)
라는 하나의 메소드로 다 받을 수 있다.

ex>
buy(Product p){
money = money - p.price;
bonusPoint = bonusPoint + p.bonusPoint;
 }


업캐스팅(up-casting)

하위 클래스형에서 상위 클래스형으로 캐스팅 되는것.(자바는 모든것이 클래스)
class a()
class b extends a()

형태의 클래스 두개가 있다면
a c = new b();
형태로 b가 a로 업캐스팅 된다.
이때 a에 존재하는 메소드만 사용이 가능한다. b에만 존재하는 메소드에는 접근이 불가능(업캐스팅 되어서 제한됨)

그러나 b에서 a의 메소드가 오버라이딩 되었다면, 오버라이딩된 b의 메소드가 호출이 된다.

ex> 
class Shape {
   public void draw(){ //내용 생략 }
}
class Circle extends Shape{
   public void draw(){ //내용 생략 }
}
위의 저런 두가지 클래스가 있다고 할때


Shape s = new Shape();
s.draw(); //Shape의 draw() 메서드 호출
Circle c = new Circle();
c.draw(); //Circle의 draw() 메서드 호출

이런 결과가 나온다.
클래스, 추상클래스, 인터페이스 모두 동일하게 업캐스팅이 가능하다.

은닉, 보호, 오류감소 등의 목적으로 업캐스팅을 사용한다.
 

다운캐스팅은 업캐스팅한 것을 다시 돌려줄때 이용.
반드시 명시적 캐스팅을 해주어야한다 (변환할형) abc 등....
그리고 잘못하면 심각한 에러가 발생하니 주의할것.


int <-> String 형변환
 
String -> int

String s = "236222";
int i = Integer.parseInt(s);

int -> String

int i = 222333;
String s= Integer.toString(i); 



문자열(String) 비교시 왜 equals를 써야 하는가?

String변수는 기본자료형 변수가 아니라 참조자료형 변수, 즉 객체이다. C로 생각하자면 포인터 변수나 마찬가지.
거기다 자바가가지는 리터럴 상수("abc" 처럼 ""안에 있는것)가 저장되는 공간의 특성 때문이다.

예를 들어 String s= "abc"; 라고 선언을 하면 "abc"가 메모리에 올라가고, s는 abc를 가르키는 주소가 저장된다.
그리고 이후에 생성되는 "abc"란 리터럴 상수는 모두 같은 주소를 갖게 된다.
s1="abc", s2="abc"하면 s1,s2 모두 같은 주소를 가르키게 된다는 것.

단 s1="abc"한후, s2= new String("abc")를 해버리면, new를 써버리면 "abc"가 올라가는 새로운 메모리가 생성된다.
s1, s2를 모두 출력하면 동일하게 "abc" 가 나오지만, 가르키는 주소가 다르므로
s1==s2는 false가 되는 것.

그렇기에 이를 제대로 비교하려면 equals 메소드를 사용해야 한다.


String  참조변수는 stack에 리터럴 상수는 haep메모리에 올라감. 이 heap메모리의 해시코드를 갖고 비교하는 equals메소드를 사용해야 원하는 결과를 얻을 수 있음.



'Programming > Java' 카테고리의 다른 글

for loop to iterate over enum in Java  (0) 2013.06.25
나의 eclipse 설정 (key 포함)  (0) 2013.04.08
[펌] Eclipse 기본 사용법  (0) 2013.04.02
Posted by 세모아
,


show line number


Java - Editor - Folding



Keys:



JDK 설치

  -> Java library의 코드 (ex. String class의 코드) 를 볼수 있다.

[ JDK를 설칭 방법 ]

1. 이클립스 상단 메뉴의 창(Window) -> 환경설정(Preferences)로 이동

2. 좌측 메뉴중에 Java -> 설치된 JRE(Insalled JREs)를 선택하면 jre7 만 존재하는 것을 확인할 수 있다.

3. 우측에 추가(ADD) -> 표준 VM(Standard VM) -> 다음(Next)

4. JRE를 추가하기 위한 창이 뜨면 디렉터리(Directory) -> 이전에 설치된 JDK 경로를 찾는다 -> 완료(Finish)

5. 설치된 JREs에 방금 추가한 JDK가 추가된 것을 확인할 수 있다. -> JDK를 선택하고 확인(OK)

6. 다시 환경설정의 설치된 JRE를 찾아 들어가면 '실행환경(Execution Environments)'를 확인 할 수 있다.

7. 실행환경을 선택 -> 리스트에서 JavaSE-1.7 선택 -> 호환 가능 JRE(Compatible JREs)의 jdk1.7.0_10[완전일치] 선택 후 확인


* JDK 설치 후 화면



matching brackets 색상을 적색으로 변경
Window >> Preferences  >> Java >> Editor. Select Highlight matching brackets. Optionally, you may select Matching brackets highlight from the Appearance color options and click on Color to choose a highlight color. It recommended that you change the color because the default (gray) is difficult to see. Click Apply then OK.


Text file encoding을 MS949에서 UTF-8로 변경 -> 설정안함

(다른 프로젝트에서 *.java 파일 복사시 한글 깨짐 방지 목적 <- 점검중 -> 잘 안됨)


Java font : Consolas 10 으로 설정.


Posted by 세모아
,

출처: http://101mong.tistory.com/2


사용자 삽입 이미지
◎에디터 기본 인터페이스
마커바는 에디터의 맨 왼쪽에 위치하며 여기에 컴파일 에러, 경고, 북마크, 태스크, 오버라이드된 메서드 등에 대한 아이콘이 표시된다.(브레이크 포인트도 포함)

마커바의 오른쪽에 Quick diff ruler가 있어 가장 최근의 저장상태와 다른부분을 표시해 준다.
파일을 저장하기 전에 수정한 부분을 확인하는데 사용할 수 있다.

Quick diff ruler 바로 옆에는 코드를 펼치고 접을 수 있는 아이콘을 표시하는 바가 있다.(+.-)

오른쪽 스크롤바옆에는 Overview ruler가 있는데, 컴파일 에러, 경고, 북마크, 태스크 등의 위치를 나타내 준다. 빨간색은 컴파일 에러, 노란색은 경고, 초록색은 북마크, 파란색은 태스크를 나타낸다.
툴바에서 Next Annotation, Previous Annotation 버튼을 이용하여 에러, 경고, 북마크, 태스크등을 네비게이션할 수 있다.

◎코드 어시스트
에디터에서 코드를 입력하다가 Ctrl + Space 를 입력하면 현재 컨텍스트에서 입력하던 내용을 완정하는데 필요한 코드(메서드, 코드 템플릿등)가 팝업에 표시되며, 파라미터 리스트가 툴팁으로 표시된다.
템플릿에 관한 설정은 Preference>java>Editor>Templates에서 확인할 수 있다.

◎Quick fix
마커바에 표시된 에러 아이콘중 빨간색x 옆에 전구 모양의 아이콘은 Quick fix 기능을 사용할 수 있음을 알려준다. 에러가 발생한 부분에서 Ctrl + 1 을 누르면 해당 에러를 처리할 수 있는 몇가지 방법을 제안한다.

◎Quick Type Hierarchy
에 디터에서 메서드나 타입, 패키지를 선택하고 Ctrl + T 를 누르면 Quick Type Hierarchy뷰가 나타난다. 타입을 선택한 경우 해당 타입에 대한 상속 구조가 표시되고, 메서드를 선택한 경우 메서드를 구현한 타입의 상속구조가 표시된다. 팝업뷰가 표시된 상태에서 Ctrl + T 를 누르면 수퍼타입/서브타입 구조가 토글된다.

◎Quick Outline
에디터에서 Ctrl + O를 누르면 Quick Outline뷰가 팝업 형태로 표시된다.
기본적으로 Outline뷰와 같지만, 검색필드가 있어 해당 요소만 보이게 할수 있고, 선택하면 해당 요소로 이동도 가능하다. ( 되돌아가기 Alt + 왼쪽 방향키 )

◎소스 코드 네비게이션
소스 코드를 살펴보다가 사용되는 메서드나 필드, 클래스의 정의를 보고자 할때, 커서를 해당 요소에 위치시키고 F3을 누르면 해당 요소에 대한 정의부분으로 이동한다.
또한 Ctrl키를 누른 상태에서 해당 요소를 클릭해도 정의 부분으로 이동한다.
( 되돌아가기 Alt + 왼쪽 방향키 )
특정 행으로 이동시 Ctrl + L 입력후 이동하고자 하는 행을 입력한다.

◎Mark Occurrences
특정 변수나 메서드등이 나타나는 부분을 한꺼번에 보고 싶을때, 해당 요소에 커서를 위치 시킨 후 Mark Occurrences 버튼을 누른다. 지역변수, 상수, 필드, 메서드, 클래스에 모두 적용할 수 있다.

◎작업 모음
복잡한 프로젝트에서 현재 실제적으로 필요한 소스만 볼수 있게 해주는 기능이다.
Package Explorer의 드랍다운 메뉴에서 Select Working Sets를 선택하면 필요한 소스만 묶어 표시할수 있다.
작업 모듬 설정 해제 방법은 드랍다운 메뉴에서 Dselect Working Set을 선택하면된다.

참고로 특정 하위 폴더 내용만을 보고자 할때는 Go Into를 이용한다.

◎로컬 히스토리
파일을 수정후 저장하면 그 내역이 로컬 히스토리에 저장된다.
그래서 현재 파일의 상태를 이전 상태와 비교하거나, 이전 상태로 복구가 가능하다.
컨텍스트 메뉴에서
-Compare With>Local History : 현재상태의 파일과 이전상태의 파일을 비교 한다.
-Replace With>Local History  : 현재상태의 파일을 이전상태의 파일로 복구한다.
-Restore From Local history   : 삭제한 파일을 복구한다.

◎코드 스타일
작 성된 코드의 스타일을 원하는 스타일로 바꾸어 주는 기능으로 Preference>java>Code Style>Formatter에서 자신만의 코드 스타일 프로파일을 만들 수 있다. 원하는 스타일을 만든 후, 에디터에서 Ctrl + Shift + F 또는 컨텍스트 메뉴에서 Source>format을 통해 코드 스타일을 적용시킬 수 있다. 특정부분만을 드래그해서 그 부분만 적용시킬 수도 있다.

◎에디터간 이동
에디터 간 이동       : Ctrl + F6
뷰 간 전환             : Ctrl + F7
퍼스펙티브 간 이동 : Ctrl +F8
에디터 포커스이동  : F12

◎문자열 외부화
컨택스트 메뉴에서 Source>Externalize Strings

사용자 삽입 이미지
◎문자열 검색
메뉴바에서 Edit>Find/Replace 또는 Ctrl + F를 입력하면 검색 다이얼로그 팝업창이 뜬다.
간 단한 문자열 검색시는 점증적 검색( Incremental Find )을 이용하면 편리한데, Ctrl + J를 입력하면 워크벤치 아래쪽의 상태바 메시지 표시 영역에 'Incremental File'이 표시 되며 점증적 찾기 모드가 된다. 이상태에서 찾으려는 문자열을 하나씩 차례로 입력하면 해당 문자열로 커서가 이동한다. Ctrl + J 를 반복적으로 누르면 검색된 해당 문자열의 다음 위치로 커서가 이동한다. (이전 위치로 이동 Ctrl + Shift + J )
또 찾고자 하는 문자열을 선택한 후 Ctrl + K를 누르면 선택한 문자열이 있는 다음 위치로 커서가 이동한다. ( 이전 위치로 이동 Ctrl + Shift + K )
사용자 삽입 이미지

◎워크스페이스에서 검색
툴 바의 Search버튼이나 Ctrl + H 를 누르면 검색 다이얼로그가 뜨며, 이 다이얼로그는 문자열 뿐만 아니라 도움말, java 요소(타입, 메서드, 패키지, 필드등)에 대한 검색도 할 수 있게 해준다. Search For에서는 검색하고자 하는 java 요소를 설정하고, Limit to에서는 정의인지 참조인지를 설정해 준다.
검색결과는 패키지 단위로 표시되며, 툴바를 통해 Group by와 검색결과를 네비게이션 할 수 있다.
단순 문자열 검색이라도 검색 범위가 파일 하나를 넘어갈 때는 Search 다이얼로그를 이용하는 것이 편하며, File Search탭을 사용한다.
Posted by 양치는 언덕


Posted by 세모아
,