Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to develop (run and debug) modules in Odoo v11 on Visual Studio Code in Ubuntu?

Is it possible to run and debug Odoo on Visual Studio Code? If yes please share me the configuration.

Visual Studio Code is a source code editor developed by Microsoft for Windows, Linux and macOS. It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring. It is free and open-source, although the official download is under a proprietary license.

like image 336
Binyam Assefa Avatar asked Mar 07 '23 06:03

Binyam Assefa


2 Answers

I know I'm a bit late but I have managed to work with Odoo 11.

My installation path is "C:\Program Files (x86)\Odoo 11.0\server"

Now open the vs code and goto Workspace settings and paste this:

{
"python.pythonPath": "C:\\Program Files (x86)\\Odoo 11.0\\python\\python.exe",
"python.linting.pylintEnabled": false,
// use this so the autocompleate/goto definition will work with python extension
"python.autoComplete.extraPaths": [
    "${workspaceRoot}/odoo/addons",
    "${workspaceRoot}/odoo",
    "${workspaceRoot}/odoo/openerp/addons"
],
//"python.linting.pylintPath": "optional: path to python use if you have environment path",
"python.linting.enabled": false,
//load the pylint_odoo
"python.linting.pylintArgs": [
    "--load-plugins",
    "pylint_odoo"
],
"python.formatting.provider": "yapf",
//"python.formatting.yapfPath": "optional: path to python use if you have environment path",
// "python.linting.pep8Path": "optional: path to python use if you have environment path",
"python.linting.pep8Enabled": true,
// add this auto-save option so the pylint will sow errors while editing otherwise
//it will only show the errors on file save
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 500,
// The following will hide the compiled file in the editor/ add other file to hide them from editor
"files.exclude": {
    "**/*.pyc": true
}

}

save it and open the code folder in vs "C:\Program Files (x86)\Odoo 11.0\server\odoo"

then goto debugging setting and a new configuration file and paste below code:

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Odoo",
        "type": "python",
        "request": "launch",
        "stopOnEntry": false,
        "pythonPath": "${config:python.pythonPath}",
        "console": "externalTerminal",
        "program": "${workspaceRoot}\\..\\odoo-bin",
        "args": [
            "--config=${workspaceRoot}\\..\\odoo.conf",
        ],
        "cwd": "${workspaceRoot}",
        "env": {},
        "envFile": "${workspaceRoot}/.env",
        "debugOptions": [
            "RedirectOutput"
        ]
    }
]

}

and just hit the run button. remember vs code might give you some warning press ignore button and wait for the console to open and you are done. enjoy debugging and coding.

Don't forget to stop the Odoo service from window services.

like image 134
Adeel Rizvi Avatar answered Apr 07 '23 10:04

Adeel Rizvi


Yes, you can even debug Odoo with VSCode:

First, you need to install the Python Extension within VSCode.

Add the folder where Odoo is installed to the current project. You can use the functionality Multiroot Workspaces. I think it is convenient in this case: open your project modules in one folder, and Odoo in other folder

Then, if you want to start debugging you just need to click on the Debug button and click on the wheel on the top of the sidebar. The file launch.json will open and you just need to add this element to the bottom.

{
    "name": "Python: Odoo",
    "type": "python",
    "request": "launch",
    "stopOnEntry": false,
    "pythonPath": "${config:python.pythonPath}",
    "console": "externalTerminal",
    "program": "${workspaceRoot}/odoo_path/odoo.py",
    "args": [
        "--config=/odoo_config_path/.odoo_8.conf",
    ],
    "cwd": "${workspaceRoot}",
    "env": {},
    "envFile": "${workspaceRoot}/.env",
    "debugOptions": [
        "RedirectOutput"
    ]
}

Once it is added you already can run Odoo under VSCode. For more information about the launch configurations click here

Now you can create breakpoint as usual. You can use the debugger console as well. And if you use the property: "console": "externalTerminal" as I did, you can show the log in an external console at the same time

enter image description here

Note: If you only want to run odoo you can use the integrated console in VSCode

Note 2: I recommend to install the Odoo Snippets extension as well.

like image 24
ChesuCR Avatar answered Apr 07 '23 08:04

ChesuCR