[Kson] IntellJ 플러그인 - .json to .java
·
Projects/plugin
개발 동기 학교 전공수업 모바일 앱 프로그래밍실습을 들으며 Gson 라이브러리에대해 알게되었다.Gson이란, 구글에서만든 Java, Kotlin 용 Json 파서로, Json 문자열을 class로 파싱해 인스턴스를 생성해주는 라이브러리이다. Gson 라이브러리를 사용하던 중, json 객체가 복잡하게 nested되거나, JsonArray가 혼합되는등,  복잡한 유형의  json파일은 클래스로 만들기 굉장히 까다로웠다. 내가 미리 일일히 클래스를 생성해주어야 하기때문에,조금만 실수하면 파싱이 안되고, 또 어디서 실수가발생했는지도 찾기 굉장히 까다로웠다. 문득 든생각으로, json파일만가지고 클래스(.java)를 자동으로 생성해주는 라이브러리를 만들고싶어졌다. 그 라이브러리를 만들고, Gson()과 같이 사..
[namer - 2] IntellJ 플러그인 개발일지 - 간단한 class명 체크하기
·
Projects/plugin
JAVA의 naming convention중 class이름의 첫글자는 대문자 여야한다.이것을 체크해 첫글자가 소문자면 에러를 발생시키는 간단한 플러그인을 만들고 테스트해보는 과정을 진행해보았다. 소스코드 >> TestInspection.java package com.goodong.namer;import com.intellij.codeInspection.ProblemHighlightType;import com.intellij.codeInspection.ProblemsHolder;import com.intellij.psi.*;public class MyPsiVisitor extends JavaElementVisitor { private final ProblemsHolder holder; publi..
[namer - 1] IntellJ 플러그인 개발일지 - PSI(Program Structure Interface)를 이용한 코드 검사 플러그인 개발
·
Projects/plugin
개발 동기  여러명이 함께 작업하는 프로젝트에서, 코드가 길어질수록 나중에 다른 사람이 짠 변수, 함수가 무슨 기능을 하는지 이름만보고 알아보기가 너무힘들었다. (심지어 나 혼자 개발할때에도, 함수명만보고 이게 뭐였지? 무슨 기능을 했지? 이런 생각을 계속 할정도로 힘들었다. 그리고 함수를 만들때마다 이름짓는데에 시간이 꽤 많이 걸렸다) 더 나은 코드 가독성 및 통일된 코딩 스타일이 필요했음. ⇒ 코딩 컨벤션 준수하는쪽으로 맞춰진다면 좋겠다고 생각을했다.  제일 큰 문제는 일단 코드를 너나 할것없이 제멋대로 짜놓고, 나중에 이름을 리팩토링하는데 시간이 엄청많이 걸렸었다.왜 그래야하지?미리 규칙을 정해두고 시작하면 좋겠다는 생각에 이러한 플러그인을 만들게되었다. 비슷한 플러그인에는 prettier라는 플..