Automatically generate docstrings using ChatGPT.
Install it from Visual Studio Marketplace or download and install .vsix file from Releases.
- VSCode 1.75.0 or greater
- Python 3.8 or greater
Set the cursor position inside the function for which you want to generate a docstring and generate it using one of the following methods:
Open the Command Palette (F1) and type “Generate Docstring”.
Right click in the Text Editor area and choose “Generate Docstring”.
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).
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).
-
chatgpt-docstrings.interpreter
: When set to a path to python executable, extension will use that to launch the server and any subprocess.- Default value: []
-
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 parameterchatgpt-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.- Default value: 15
-
chatgpt-docstrings.showProgressNotification
: Show progress notification of docstring generation.- Default value: true
- Available options:
- true
- false
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.
See Change Log here
Submit the issues if you find any bug or have any suggestion.
Fork the repo and submit pull requests.
This extension is licensed under the MIT License