Android Studio Tabnine 사용해 보기
AI Coding
- 안드로이드 스튜디오에서 사용할 수 있는 안드로이드 코드를 AI 로 쉽게 작성할 수 있는 Plugin 에 대한 검토를 해보자
- 1. GitHub Copilot
- 2. Amazon CodeWhisperer
- 3. Tabnine
- 4. Replit
- 5. Sourcegraph Cody
- 6. AskCodi
- 7. Codiga
- 8. Bugasura
- 9. CodeWP
- 10. AI Helper Bot
- 11. Android Studio Bot
- 12. SinCode
- 13. WPCode
GitHub Copilot
- https://onlyfor-me-blog.tistory.com/721
- 개인사용자 기준으로 60일 무료이며, 신용카드 등록 및 선 구독 후 취소해야하는 시스템. 10$/달
Amazon CodeWhisperer
- https://mobikul.com/amazon-code-whisperer-android-studio/
- 개인 무료, AWS 계정 필요
- Amazon CodeWhisperer는 Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell 스크립팅, SQL, Scala 등 다양한 프로그래밍 언어를 위한 인공 지능(AI) 기반 코드 제안을 제공합니다. JetBrains IDE(IntelliJ IDEA, PyCharm, WebStorm, 및 Rider), Visual Studio(VS) Code, AWS Cloud9, AWS Lambda 콘솔, JupyterLab 및 Amazon SageMaker Studio를 포함하여 여러 IDE에서 서비스를 사용할 수 있습니다.
- CodeWhisperer는 Amazon Elastic Compute Cloud(Amazon EC2), AWS Lambda 및 Amazon Simple Storage Service(Amazon S3)를 비롯한 AWS API에 최적화된 코드 제안을 제공하여 개발자가 AWS 서비스를 더 효율적으로 사용할 수 있도록 합니다. IDE에서 코드를 작성할 때 CodeWhisperer는 코드와 주석을 자동으로 분석합니다. 원하는 기능에 대해 관련 클라우드 서비스와 퍼블릭 소프트웨어 라이브러리를 사용하도록 제안한 다음 AWS 모범 사례를 충족하는 코드 조각을 추천합니다.
- 뭔가 AWS API 에 최적화된 코드 제공하는것으로 보여짐.
- https://developer.android.com/studio/preview/studio-bot
- Download the latest canary version of Android Studio Hedgehog.
- Studio Bot is currently free for developers to try out, and is available in the US only.
- 안드로이드 개발에 특화된 AI 코딩으로 보여진다.
- 안드로이드 스튜디오를 최신 버젼 (개발 - Canary Build) 으로 추가 설치해야 하고, US 에서만 오직 사용가능하다는 문구 때문에 시도해보지 않음.
- https://www.tabnine.com/install/android-studio
- 개인 무료 tabnine 계정 가입해야 함. pro version 사용하기 위해서 12$/달
설치
0. Android Studio 설치 및 환경세팅
1. https://app.tabnine.com/signup 계정 회원 가입
2. File-Setting-Plugin-tabnine 검색-설치
3. 설치가 되면, Android Studio 하단에 "tabnine Stated" 가 생김
이것 저것 해볼려고 하면 계속해서 1달 결재 유도 한다.
사용
1. Symbol Search 시에 좀 느려진것 같다.
IDE 의 가장 기본인 검색 기능인데, Symbol Search Command Input 패널이 생기는데 좀 딜레이가 생겼다.
2. 파일 존재 유무 코드
파일 존재 유무를 조건문으로 걸기 위해서 file 치고 . 찍으면 Plugin 전에는 그냥 밑에 사용할수 잇는 함수 및 변수가 나타났는데, "endsWith(".zip") 이 나타남.
근데, 나는 zip 으로 끝나는 파일을 찾은적도 없고, 찾고 싶지도 않음.
file 치고 . 찍고, ex 까지 치니까, exists 를 완성해 줌. 기본 Android Studio에서는 ex가 마지막이던 처음이든 포함된 함수를 쫙 나열 해줌.
Alt+] , Alt+[ 으로 다른 추천 사항을 고를 수 있는거 같은데, 다른 단축키랑 엉켯는지, 동작은 안함.
추천해줘서 file.exists 를 했더니, 빌드 에러가 발생함.
file 변수는 String 객체이며, String 객체에서의 exists 메서드는 원래 없음.
인터넷 검색해서 File의 유무를 검색하기 위해서 isRegularFile 을 사용해야 한다고 해서 이걸로 함.
3. 파일의 날짜를 얻어서 삭제하는 코드
현재 날짜와 현재 파일의 날짜를 비교해서, 6개월 이후 이면 삭제 하는 코드인데, 파일에서 저장 날짜를 추출해오는 코드에서, 파일이름에 - 가 없는 파일이 있어서 Exception 이 발생해서 수정하고자 했는데, 현재 날짜와 파일 앞 8자리를 비교하는 코드를 알아서 작성해준다.
아래의 if (file.name.substring(0, 8) == getCurrentDate()) { 가 자동으로 나타난다. 그리고, file.name.substring(0,8) 은 문자열이 8자리 이하이면, Array Exception 이 발생하는 코드여서 좋은 코드는 아니다.
근데, 나는 현재 날짜와 파일 날짜를 동일한지 비교하고 싶지는 않다.
지우고 안썻더니, 아래 와 같은 코드를 작성해 준다.
alt+] 으로 넘겨보니, 다른 코드도 제안해 준다.
4. 주석 자동 완성
-2 값은 요청한 파일리스트가 존재 하지 않을 경우 return 하는 값이며, 이를 AIDL 주석코드에 작성하고자 한다.
-2 : File 까지만 작성하면, File is not copied 라고 자동완성해준다.
하지만 내가 원하는것은 "-2 : Filelist is not existing" 이다.
전반적인 사용 느낌
전반적으로 전체적인 코드를 분석하고, 사용자 패턴에 맞게끔 다음에 어떤 코드나 주석이 미리 올지 미리 작성해 준다.
미리 작성해 준 코드에서 ALT + ] , ALT + [ 단축키를 이용하여 AI가 추천해주는 코드를 보고 그 코드를 사용할지 선택한다.
Tabnine Chat
Beta 버젼의 Tabnine Chat 인데, 영어로 상세하게 코드를 작성해달라고 하면, 현재 코드를 분석해서 작성해주는거 같다.
아직 Beta 버젼이라, Waiting List 에 등록해야 되는 상황으로 사용해보지는 못하였다.
댓글
댓글 쓰기