개발노트

아톰 에디터 설치 & 개발환경 구축

메시에 2019. 2. 6. 18:04


한동안 프로그래밍을 할 일이 많지 않아서 개발 환경에도 신경을 쓰지 않았다.


그나마 과외랑 실험용으로 파이썬 한다고 Sublime Text를 잠깐 썼었는데, 불편한 점도 꽤 있고 

(Input이 필요한 경우에 새 창이 열리면서 실행되는 거라던지, 새 스크립트를 만들 때 다른 이름으로 저장을 해서 확장자를 써줘야 인식을 한다던지... 뭐 해결하는 방법이 있는데 몰랐던 걸지두) 


요즘 아톰을 많이 쓰는 추세인 것 같아서 아톰으로 갈아타보기로 했다.


- 아톰 설치


https://atom.io/


- 컴파일 환경 구축


서브라임 텍스트도 마찬가지지만 아톰은 기본적으로 텍스트 에디터이기 때문에 프로그래밍 언어를 컴파일하는 기능이 기본적으로 내장되어있지 않다. 대신 이를 지원하도록 만들어주는 패키지들이 존재한다.



> Python, Java


'script' 패키지를 설치하면 사용 가능. 다양한 언어를 지원하는 패키지다.

환경 변수만 등록해주면 (파이썬 설치 경로, JDK 설치 경로) Ctrl + Shift + B 누르면 알아서 실행한다.


파이썬은 문제없이 잘 실행됐지만 자바는 에러 메시지가 떴다.


java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0


예전에 깔아뒀던 JDK랑 JRE 버전이 안 맞아서 발생하는 에러라고 한다. 지우고 (환경 변수까지), JDK를 최신 버전으로 새로 깔아서 해결했다.

(최신 버전인 JDK 11부터는 JDK랑 JRE를 따로 설치할 필요가 없게 됐다)



> C/C++


위의 script 패키지가 윈도우에서 C, C++ 컴파일을 지원하지 않으므로 별도로 설치.


'gpp-compiler' 패키지로 가능하다.

MinGW 설치 및 환경 변수 등록이 필요하다. MinGW는 리눅스의 gcc 컴파일러를 윈도우용으로 만든 것이다.


https://osdn.net/projects/mingw/releases/



위 사이트에서 받는건 인스톨 매니저고, 인스톨 매니저를 이용해서 구성 요소들을 설치하게 되어있다.

환경 변수에 등록해줘야 하는 경로는 


C:\MinGW\bin


이다.



- 추가 패키지 설치 및 테마 설정


검색을 하다보니 아톰을 깔면 제일 먼저 같이 설치한다는 패키지로 atom-beautify라는 것이 있다고 한다.

코드를 자동 정렬해주는 기능이 있는 패키지다.


설치하고 Ctrl + Alt + B를 누르면 그 언어에 맞게 코드를 자동 정렬해준다... 고 하는데,


Could not find 'autopep8'. The program may not be installed.


에러가 떠서 뭔가 봤더니 사실 이 패키지 자체가 모든 언어에 대한 정렬 기능을 내장하고 있는게 아니라, 각 언어별로 정렬해주는 여러 라이브러리들의 묶음 같은 거였다.


기본적으로 내장되어 있는 것도 있지만 (아무래두 웹 개발자가 주 타겟인 것 같다...) 그렇지 않은 언어의 경우 따로 설치하고 경로를 입력해 줘야 한다.


Python: autopep8 (pip install autopep8로 설치)

C, Java: Uncrustify (http://uncrustify.sourceforge.net/)


각각 설치한 다음 실행파일이 있는 경로를 환경 변수에 넣어주면 된다.



요즘 많이 쓰는 텍스트 에디터답게 다양한 테마를 다운로드받아서 사용할 수 있다.

seti-ui라는 테마를 다운로드받아서 적용시켜 보았다.


이렇게 제일 많이 쓸 세 언어에 대한 기본적인 개발 환경 설정을 마쳤다. 안드로이드야 안드로이드 스튜디오 쓸거니까 뭐...

겨우 환경 세팅하는데 이렇게 오래 걸리는걸 보니 개발 너무 안한 티가 팍팍 난다. 앞으로 어떡하지? ㅜㅜ