Full Line Code Completion: Bringing AI to Desktop
Anton Semenkin, Vitaliy Bibaev, Yaroslav Sokolov, Kirill Krylov,, Alexey Kalina, Anna Khannanova, Danila Savenkov, Darya Rovdo, Igor Davidenko,, Kirill Karnaukhov, Maxim Vakhrushev, Mikhail Kostyukov, Mikhail Podvitskii,, Petr Surkov, Yaroslav Golubev, Nikita Povarov

TL;DR
This paper presents a fully local, syntactically correct multi-token code completion system for JetBrains IDEs, enhancing user experience by being fast, secure, and efficient on end-user devices.
Contribution
It introduces a novel offline code completion engine that operates entirely on the user's device, balancing performance, security, and resource constraints.
Findings
Increases Python code production by 1.3 times with the tool
Operates fully locally, ensuring data privacy and security
Achieved efficient time and memory usage in implementation
Abstract
In recent years, several industrial solutions for the problem of multi-token code completion appeared, each making a great advance in the area but mostly focusing on cloud-based runtime and avoiding working on the end user's device. In this work, we describe our approach for building a multi-token code completion feature for the JetBrains' IntelliJ Platform, which we call Full Line Code Completion. The feature suggests only syntactically correct code and works fully locally, i.e., data querying and the generation of suggestions happens on the end user's machine. We share important time and memory-consumption restrictions, as well as design principles that a code completion engine should satisfy. Working entirely on the end user's device, our code completion engine enriches user experience while being not only fast and compact but also secure. We share a number of useful techniques to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRobotics and Automated Systems · AI-based Problem Solving and Planning
