Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

.NET Tools

Try Full Line Code Completion in JetBrains Rider 2024.1.4

We recently released the 2024.1 version of all our IDE products, including the dotUltimate family of products: ReSharper, Rider, dotMemory, dotTrace, dotCover, and dotPeek. Full Line Code Completion (FLCC), a local and fast AI model fine-tuned for product-specific programming languages, is one feature you may have heard of in this release. FLCC was released with support for many other languages, but we still feel there’s more work to be done regarding the .NET ecosystem, and that’s where your expertise and feedback are crucial. 

Download

JetBrains Rider 2024.1.4

In this post, we’d like to introduce you to FLCC, explain what it is and what it isn’t, and invite you to join our group of early adopters to try it out and provide feedback because you, as valued community members, complete us. Let’s get into it.

What is Full Line Code Completion?

Full Line Code Completion is an IntelliJ-platform plugin designed to predict the following line of code in the current scope. Predictions use a fine-tuned model for each language to suggest syntactically correct lines. Syntactic accuracy means there’s no chance that FLCC will suggest anything that will be a compilation error in the current scope of your code. Focusing on correctness means more valuable suggestions and less noise in the editor, keeping you in the coding flow.

In addition to correctness, FLCC is entirely local, which means all suggestions are processed and presented in the privacy of your development environment. Local also enables offline scenarios for those famous coding sessions on trains, planes, and automobiles. The locality of the models also means suggestions are “blink and you’ll miss it” fast. FLCC speed is another way we help you stay in the flow.

Finally, the best part of FLCC is that it’s included at no additional cost to current JetBrains IDE subscription holders. Yes, that’s right; it’s part of the core JetBrains IDE experience. 

Check out our YouTube announcement for a visual summary of FLCC. Developer advocate Paul Everitt explains FLCC in his usual charming way.

I’d also recommend reading the IntelliJ Full Line Code Completion announcement, as it provides further details for those more curious about the plugin’s inner workings.
This sounds great, but what about the JetBrains Rider user community? When do we get access to FLCC? Well… right now!

Trying out Full Line Code Completion

With the 2024.1.4 release of JetBrains Rider, the plugin can be found under the Staff Picks category of the Plugins section or by searching for “Full Line Completion” in the marketplace tab. Install the plugin as you would any other plugin from our JetBrains Marketplace.

JetBrains Marketplace tab in Plugins

You can verify that the plugin is available and enabled by navigating to “Settings | Editor” and finding the “Code Completion” section.

In this section, you’ll see a “Machine Learning-Assisted Completion” group, where you can pre-emptively download the models for each supported language in JetBrains Rider: C#, CSS-like, and JavaScript/TypeScript. Before F# folks ask, we are also researching F# support. C++ support for game developers is also coming soon.

Machine Learning-Assisted Completion in settings

You can choose which FLCC suggestions are available or disable the feature by checking the appropriate box. For folks on a strict bandwidth budget, you can also change the Download Models setting to ask before downloading any model. Downloading the models you use in your everyday workflow is a breeze. Considering they’re only 100 MB, you can download one or all. Remember, they’re fine-tuned, so they’re small and efficient.

Examples of Full Line Code Completion

FLCC works based on the current file and the position of your current cursor, attempting to predict the following line. You don’t have to do anything differently regarding your current workflow and developer habits other than look for suggestions and pick the ones that work best for you.

As a usability hint, the more code in the file, the more suggestions will meet your expectations. Here’s an example in a unit testing suite. Each new Assert is predicted by using similarly-scoped tests.

Assert statement full line code completed by JetBrains Rider

FLCC can use existing patterns in your code to predict what you will do next. The context supercharges FLCC’s predictive powers, especially in opinionated codebases. A framework like ASP.NET Core MVC follows a predictable pattern and is an excellent place for predictive models to help you get to solutions faster.

Another example of full line code completion in ASP.NET MVC

As you may have noticed in the previous screenshot, the code completion key is fully customizable to your needs. Hover over the completion and select which key combination you want to use when picking a suggestion. Options include Tab, Right, Enter, Shift + Right, or a custom key combination of your choice.

Showing the full line code completion bar with optional Inline completion shortcut options

Where You Can Help

As we mentioned at the beginning of this post, these models continue to undergo fine-tuning to serve our ultimate goal: providing JetBrains Rider users with the best experience possible. Your feedback is not just important; it’s crucial. While these models can feel like magic, they ultimately work on your feedback and insights. You can download newer iterations as these models improve, boosting your productivity.

Download

JetBrains Rider 2024.1.4

The next step for the adventurous and curious is to download the latest version of JetBrains Rider along with the relevant models and try it for yourself. While doing so, tell us what you like and what we could do better. In the section below, let us know if you have any questions or comments.

image description