개발자에게는 도움이 될 만한 코드 자동완성 플러그인을 소개하려 합니다.
TabNine이라는 deep learning기반 코드 자동완성을 구현하여 빠른 코드 작성을 가능하게 합니다.
Deep TabNine은 openAI의 GPT-2를 기반으로 개발되었습니다.


이 모델은 자연 언어로 작성된 문서를 사용하여 함수 이름, 매개 변수 및 리턴 유형을 유추하여
코드의 맥락에 따른 자동완성 결과를 보여주며 프로그래밍 효율을 기존 자동완성 플러그인 또는
내장 인텔리센스등 기존 자동완성 기능보다 편리합니다.
TabNine은 현재 BETA 서비스이며 추후 유로로 전환된다고 합니다.
딥러닝 기술이 적용된 버전으 Professional 버전부터 적용됩니다.
글 작성 기준 현재 BETA 서비스 중으로 beta기간 동안 Deep TabNine을 무료로 사용 가능합니다.

TabNine은 현재 Visual Studio, Visual Studio Code,
CodeIntelliJ Platform (IntelliJ IDEA, PyCharm, Android Studio, and others),
SublimeText, Vim, Emacs, Atom, Jupyter Notebook을 지원합니다.
저는 vscode(Visual Studio Code)를 주로 사용하기 때문에 본 포스팅에서는
vscode 환경에서의 Deep TabNine 적용 방법을 서술합니다.
vscode에 플러그인 검색에서 TabNine을 입력해서 설치하시면 됩니다.
설치 후 아래 과정을 통해 beta 등록을 해야 합니다.
Deep TabNine beta에 등록하기 위해서는 아래 링크를 통해 신청하시면 이메일을 통해
라이선스 토큰과 사용 방법이 적힌 메일을 받을 수 있습니다.
이메일이 바로 오지 않는 경우도 있습니다.
https://tabnine.com/beta_signup
Beta signup
TabNine is the all-language autocompleter. We use deep learning to help you write code faster.
tabnine.com

위 이메일에 API Key를 복사 후 vscode에서 아무 파일을 생성 후 다음과 같이 입력합니다.
TabNine::version TabNine::config
그러면 브라우저가 자동으로 열리면서 TabNine 설정하는 페이지가 나옵니다.
api key를 입력 후 Deep TabNine을 사용하려면 Deep TabNine을 활성화해야 합니다.

다음 이미지와 같이 하시면 적용이 완료된 것입니다.
TabNine을 한 1년 정도 사용하면서 마음에 드는 점은 작성하는 코드의 맥락에 맞는 코드를 자동 생성해서
반복적인 코드 작성을 편하게 할수 있었습니다.
단점으로는 Ram을 많이 쓴다는 점만 빼면 괜찮은 플러그인입니다.