ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

格式化 JSDoc @params

finitewisdom 所有

扩展 Sublime Text 编辑器功能的包。具体来说,如果当前选择代表一组每行一个的 @param 行,则会重新格式化这些行以对齐参数类型、名称和说明。

详细信息

  • 1.0.1
  • bitbucket.​org
  • 8年前
  • 2小时前
  • 8年前

安装次数

  • 总计 14K
  • Win 7K
  • Mac 5K
  • Linux 2K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 1 0 0 0 0 0 0 3 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 2 1 0 2 0 0 1 0 0 0 0 0 0 0 0
Mac 1 1 1 0 1 0 1 1 0 0 0 0 1 2 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0
Linux 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

说明

源代码
bitbucket.​org

概述

JSDocParam 是一款用于 Sublime Text 的第三方包,它可以用来格式化 JSDoc @param 块。

用户界面

将在 编辑 菜单中添加一个名为 格式化 JSDoc @params 的菜单项。默认情况下,此菜单项没有关联的功能键。如果您想定义一个,请按照以下步骤操作

  1. 偏好设置 菜单中选择 键绑定
  2. { "keys": ["ctrl+shift+2"], "command": "jsdoc_param" } 添加到用户绑定的数组中
  3. 保存用户绑定

在这个例子中,我们选择了 Shift-2,因为它代表了 JSDoc 文档中无处不在的 @ 字符。当然,您可以选择您喜欢的任何键绑定。

功能

如果当前选择代表一组 @param 行,每行一行,它将重新格式化这些行以对齐参数类型、名称和说明。例如,如果选择代表以下内容(排除虚线行)

----------------------------------------------------------------------------
 * @param {module:app/model/model~Model} model - The model definition
 * @param {string} mode - The mode being performed (e.g. "add", "edit")
 * @param {string} name - The name of the field (e.g. "type")
 * @param {function} callback - The Node-style callback to invoke with the result
 * @param {?module:javascript~Error} callback.err - The error object
 * @param {string} callback.s - The authorization level
----------------------------------------------------------------------------

则将其重新格式化为以下内容

----------------------------------------------------------------------------
 * @param {module:app/model/model~Model} model        - The model definition
 * @param {string}                       mode         - The mode being performed (e.g. "add", "edit")
 * @param {string}                       name         - The name of the field (e.g. "type")
 * @param {function}                     callback     - The Node-style callback to invoke with the result
 * @param {?module:javascript~Error}     callback.err - The error object
 * @param {string}                       callback.s   - The authorization level
----------------------------------------------------------------------------

选择中的最后一行可能代表一个 @returns 语句而不是一个 @param 语句。在这种情况下,这

------------------------------------------------------------------------
 *         @return      {string}     -       The formatted result
------------------------------------------------------------------------

将被重新格式化为这

------------------------------------------------------------------------
 * @returns {string} The formatted result
------------------------------------------------------------------------

详细信息

@param 行的一般格式是

* @param {xxx} [yyy] - zzz
------------------------------
123456789 123456789 123456789 
         1         2         3
         0         0         0

其中

- Positions 1, 3, 10, 16, 22, 24, 28: Can represent 0 or more whitespace characters
- "xxx" represents any characters other than a "}"
- The "[" and "]" are themselves optional
- "yyy" represents 1 or more non-whitespace characters
- "zzz" represents 0 or more characters of any kind

@returns 行的一般格式是

* @xxx { yyy } - zzz
------------------------------
123456789 123456789 123456789 
         1         2         3
         0         0         0

其中

  • “xxx”表示“return”或“returns”
  • “yyy”表示一个或多个非空白字符
  • “zzz”表示任意类型的大量的字符
  • 任意空白(位置1、3、8、10、14、16、20)表示任意数量的空白字符
  • 位置17的“-”可能存在也可能不存在

此行将被重新格式化为:

* @returns {yyy} zzz
------------------------------
123456789 123456789 123456789 
         1         2         3
         0         0         0

其中

- column 1 represents the indentation to match the first @param
- columns 3, 12 and 18 represent a single space

杂项

注 1

在重新格式化后的输出中,所有行将匹配第一行的缩进。换句话说,第一行前面的所有空格都会出现在所有行上。

注 2

如果在 * 之后没有任何内容,我们将保持该行不变。这样可以让你在 @params 之间插入空白行(除了开头的 *)。

注 3

如果在 @param 行和 @returns 行之间不是正好有一行空白,输出将被重新格式化,确保正好存在一行空白。

注 4

此包在 @property 语句上与在 @param 语句上一样有效。

注 5

您不需要 Entirety 中选择第一行和最后一行。任何选择都会自动扩展到第一行和最后一行的整个行。

注 6

“格式化 JSDoc @params” 是一个具有 偏见 的包。没有任何配置选项。如果您不按照我们的方式格式化 @params,则此包不适合您。