# IDE for tryton development

**URL:** <https://discuss.tryton.org/t/ide-for-tryton-development/2326>\
**Category:** Developer\
**Created:** [February 12, 2020, 8:08pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326 "2020-02-12T20:08:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rafantastico](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/rafantastico/32/655_2.png) [@Rafantastico](https://discuss.tryton.org/u/Rafantastico)\
**Post date:** [February 12, 2020, 8:08pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/1 "2020-02-12T20:08:47Z")

</div>

Hi all!

I’m starting with tryton development but I’m finding some difficulties to get the “perfect” environment.

I’ve found a similar question [here](https://discuss.tryton.org/t/tryton-development-environment/582) but even when I found very interesting the cookiecutter module I would like to find a tested IDE.

My requirements for this IDE are the followings:

1. Autocompletion when I’m working with tryton objects and functions.
2. Search easily the source code (or the definition) of a tryton method.
3. Integrate git.
4. Integrate virtualenvs.

These requirements made me think about pycharm but I cannot make it recognize the whole tryton world!

Is there any guide you can point me at to configure an IDE for developing at ease with it?

Best regards!

---

<div class="post-metadata">

**Author:** ![maxx](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/maxx/32/2320_2.png) [@maxx](https://discuss.tryton.org/u/maxx)\
**Post date:** [February 12, 2020, 8:48pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/2 "2020-02-12T20:48:56Z")

</div>

First i begin with VIM: [https://www.vim.org/](https://www.vim.org/)

Now i’m using Visual Studio: [https://code.visualstudio.com/](https://code.visualstudio.com/)  
With some specific plugins that’ll do all your requirements… ([Python in Visual Studio Code](https://code.visualstudio.com/docs/languages/python))

---

<div class="post-metadata">

**Author:** ![pokoli](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/pokoli/32/22_2.png) [@pokoli](https://discuss.tryton.org/u/pokoli)\
**Post date:** [February 12, 2020, 10:14pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/3 "2020-02-12T22:14:42Z")

</div>

I think the best IDE is the one you are confortable with.

To be honest I do not think autocompletion gives a big boost. I’ve never used while programing on tryton and I do not miss it.

On the other hand I think you should add some [pyflakes](https://pypi.org/project/pyflakes/) plugin to your IDE to hightlight the errors and warnings while editing.

Having said that, I always recomend having a look at our [Coding Guidelines](https://www.tryton.org/develop#coding-guidelines) and try to follow them even if you plan to develop custom modules. Once you are used to it, it’s easier to contribute back to thd project.

---

<div class="post-metadata">

**Author:** ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)\
**Post date:** [February 12, 2020, 10:44pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/4 "2020-02-12T22:44:39Z")

</div>

> [@Rafantastico](#):
>
> Autocompletion when I’m working with tryton objects and functions.

I do not think it is doable because “Tryton objects” are constructed at run time depending of the modules activated.  
I once suggested that a [hook could maybe written to create stub files](https://discuss.tryton.org/t/proposal-create-project-coding-standard-for-tryton/2295/3) which may help for completion. But I have doubt about the result.

---

<div class="post-metadata">

**Author:** ![mono](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/mono/32/289_2.png) [@mono](https://discuss.tryton.org/u/mono)\
**Post date:** [February 18, 2020, 8:53pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/5 "2020-02-18T20:53:40Z")

</div>

I use emacs with the module [jedi](https://github.com/tkf/emacs-jedi), east modulate uses virtualenvs.  
I install trytond on the [jedi environment](https://tkf.github.io/emacs-jedi/latest/#jedi:environment-virtualenv) for autocompletion Tryton objects and easy go to definitions.  
Emacs has interface with [version control system](https://www.emacswiki.org/emacs/VersionControl) for git, mercurial, fossil and others. Also is [magit](https://magit.vc/) for git.

---

<div class="post-metadata">

**Author:** ![Rafantastico](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/rafantastico/32/655_2.png) [@Rafantastico](https://discuss.tryton.org/u/Rafantastico)\
**Post date:** [March 3, 2020, 6:40am UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/6 "2020-03-03T06:40:21Z")

</div>

I’m trying Visual Studio and Pycharm using flake8.

Thank you all!

---

<div class="post-metadata">

**Author:** ![jaarias](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/jaarias/32/198_2.png) [@jaarias](https://discuss.tryton.org/u/jaarias)\
**Post date:** [March 3, 2020, 2:22pm UTC](https://discuss.tryton.org/t/ide-for-tryton-development/2326/7 "2020-03-03T14:22:11Z")

</div>

I use Visual Studio Code. And I love it. You can do all you ask for and also:

- Debug (without the need of “import pdb”), step into/over/out, watch current objects and its field values, breakpoints…
- Git Integration, with GitHub, Bitbucket and more. See uncommited changes with just one click over a file. Commit with a click.
- Easy manage virtual environments
- Postgresql explorer
- Autocompletion and coloring
- Powerful and fast searching
- Manage all your modules in a tree view.
- Navigate to class/function definition (with restrictions due to trytond estructure).
- Integrated console
- … And much more: There are thousands of extensions. And it is improved constantly.
