{"id":9678626,"url":"https://github.com/pavlitsky/vscode-yard","last_synced_at":"2026-02-21T19:34:16.832Z","repository":{"id":239791483,"uuid":"127030409","full_name":"pavlitsky/vscode-yard","owner":"pavlitsky","description":"YARD comments generator for Visual Studio Code","archived":false,"fork":false,"pushed_at":"2021-11-04T12:09:41.000Z","size":87,"stargazers_count":22,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T21:09:02.373Z","etag":null,"topics":["documentation","rdoc","ruby","vscode-extension","yard","yardoc"],"latest_commit_sha":null,"homepage":"https://yardoc.org/","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/pavlitsky.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2018-03-27T18:36:45.000Z","updated_at":"2025-09-16T07:16:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ae7a817-0684-4013-bb63-5f3da848c341","html_url":"https://github.com/pavlitsky/vscode-yard","commit_stats":null,"previous_names":["pavlitsky/vscode-yard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pavlitsky/vscode-yard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavlitsky%2Fvscode-yard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavlitsky%2Fvscode-yard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavlitsky%2Fvscode-yard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavlitsky%2Fvscode-yard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pavlitsky","download_url":"https://codeload.github.com/pavlitsky/vscode-yard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pavlitsky%2Fvscode-yard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29691045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["documentation","rdoc","ruby","vscode-extension","yard","yardoc"],"created_at":"2024-05-15T00:26:09.134Z","updated_at":"2026-02-21T19:34:16.813Z","avatar_url":"https://github.com/pavlitsky.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# YARD Documenter\n\n[![Build Status](https://travis-ci.org/pavlitsky/vscode-yard.svg?branch=master)](https://travis-ci.org/pavlitsky/vscode-yard)\n[![Maintainability](https://api.codeclimate.com/v1/badges/54361b514cbeb2dd279c/maintainability)](https://codeclimate.com/github/pavlitsky/vscode-yard/maintainability)\n\nExtension generates [YARD](https://yardoc.org/) documentation comments for Ruby\nsource code.\n\nSee [Readme](http://www.rubydoc.info/gems/yard/file/README.md) for more\ninformation on this tool.\n\n## Features\n\nExtension automatically prepends definitions of methods, classes etc with\ndocumentation snippets.\nNo need to remember a formatting tags and styling, just type and describe your code.\n\nIt's able to document:\n\n* Methods: instance methods, initializers, class methods.\n* Classes and Modules.\n* Constants.\n* Attributes accessors (`attr_reader`, `attr_writer`, `attr_accessor` and more).\n\nMethods named in ASCII and Japanese are supported.\n\n## Usage\n\nPosition cursor on a definition you wish to document.\n\n```ruby\ndef foo(bar, baz = false) # \u003c- put cursor at any place of this line\nend\n```\n\nHit `Ctrl+Alt+Enter` (`Option+Command+Enter` on macOS) or invoke `Document with YARD`\nfrom the command palette.\n\n```ruby\n  #\n  # \u003cDescription\u003e\n  #\n  # @param [\u003cType\u003e] bar \u003cdescription\u003e\n  # @param [\u003cType\u003e] baz \u003cdescription\u003e\n  #\n  # @return [\u003cType\u003e] \u003cdescription\u003e\n  #\n  def foo(bar, baz = false)\n  end\n```\n\nDocumentation snippet appears on top of the method.\n\nUse `Tab` and `Shift+Tab` keys to navigate and fill in placeholders.\n\n```ruby\n  #\n  # An example instance method description.\n  #\n  # @param [Integer] bar first param used for demonstration\n  # @param [Boolean] baz second param with a default value\n  #\n  # @return [nil] nothing returned so it's always nil\n  #\n  def foo(bar, baz = false)\n  end\n```\n\nDone!\n\nAnother snippets examples, default spacers setup:\n\n```ruby\n#\n# Class to retry and fail.\n#\n# @author Author Name \u003cauthor@example.com\u003e\n#\nclass Foo\n  # @return [Integer] count of retries performed before failing\n  RETRIES_COUNT=3\n\n  # @return [Boolean] retry operation result\n  attr_accessor :succeed\n\n  #\n  # Retry something.\n  #\n  # @return [Boolean] processing result, true if succeed\n  #\n  def retry\n    RETRIES_COUNT.times { puts 'Retrying...' }\n    @succeed = false\n  end\nend\n```\n\nMinimal setup:\n\n```ruby\n# Class to retry and fail.\nclass Foo\n  # @return [Integer] count of retries performed before failing\n  RETRIES_COUNT=3\n\n  # @return [Boolean] retry operation result\n  attr_accessor :succeed\n\n  # Retry something.\n  # @return [Boolean] processing result, true if succeed\n  def retry\n    RETRIES_COUNT.times { puts 'Retrying...' }\n    @succeed = false\n  end\nend\n```\n\nFeel free to append any needed tags like `@note`, `@example`, `@see` manually\nafter snippet filled in.\n\n## Details\n\nList of generated tags: `@author`, `@option`, `@param`, `@return`.\n\n## Configuration\n\nInsertion of empty lines are configurable to make it able to tune between\na curt and verbose documentation styles.\n\n```ts\n\"yard.spacers.beforeDescription\" // Prepend an empty line to descriptive texts\n\"yard.spacers.afterDescription\" // Append an empty line to descriptive texts\n\"yard.spacers.beforeTags\" // Prepend an empty line to all method's tags\n\"yard.spacers.separateTags\" // Separate method's tags of the same name (@params and @return) with an empty line\n\"yard.spacers.afterTags\" // Append an empty line to all method's tags\n\"yard.spacers.beforeSingleTag\" // Prepend an empty line to directives or single tags (for example constants)\n\"yard.spacers.afterSingleTag\" // Append an empty line to directives or single tags (for example constants)\n\"yard.tags.author\" // Append @author tag to Class and Module documentation\n\"yard.tags.paramNameBeforeType\" // Print param name before its type (for example '@param username [String]')\n```\n\n## TODO\n\n* Ability to document blocks: `@yield`, `@yieldparam`, `@yieldreturn`.\n* Support for non-empty options hash parameters.\n* Resolve `@author` information from environment or settings.\n* (killer feature :fire:) Ability to update existing documentation.\n* (maybe) Editor snippets for tags (`@option`, `@param` etc) or tags autocompletion\n* (maybe) A better support for array / keyword args splats, see\n  [comment](https://github.com/lsegal/yard/issues/439#issuecomment-3292412).\n\n## Troubleshooting\n\nIf hotkey isn't working open VS Code Keyboard Shortcuts and check for keybinging\nconflicts.\n\nThis also may happen if destination is already documented. In this case extension\nsilently does nothing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpavlitsky%2Fvscode-yard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpavlitsky%2Fvscode-yard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpavlitsky%2Fvscode-yard/lists"}