debugpy/CONTRIBUTING.md
Karthik Nadig 170de0c659
Updating contribution details (#860)
* Add codeofconduct and contributing md files

* Updating contribution details

* Addressing comments.

* Some tweaks
2018-10-01 18:16:04 -07:00

2.7 KiB

Contributing to ptvsd

Build Status Build Status GitHub PyPI

Contributing a pull request

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

Prerequisites

Use test_requirements.txt file to install the packages needed to run tests:

pip install -r test_requirements.txt

Linting

We use flake8 for linting, and the settings can be found here flake8

Formatting

This is optional. Use the following settings for autopep8 or equivalent settings with the formatter of your choice: VSC Python settings for formating:

"python.formatting.provider": "autopep8",
"python.formatting.autopep8Args": [
    "--ignore", "E24,E121,E123,E125,E126,E221,E226,E266,E704,E265,E722,E501,E731,E306,E401,E302,E222"
],

Running Tests

Set PYTHONPATH environment variable to the ptvsd root directory. In this example, we git clone ptvsd and use the directory to run tests

Windows

C:\> git clone https://github.com/Microsoft/ptvsd
C:\> cd ptvsd
C:\ptvsd> py -3.7 -m tests -v

Linux\Mac

~: git clone https://github.com/Microsoft/ptvsd
~: cd ptvsd
~/ptvsd: python3 -m tests -v

Debug in VSC using development version

Set PYTHONPATH to point to cloned version of ptvsd, in launch.json, to debug any python project to test the debugger you are working on:

{
    "name": "Terminal (integrated)",
    "type": "python",
    "request": "launch",
    "pythonPath": "${config:python.pythonPath}",
    "program": "${file}",
    "cwd": "${workspaceFolder}",
    "console": "integratedTerminal",
    "env": {"PYTHONPATH":"C:\\GIT\\ptvsd"},
    "envFile": "${workspaceFolder}/.env",
    "internalConsoleOptions": "neverOpen",
},