Important
I don't use this anymore since 2024.2. This gist should however still be fully valid, except for the missing new data.
Supported languages seem to have changed since 2024.3, but the instructions should still be mostly working.
I'll continue updating the instructions based on the comments on this gist if they change, but you should refer to them for the actual data provided by people. Don't hesitate to comment too to contribute!
IntelliJ 2024.1 introduced Full Line Code Completion, available as a bundled plugin in your IDE.
Available at Settings > Editor > General > Inline Completion, you can choose to enable them and download them.
For 2024.1, the Settings path is
Settings > Editor > General > Code CompletionunderMachine Learning-Assisted Completion
If you work on an offline machine, there is no official way to install those models. But after digging into the source code and inspecting the logs with @Kilehynn, we managed to find a way.
By default, Java and Kotlin models are already installed. "CSS-like" and "JavaScript/Typescript" are the same model internally (it's called "WS", for WebStorm), and "Go" is separate.
Python, PHP and Ruby are also available, but we don't use them so we didn't search the URLs and UUIDs for them.
To begin, close IntelliJ and head over to your IntelliJ system directory.
- Move into the
full-linedirectory, then intomodels. Here, you'll see two UUIDs, one for Java and the other for Kotlin models.models.xmlis used by the IDE as a list of installed models. - Each model is structured in the following way:
- Their folder is an UUID (like the existing models), common for every installation. See
info.mdto figure out the one for your model. - They contain 3
flcc.*files (flcc.bpe,flcc.json,flcc.model), which AFAIK tell the model how to work - They contain a
ready.flagfile, an empty file probably indicating the IDE the model is successfully downloaded - Finally, a
full-line-inference.zip_extracteddirectory, containing the executable model as well as its signature in asignfile.
- Their folder is an UUID (like the existing models), common for every installation. See
- For each model, download the
flcc.*files and themodel.xmlif it exists by downloading https://download-cdn.jetbrains.com/resources/ml/full-line/models/[Name]/[Version]-native-llama-bundle/local-model-[Name]-[Version]-native-llama-bundle.jar - and extracting the contents of the[Name]-[Version]-native-llama-bundlefolder (new in 2024.2) - like you would with a.zipfile. (Replace the values in the URL by the one in theinfo.mdtable.) - For each model, create an empty
ready.flagfile - Finally, get the models by copying the
full-line-inference.zip_extractedfolder from the Java or Kotlin model into each new model. Yes, all models are the same. If you want to download them manually yourself, you can use the URL: https://download-cdn.jetbrains.com/resources/ml/full-line/servers/[FLI_version]/[ARCH]/full-line-inference.zip (2024.1 URL required the OS: https://download-cdn.jetbrains.com/resources/ml/full-line/servers/[FLI_version]/[OS]/[ARCH]/full-line-inference.zip ; tested OS and arch in theOS_arch.mdfile) - Finally, you have to add your new model(s) to the
models.xmlfile as such:
<models version="1">
...
<model>
<version>[Version]-native-llama-bundle</version>
<size>[Size]</size>
<languages>
<language>[One of Languages per line]</language>
...
</languages>
<binary>flcc.model</binary>
<bpe>flcc.bpe</bpe>
<config>flcc.json</config>
<native>
<archive>full-line-inference.zip</archive>
<version>1.0.84</version> <!-- see second table in `info.md` -->
</native>
<changelog>[Some text]</changelog>
</model>
...
</models>An example is available in the attached models_windows_example.xml (IntelliJ doesn't seem to care about size or changelog, you can probably leave them empty/use the same for every installation)
Finally, restart IntelliJ and check the settings, installed languages should all be checked!
Disclaimer: despite all our efforts, some info might be missing or inaccurate, the overall idea should be working though


Separate CSS, JS and TS checkboxes to enable/disable them independently. Under the hood it's the same model (and if you click download we will download only one model). For Java and Kotlin we have different models (because in this case multilang model led to quality degradation).
Models are updated only with the plugin update. Sometimes we publish new beta plugin version to marketplace but most likely you will receive update with new version of IDEA. If we update the model, the Full Line plugin will delete the outdated model and try to load a new one