|Development||Add-on development||Development Tools|
Below you will find software that can be useful in Add-on Development.
Visual Studio Code
Code editing. Redefined.Free. Built on open source. Runs everywhere. If you're not a pro or you are not used to work with another IDE, use this.
Install the 'Python' extension by Microsoft.
A Visual Studio Code extension with rich support for the Python language (for all actively supported versions of the language: 2.7, >=3.5), including features such as IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, snippets, and more!
The Python IDE for Professional Developers.
Auto Completion Add-ons
The main purpose of Kodistubs is to help you to write Kodi addon code in various IDEs by providing code completion, quick access to Kodi Python API docstrings, and code inspection (linting) in IDEs that provide this feature.
When developing Python addons for Kodi it is strongly recommended to use virtual environments to isolate your development dependencies. Virtual environments are supported by all popular Python IDEs.
Installation Within a python virtual environment of your add-on source code execute `pip install kodistubs`.
KodiSwift is a small framework to ease development of Kodi add-ons. It is an xbmcswift2 fork with API updates. Whether you are an experienced addon developer, or just coding your first addon, you’ll find benefits to using kodiswift.
PyXBMCt is a Python framework for simple Kodi addon UI building. It was inspired by PyQt (hence the name) and shares the same basic principles, so those who are familiar with PyQt/PySide should feel themselves right at home. The framework provides 4 base classes, 9 ready-to-use widgets or, in Kodi terms, controls, a Grid layout manager and an event connection manager. PyXBMCt uses texture images from Kodi’s default Confluence skin to decorate its visual elements. Those textures are included in PyXBMCt, so UI based on it will have the same look in different skins.