이클립스 워크스페이스 vs. 인텔리제이 프로젝트

이클립스(Eclipse) 개발자들이 인텔리제이(Intelli J)나 인텔리제이 기반의 안드로이드 스투디오(Android Studio)로 IDE를 옮기면서 처음에 만나는 불편함을 꼽으라면, 이클립스의 워크스페이스(workspace)가 인텔리제이에는 없다는 것일 듯 하다. 사실 인텔리제이에 이클립스의 워크스페이스에 상응하는 프로젝트라는 개념이 있지만 아래 두 가지 이유로 사람들이 눈치채기 어렵다.

  • 이클립스 워크스페이스를 인텔이제이에서 임포트할 때 워크스페이스 내의 한 프로젝트만 임포트 된다.
  • 프로젝트라는 개념이 이클립스에서는 워크스페이스 내의 소속되는 하위 개념인데 반해, 인텔리제이에서는 최상위 개념으로 그 하위에 하나 이상의 모듈을 포함할 수 있어 용어에서 혼란을 느낀다.

결론부터 말하면, 인텔리제이(나 안드로이드 스투디오)에서 이클립스의 워크스페이스(와 같은 구조)를 사용하고자 한다면 이클립스의 워크스페이스를 File > Import Project를 통해 바로 열면 된다.  위자드에서 몇가지 설정을 묻지만 Next만 눌러도 실행할 수 있도록 워크스페이스를 가져온다. 물론 File > Project Structure를 통해 살펴보면 중복된 라이브러리나 필요없는 설정 등이 있지만 실행에 문제는 없다.

또한 프로젝트 구조를 살펴봐도 아래처럼 이클립스 워크스페이스와 안드로이드 스투디오의 프로젝트 구조가 같다.

eclipse_workspace
workspace structure in Eclipse
intellij_project
project structure in Intelli J

위와 같은 구조를 잡은 후에는 이클립스의 워크스페이스 + 프로젝트과 동일하다고 생각하면 된다. 아래와 같이 모듈(이클립스의 프로젝트)별로 안드로이드 SDK나 keystore등을 지정할 수 있다.

project_structure
Project Structures in Android Studio

또한 Run/Debug configurations 창을 통해 모듈마다 실행 방법을 지정할 수도 있다.

run_configurations
Run/Debug Configurations in Android Studio

그 밖에

마지막으로, 인텔리제이와 이클립스에서 사용되는 용어는 인텔이제이의 마이그레이션 FAQ에 표로 설명되어 있는데, 이를 옮기면 아래와 같다.

Eclipse IDEA
Workspace Project
Project Module
Project-specific JRE Module JDK
User library Global library
Classpath variable Path variable
Project dependency Module dependency
Library Module library

 

참고

  • 마이그레이션 FAQ : https://www.jetbrains.com/idea/documentation/migration_faq.html
  • 이클립스 워크스페이스 임포트하기 : https://www.jetbrains.com/idea/webhelp/import-eclipse-workspace.html