Kite IntelliJ plugin

Related tags

IDE intellij-plugin
Overview

Handbook

Supported platforms

The Kite plugin supports the following environments:

  • PyCharm Community
  • PyCharm Professional
  • IntelliJ Community with the Python plugin
  • IntelliJ Ultimate with the Python plugin

All versions of these IDEs which are equal to or later than 2021.1 are supported:

  • 2021.3
  • 2021.2
  • 2021.1

Supported languages

The plugin’s features are only available in file types supported by the Kite engine:

  • Python. Support is only available with PyCharm or if the official Python plugin is enabled.

Startup

When you start your IDE for the first time after the Kite plugin was installed you will see a notification message.

Notification at startup

Click on Don't show this at startup to disable the message when your IDE starts.

Statusbar

This is the Kite icon in the lower right corner which displays the current status of the Kite integration.

States:

  • Blue (or white in Darcula mode) -- The Kite Engine is available and functioning properly.
  • Gray -- The Kite Engine is unavailable because there’s either no file opened or the current file is unsupported.
  • Red -- The Kite Engine is unavailable or there was an error during the last interaction with the engine.

Click on the icon to see more details about the current status of the Kite Engine and details about your Kite account.

Status panel showing Status panel showing that Kite is unavailable

Working with files

The Kite plugin changes several features of your IDE. The changes are only applied in file types supported by Kite (currently Python only). If you’re working in a Python file then you will see the modified user interface. If you’re working in HTML files, for example, you will continue to see the traditional user interface of PyCharm/IntelliJ.

Code completion

The plugin offers Kite’s code completions in the editor. Kite’s completions are inserted at the beginning of the list of completions; completions which were returned by PyCharm/IntelliJ will be listed after Kite’s suggestions. Duplicate items are removed. Kite’s code completion items have a little kite icon in front of it to indicate the source.

Code completion of json.dumps()

If code completion is requested while Kite is not running, PyCharm’s/IntelliJ’s items will be displayed together with a little note below that Kite’s are currently not available.

Documentation for autocompletion items

The quick documentation feature is available for Kite’s code completions. To show it, select an item in the code completion menu and then invoke View -> Quick Documentation. Alternatively you can use the keyboard shortcut which is shown next to the Quick Documentation menu item.

Code completion of json.dumps() with documentation

Limitations

The Kite plugin returns the same completions for basic and smart-type completions.

At this time the autocompletion is available only while you’re editing a file, i.e. at the place you’re typing. If you call the code completion later on at another location without editing the file then Kite does not return the expected completions at all times. We’re working on full support of this feature.

Quick documentation

The quick documentation is enhanced by the plugin in files supported by Kite. Choose View -> Quick Documentation to open the documentation popup. This feature uses the standard key binding of your IDE, in most cases this is Ctrl + Q (or Cmd + J on Mac OS X).

Use the arrow keys or your mouse to scroll in the content. You can close the popup by pressing Esc.

Quick documentation popup

If the quick documentation is requested while Kite is not running then PyCharm’s/IntelliJ’s original documentation popup will be displayed.

Documentation on mouse move

If you enabled the setting Settings -> Editor -> General -> Show quick documentation on mouse move, then the popup will show Kite docs. The Kite plugin uses the configured delay of this setting to show the popup after the mouse was moved. IntelliJ’s original popup will not be shown in supported files.

Popup after mouse move

Limitations

If the mouse over popup is requested while Kite is not running then a balloon notification will be displayed instead. The original quick doc isn’t shown.

Parameter info

The Kite plugin enhances the parameter information of your IDE.

If you place the text cursor into a method call and call View -> Parameter Info in a file supported by Kite then an extended popup will be shown. It uses the standard key binding of your IDE, in most cases this is Ctrl + P (or Cmd + P on Mac OS X).

Param info of json.dumps()

The currently active parameter is highlighted as bold.

Press Tab to highlight the next parameter in the panel. Use Shift + Tab to highlight the previous parameter. If you edit the file or move the text cursor then the currently highlighted parameter will be updated.

The links in the panel are clickable. Click on the links to see the details of the linked element.

If parameter information is requested while Kite is not running then the original parameter information popup will be displayed instead.

Whitelisting

The Kite engine’s features are only available in whitelisted directories. If you edit a file which is not whitelisted then a notification will appear offering to whitelist a directory that contains the file.

To learn more about Whitelisting and privacy check out: http://help.kite.com/article/7-what-files-does-kite-upload-to-their-servers.

Whitelisting message for a file not yet whitelisted

  • Whitelist /: Click this to whitelist the suggested path on your machine. After a short while code completion and the the other Kite features are going to be available.
  • Browse: Use this to specify a custom directory which should be whitelisted instead of the suggested path.
  • Settings: Opens Kite’s permission settings in your browser.
  • Ignore: Kite will no longer prompt you to whitelist this file in your current working session.

To view and edit your whitelisting settings:

  • Click on the Kite icon in the statusbar and then on Settings to open Kite’s settings in your browser. Open the tab Permissions... to edit your whitelisting settings.
  • Visit kite://settings/permissions

Settings

The Kite plugin offers several settings to customize it. The settings are configured for the application, they apply in all your projects.

Open File -> Settings... -> Languages & Frameworks -> Kite to see the configuration options.

Kite plugin settings dialog

Kite allows to set your preferred font sizes for displayed text in the quick documentation panel and the parameter information panel. Because the plugin uses a different rendering engine than the other parts of IntelliJ there might be differences in the size of the rendered text. If no custom font size is configured then Kite applies the font sizes which are used by IntelliJ.

The font settings only apply in file types which are supported by Kite, other file types are not modified in any way.

The font family is not yet configurable. We use suitable values for the different operating systems we support.

  • Quick documentation
    • Custom font size: Set this value to set the font-size of the quick documentation display used by Kite.
  • Parameter Info
    • Custom delay for automatic popup: IntelliJ/PyCharm has a setting to automatically popup the parameter information after a user typed ( or , in a method invocation. The Kite plugin allows you to override the delay of this popup. If the delay is not specified then the value configured in your IDE’s settings will be used instead.
    • Custom font size: This settings allows you to override the font-size of the text displayed in the parameter information panel.
  • Mouse over popup
    • Custom popup delay on mouse move: IntelliJ/PyCharm has a setting to automatically show brief information about an element in your editor if you hover your mouse pointer over it. The setting is not enabled in the default configuration. If you enable it then you’re able to override the delay after which the popup will be displayed. You can click on Configure 'Show quick documentation on mouse move' here to switch to the settings where this configuration option is shown.
    • Custom font size: This font size will be used to render the mouse-over popup which is displayed in file types supported by Kite.

Configuring Keyboard Shortcuts

The Kite plugin enhances PyCharm’s / IntelliJ’s existing features. It inherits the already configured keyboard shortcuts.

The following actions also apply to Kite’s features, which are available in supoprted files:

  • View -> Quick Documentation
  • View -> Parameter Info

Updating a shortcut used by the Kite plugin

FAQ

Is the plugin installed in my IDE?

Please open the settings dialog (File -> Settings...), choose Plugins and check whether there is an item called Kite in the list of installed plugins. Kite in the list of installed plugins

How can I find out whether the Kite plugin is working properly or not?

Please make sure that the plugin is installed (see above). If the plugin is installed please make sure that the Kite engine is running. If the connection between the plugin and the kite engine is working properly then you will see a little blue Kite icon in the status bar.

Kite status bar icon

If the connection is working properly and if no error or warning is shown in the status panel, then please make sure that the file you’re editing is supported by the Kite engine. Only Python files are supported at the moment.

If you use IntelliJ and not PyCharm then Kite can only offer its extended suport for Python if JetBrains’ Python plugin is installed and activated. Please open File -> Settings..., click on Plugin in the list on the left and then search for Python in the list of installed plugins and make sure that it is enabled. If there is no Python plugin in the list then you can install it by clicking on Install JetBrains plugin....

Why does nothing happen when I edit a Python file?

First, make sure that the plugin is working properly (see above). If the plugin is correctly installed then it is possible that the Kite engine is not returning the data you expected for the current file. You can test to make sure that the Kite engine is working by typing import json, you should see Kite completions as you type (they have a little kite icon next to them) and documentation when you select json and click View -> Quick Documentation. If the plugin is not working as you expected then please submit an error report to [email protected].

You might also like...
A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle.

flake8-bugbear A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycode

Pylint plugin for improving code analysis for when using Django

pylint-django About pylint-django is a Pylint plugin for improving code analysis when analysing code using Django. It is also used by the Prospector t

❄️ A flake8 plugin to help you write better list/set/dict comprehensions.

flake8-comprehensions A flake8 plugin that helps you write better list/set/dict comprehensions. Requirements Python 3.6 to 3.9 supported. Installation

Flake8 plugin that checks import order against various Python Style Guides

flake8-import-order A flake8 and Pylama plugin that checks the ordering of your imports. It does not check anything else about the imports. Merely tha

flake8 plugin that integrates isort

Flake8 meet isort Use isort to check if the imports on your python files are sorted the way you expect. Add an .isort.cfg to define how you want your

Flake8 plugin to find commented out or dead code
Flake8 plugin to find commented out or dead code

flake8-eradicate flake8 plugin to find commented out (or so called "dead") code. This is quite important for the project in a long run. Based on eradi

A Pylint plugin to analyze Flask applications.

pylint-flask About pylint-flask is Pylint plugin for improving code analysis when editing code using Flask. Inspired by pylint-django. Problems pylint

flake8 plugin to run black for checking Python coding style

flake8-black Introduction This is an MIT licensed flake8 plugin for validating Python code style with the command line code formatting tool black. It

A plugin for flake8 integrating Mypy.

flake8-mypy NOTE: THIS PROJECT IS DEAD It was created in early 2017 when Mypy performance was often insufficient for in-editor linting. The Flake8 plu

A plugin for Flake8 that checks pandas code

pandas-vet pandas-vet is a plugin for flake8 that provides opinionated linting for pandas code. It began as a project during the PyCascades 2019 sprin

a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)

pyenv-virtualenv pyenv-virtualenv is a pyenv plugin that provides features to manage virtualenvs and conda environments for Python on UNIX-like system

An MkDocs plugin to export content pages as PDF files

MkDocs PDF Export Plugin An MkDocs plugin to export content pages as PDF files The pdf-export plugin will export all markdown pages in your MkDocs rep

An MkDocs plugin that simplifies configuring page titles and their order

MkDocs Awesome Pages Plugin An MkDocs plugin that simplifies configuring page titles and their order The awesome-pages plugin allows you to customize

MkDocs plugin for setting revision date from git per markdown file

mkdocs-git-revision-date-plugin MkDocs plugin that displays the last revision date of the current page of the documentation based on Git. The revision

MkDocs Plugin allowing your visitors to *File Print Save as PDF* the entire site.

mkdocs-print-site-plugin MkDocs plugin that adds a page to your site combining all pages, allowing your site visitors to File Print Save as PDF th

Coverage plugin for pytest.

Overview docs tests package This plugin produces coverage reports. Compared to just using coverage run this plugin does some extras: Subprocess suppor

pytest plugin for distributed testing and loop-on-failures testing modes.

xdist: pytest distributed testing plugin The pytest-xdist plugin extends pytest with some unique test execution modes: test run parallelization: if yo

Plugin for generating HTML reports for pytest results
Plugin for generating HTML reports for pytest results

pytest-html pytest-html is a plugin for pytest that generates a HTML report for test results. Resources Documentation Release Notes Issue Tracker Code

a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)
a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)

pytest-sugar pytest-sugar is a plugin for pytest that shows failures and errors instantly and shows a progress bar. Requirements You will need the fol

Comments
  • privacy link in README 404's

    privacy link in README 404's

    Readme: To learn more about Whitelisting and privacy check out: http://help.kite.com/article/7-what-files-does-kite-upload-to-their-servers.

    image

    Additionally, the kite.com/privacy redirects to https://help.kite.com/article/148-kite-pro-availability

    Can this get updated to the correct link please? :)

    opened by adoc91 0
  • fix: for 2022.1

    fix: for 2022.1

    Only a version-code-changing band-aid for it, makes it runnable on 2022.1. version code has been changed to 1.9.6. Caution: jetbrain 2022 plugins requires JAVA 11 for it. If you are getting NoClassDefException for it with some package related to 'jetty', you may load the plugin again, Jetty is not the plugin, you should not extract the plugin zip file, just load the whole zip and it will work. A release also in my fork.

    opened by ClayLivince 6
  • kite plugin is not available on newer versions of pycharm

    kite plugin is not available on newer versions of pycharm

    Plugin 'Kite AI Code AutoComplete: Python Java JS Go HTML PHP C++ & More' (version '1.9.5') is not compatible with the current version of the IDE, because it requires build 213.* or older but the current build is PY-221.5080.212

    Please update plugin

    opened by subjadeites 2
Owner
Kite
Kite
Python-Kite: Simple python code to make kite pattern

Python-Kite Simple python code to make kite pattern. Getting Started These instr

Anoint 0 Mar 22, 2022
The official Python client library for the Kite Connect trading APIs

The Kite Connect API Python client - v3 The official Python client for communicating with the Kite Connect API. Kite Connect is a set of REST-like API

Zerodha Technology 756 Jan 6, 2023
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Xadmin Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap. Liv

差沙 4.7k Dec 31, 2022
A simple but flexible plugin system for Python.

PluginBase PluginBase is a module for Python that enables the development of flexible plugin systems in Python. Step 1: from pluginbase import PluginB

Armin Ronacher 1k Dec 16, 2022
A Linux webcam plugin for BGMv2 as used in our demos.

The goal of this repository is to supplement the main Real-Time High Resolution Background Matting repo with a working demo of a videoconferencing plu

Andrey Ryabtsev 144 Dec 27, 2022
A JSON Web Token authentication plugin for the Django REST Framework.

Simple JWT Abstract Simple JWT is a JSON Web Token authentication plugin for the Django REST Framework. For full documentation, visit django-rest-fram

Simple JWT 3.3k Jan 1, 2023
A Django plugin for pytest.

Welcome to pytest-django! pytest-django allows you to test your Django project/applications with the pytest testing tool. Quick start / tutorial Chang

pytest-dev 1.1k Dec 31, 2022
A command-line tool and Python library and Pytest plugin for automated testing of RESTful APIs, with a simple, concise and flexible YAML-based syntax

1.0 Release See here for details about breaking changes with the upcoming 1.0 release: https://github.com/taverntesting/tavern/issues/495 Easier API t

null 909 Dec 15, 2022
Comprehensive Markdown plugin built for Django

Django MarkdownX Django MarkdownX is a comprehensive Markdown plugin built for Django, the renowned high-level Python web framework, with flexibility,

neutronX 740 Jan 8, 2023