Code Completion is one of the most used Integrated Development Environment (IDE) features, which affects the everyday life of a software developer. Modern code completion approaches moved from the composition of several static analysis-based contributors to pipelines that involve neural networks. This change allows the proposal of longer code suggestions while maintaining the relatively short time spent on generation itself. At JetBrains, we put a lot of effort into perfecting the code completion workflow so it can be both helpful and non-distracting for a programmer. We managed to ship the Full Line Code Completion feature to PyCharm Pro IDE and proved its usefulness in A/B testing on hundreds of real Python users. The paper describes our approach to context composing for the Transformer model that is a core of the feature’s implementation. In addition to that, we share our next steps to improve the feature and emphasize the importance of several research aspects in the area.
Attila Szatmári Szegedi Tudományegyetem, Qusay Idrees Sarhan Department of Software Engineering, University of Szeged, Péter Attila Soha Department of Software Engineering, University of Szeged, Gergő Balogh Department of Software Engineering, University of Szeged, Árpád Beszédes Department of Software Engineering, University of Szeged
Niklas Krieger Institute of Software Engineering, University of Stuttgart, Sandro Speth Institute of Software Engineering, University of Stuttgart, Steffen Becker University of Stuttgart
Tim Kräuter Western Norway University of Applied Sciences, Patrick Stünkel Western Norway University of Applied Sciences, Adrian Rutle Western Norway University of Applied Sciences, Yngve Lamo Western Norway University of Applied Sciences