Auto-Commenter Pro es una extensión avanzada y contextual para Visual Studio Code que analiza firmas de funciones, métodos y clases en tiempo real e inserta plantillas de documentación interactivas (JSDoc, Python Docstrings y Doxygen) justo encima del elemento de código mediante Snippets interactivos de VS Code.
🌟 Características Principales
- Detección Contextual Inteligente: Analiza firmas de funciones tradicionales, funciones flecha, métodos de clase, constructores e interfaces tanto de una como de múltiples líneas.
- Soporte Multilenguaje:
- JavaScript / TypeScript: Formato JSDoc/TSDoc (
/** ... */) con @param {tipo} nombre, @returns {tipo}, @author, @date.
- Python: Docstrings PEP 257 estilo Google (
Args:, Returns:), reST (:param:, :return:) o NumPy (Parameters, Returns).
- C / C++ / Java / C# / Rust: Formato Doxygen/Javadoc (
/** ... */) con @brief, @param, @return.
- Navegación Interactiva (Snippet Engine): El bloque se inserta como un
SnippetString de VS Code, permitiendo saltar con la tecla Tab entre la descripción principal y cada uno de los parámetros.
- Extensamente Configurable: Activa/desactiva autor y fecha, elige el formato de Python (Google, reST, NumPy) o estilo de documentación C-Family (Doxygen vs Javadoc).
⌨️ Atajo de Teclado (Keybinding)
| Sistema Operativo |
Atajo por Defecto |
Comando |
| Windows / Linux |
Ctrl + Alt + C |
autocommenter.generate |
| macOS |
Cmd + Alt + C |
autocommenter.generate |
También puedes ejecutarlo desde la paleta de comandos (Ctrl+Shift+P o Cmd+Shift+P) buscando: "Auto-Commenter: Generate Docstring / Comment".
⚙️ Configuración (Settings)
Puedes personalizar la extensión abriendo los Ajustes de VS Code (Ctrl+, o Cmd+,) buscando Auto-Commenter Pro:
| Configuración |
Tipo |
Valor por defecto |
Descripción |
autoCommenter.includeAuthor |
boolean |
false |
Incluye la etiqueta de autor (@author / Author:). |
autoCommenter.authorName |
string |
"" |
Nombre del autor. Si está vacío, toma el usuario del sistema. |
autoCommenter.includeDate |
boolean |
false |
Incluye la fecha de generación (@date / Date:). |
autoCommenter.pythonDocstringStyle |
enum |
"google" |
Estilo de docstrings para Python: "google", "rest", "numpy". |
autoCommenter.cFamilyDocstringStyle |
enum |
"doxygen" |
Estilo para C/C++/Java: "doxygen" (@brief) o "javadoc". |
autoCommenter.jsTsDocstringStyle |
enum |
"jsdoc" |
Estilo para JS/TS: "jsdoc" (con tipos {type}) o "tsdoc". |
🧪 Ejemplos de Salida
1. TypeScript / JavaScript (JSDoc)
/**
* Description for calculateInterest.
*
* @param {number} principal - The principal parameter.
* @param {number} rate - The rate parameter.
* @param {number} [years=1] - The years parameter.
* @returns {Promise<number>} Return description.
*/
async function calculateInterest(principal: number, rate: number, years: number = 1): Promise<number> {
// ...
}
2. Python (Google Style Docstring)
"""Summary of process_records.
Extended description or context.
Args:
records (list[dict]): Description of records.
max_retries (int, optional): Description of max_retries. Defaults to 3.
Returns:
bool: Description of return value.
"""
def process_records(records: list[dict], max_retries: int = 3) -> bool:
pass
3. C++ / C / Java (Doxygen)
/**
* @brief Description of renderMesh.
*
* @param mesh The mesh parameter.
* @param material The material parameter.
* @return Return description.
*/
bool renderMesh(const Mesh& mesh, Material* material) {
// ...
}
🛠️ Cómo Probar la Extensión Localmente
- Abre esta carpeta en Visual Studio Code.
- Instala las dependencias en la terminal integrada:
npm install
- Presiona la tecla
F5 (o dirígete a la pestaña Run and Debug y presiona "Run Extension").
- Se abrirá una nueva ventana llamada [Extension Development Host].
- Abre cualquier archivo de código (
.ts, .js, .py, .cpp, .java), coloca el cursor sobre una función o clase y presiona Ctrl+Alt+C (o Cmd+Alt+C en Mac).
- ¡Listo! Observa cómo se inserta la plantilla y presiona
Tab para navegar por los marcadores de posición.
| |