ChatGPT: Docstring Generator
Automatically generate docstrings using ChatGPT.

Installation
Install it from Visual Studio Marketplace or download and install .vsix file from Releases.
Requirements
- VSCode 1.75.0 or greater
- Python 3.8 or greater
Usage
Set the cursor position inside the function for which you want to generate a docstring and generate it using one of the following methods:
Command
Open the Command Palette (F1) and type “Generate Docstring”.
Right click in the Text Editor area and choose “Generate Docstring”.
Keyboard Shortcut
Use the following keyboard shortcut:
- Windows/Linux:
Ctrl+K Ctrl+D
- Mac:
Cmd+K Cmd+D
You can change the default keyboard shortcut by Keyboard Shortcuts editor (File > Preferences > Keyboard Shortcuts).
OpenAI API key
To use the extension, you will need an OpenAI API key. To obtain one, follow these steps:
- Go to OpenAI's website. Log in or sign up there.
- Click on the Create new secret key button.
- Copy the key and paste it into the field that will show up when you run the docstring generation.
You can change the API key using the Set OpenAI API key
command in the Command Palette (F1).
Settings
chatgpt-docstrings.interpreter
: When set to a path to python executable, extension will use that to launch the server and any subprocess.
chatgpt-docstrings.openaiModel
: Which OpenAI model to use.
- Default value: "gpt-3.5-turbo"
- Available options:
- "gpt-3.5-turbo"
- "text-davinci-002"
According to personal observations, "gpt-3.5-turbo" makes generation more correct, and "text-davinci-002" is faster.
chatgpt-docstrings.docstringFormat
: Which docstring format to use.
- Default value: "google"
- Available options:
- "google"
- "numpy"
- "sphinx"
chatgpt-docstrings.promptPattern
: ChatGPT prompt to generate docstring.
- Default value: "Create docstring in {docstring_format} format for python function below:\n{function}"
The expression {docstring_format}
used in the prompt will be replaced with the value of the parameter chatgpt-docstrings.docstringFormat
, {function}
— with the source code of the function for which the docstring will be generated.
chatgpt-docstrings.responseTimeout
: ChatGPT response timeout in seconds.
chatgpt-docstrings.showProgressNotification
: Show progress notification of docstring generation.
- Default value: true
- Available options:
Telemetry
This extension collects anonymous information related to the usage of the extension, such as well as performance and error data. You can disable telemetry as described here.
Change Log
See Change Log here
Feedback
Submit the issues if you find any bug or have any suggestion.
Contribution
Fork the repo and submit pull requests.
License
This extension is licensed under the MIT License