VSCode autoDocstring
Visual Studio Code extension to quickly generate docstrings for python functions.
Features
- Quickly generate a docstring snippet that can be tabbed through.
- Choose between several different types of docstring formats.
- Infers parameter types through pep484 type hints, default values, and var names.
- Support for args, kwargs, decorators, errors, and parameter types
Docstring Formats
- Default (docBlockr)
- Numpy
- Sphinx
- PEP0257 (coming soon)
Usage
Cursor must be on the line directly below the definition to generate full auto-populated docstring
- Press enter after opening docstring with triple quotes (""" or ''')
- Keyboard shortcut:
ctrl+shift+2
orcmd+shift+2
for mac- Can be changed in Preferences -> Keyboard Shortcuts -> extension.generateDocstring
- Command:
Generate Docstring
- Right click menu:
Generate Docstring
Extension Settings
This extension contributes the following settings:
autoDocstring.docstringFormat
: Switch between different docstring formatsautoDocstring.generateDocstringOnEnter
: Generate the docstring on pressing enter after opening docstringautoDocstring.includeDescription
: Include description section in docstringautoDocstring.includeName
: Include function name at the start of docstringautoDocstring.newlineBeforeSummary
: New line before summary placeholderautoDocstring.guessTypes
: Infer types from type hints, default values and variable names
Known Issues
- *args & **kwargs not dealt with properly
- Extra new line at the end of inserted docstring
- Inserted docstrings have trailing spaces (problem with how vscode deals with snippets)
Roadmap
- Add support for classes and modules
- Add more unit tests
- Add Epytext format
Changelog
Check the CHANGELOG.md for any version changes.
Contributing
The source code for this extension is hosted on GitHub. Contributions, pull requests, suggestions, and bug reports are greatly appreciated.
- Post any issues and suggestions to the github issues page. Add the
feature request
tag to any feature requests or suggestions. - To contribute, fork the project and then create a pull request back to master. Please update the README if you make any noticeable feature changes.
- There is no official contribution guide or code of conduct yet, but please follow the standard open source norms and be respectful in any comments you make.
License
This project is licensed under the MIT License - see the LICENSE file for details