{"id":18927089,"url":"https://github.com/zachhardesty7/jsdoc-comment-toggler","last_synced_at":"2025-10-12T00:43:47.900Z","repository":{"id":40772984,"uuid":"296740267","full_name":"zachhardesty7/jsdoc-comment-toggler","owner":"zachhardesty7","description":"quickly \u0026 intelligently add, remove, or convert comments to JSDoc via VSCode extension","archived":false,"fork":false,"pushed_at":"2025-09-14T22:46:26.000Z","size":758,"stargazers_count":9,"open_issues_count":9,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-15T00:25:13.103Z","etag":null,"topics":["comments","documentation","javascript","jsdoc","jsdoc-comments","typescript","visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=zachhardesty.jsdoc-comment-toggler","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zachhardesty7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-09-18T22:16:32.000Z","updated_at":"2025-09-14T22:46:29.000Z","dependencies_parsed_at":"2023-10-16T12:31:47.991Z","dependency_job_id":"738e1596-5385-471e-9aab-30209fea0c42","html_url":"https://github.com/zachhardesty7/jsdoc-comment-toggler","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/zachhardesty7/jsdoc-comment-toggler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachhardesty7%2Fjsdoc-comment-toggler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachhardesty7%2Fjsdoc-comment-toggler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachhardesty7%2Fjsdoc-comment-toggler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachhardesty7%2Fjsdoc-comment-toggler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zachhardesty7","download_url":"https://codeload.github.com/zachhardesty7/jsdoc-comment-toggler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zachhardesty7%2Fjsdoc-comment-toggler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009510,"owners_count":26084609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["comments","documentation","javascript","jsdoc","jsdoc-comments","typescript","visual-studio-code","vscode","vscode-extension"],"created_at":"2024-11-08T11:18:07.116Z","updated_at":"2025-10-12T00:43:47.854Z","avatar_url":"https://github.com/zachhardesty7.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![version](https://img.shields.io/vscode-marketplace/v/zachhardesty.jsdoc-comment-toggler.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=zachhardesty.jsdoc-comment-toggler)\n[![last updated](https://img.shields.io/visual-studio-marketplace/last-updated/zachhardesty.jsdoc-comment-toggler?color=0fCC10\u0026style=flat-square)](https://marketplace.visualstudio.com/items?itemName=zachhardesty.jsdoc-comment-toggler)\n[![downloads](https://img.shields.io/vscode-marketplace/d/zachhardesty.jsdoc-comment-toggler.svg?color=0fCC10\u0026style=flat-square)](https://marketplace.visualstudio.com/items?itemName=zachhardesty.jsdoc-comment-toggler)\n[![license](https://img.shields.io/github/license/zachhardesty7/jsdoc-comment-toggler.svg?color=0fCC10\u0026style=flat-square)](https://github.com/zachhardesty7/jsdoc-comment-toggler/blob/master/LICENSE)\n\n# jsdoc comment toggler\n\nextension to toggle a JSDoc comment on the target text, properly indenting and spacing\neverything\n\nno longer will you need to flip around between comment tags while converting a\nJavaScript block or line comment into more formal JSDoc; put your cursor inside a\ncomment and bam\n\n## Features\n\n- convert a line comment into JSDoc and vice versa\n  ![toggle line comment](images/toggle-line.gif)\n- convert a block comment into JSDoc and vice versa\n  ![toggle block comment](images/toggle-block.gif)\n- generate a new JSDoc comment to start documenting a variable\n  ![generate new JSDoc](images/add.gif)\n- generate inline JSDoc for \"casting\" a value with `@type`\n  ![generate inline JSDoc](images/add-inline.gif)\n\n## Usage\n\n- command: `Toggle JSDoc Comment`\n- keyboard shortcut: `ctrl+r ctrl+/` or `cmd+r cmd+/` for MacOS\n  - the shortcut uses chords - press the first key combination, release, and then\n    press the second (tip: you can hold `ctrl`/`cmd` the whole time)\n  - change shortcut in Preferences -\u003e Keyboard Shortcuts -\u003e Search \"jsdoc-comment-toggler\"\n\n## Extension Settings\n\n- `jsdoc-comment-toggler.disableCursorHack` - disable a cursor hack that avoids a VSCode issue where it's impossible to add text after a cursor that's at the end of a line. In that scenario, this hack inserts a snippet with a zero-width-space after the cursor to invisibly keep the cursor in the correct position while running the edits. The extension removes the zero-width-space while adding the comment tags. This hack is safe to use because VSCode highlights the zero-width-space for you to manually remove if something fails. If you ever see a zero-width-space in a comment, please create an issue on GitHub with a reproducible case. As a workaround, you can enable this setting to prevent adding the zero-width-space and fixing the cursor position until we can address the bug.\n  - default: `false`\n  - still searching for a better way to do this and/or guarantee that a zero-width-space won't be left behind\n\n## TODO\n\n- [ ] merge comments and JSDoc nested inside JSDoc\n- [ ] wrap single line selection in parens for casting\n- [ ] test placement of selection anchor and active for multiline comments\n- [ ] convert to block comment when cursor is anywhere within JSDoc\n- [ ] convert multiple adjacent (or empty) line comments into a single JSDoc block\n\n## Reporting issues\n\nreport any issues on the github\n[issues](https://github.com/zachhardesty7/jsdoc-comment-toggler/issues) page, and please\nprovide as much detail as possible!\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzachhardesty7%2Fjsdoc-comment-toggler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzachhardesty7%2Fjsdoc-comment-toggler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzachhardesty7%2Fjsdoc-comment-toggler/lists"}