1. 程式人生 > >phpstrom中自定義Live Templates支援apidoc文件註釋

phpstrom中自定義Live Templates支援apidoc文件註釋

前言

最近工作中經常使用到apidoc生成web api文件,程式碼中寫apidoc的註釋結構還是比較痛苦的,沒有提示純手敲,忘記一些結構還得去翻apidoc的文件,很痛苦的有木有……
後來我就在想,是否可以把apidoc的註釋語法結構定義到phpstrom中,只需要簡單快捷鍵或者命令,直接輸出apidoc註釋的完整結構。

什麼是apidoc?

apiDoc creates a documentation from API annotations in your source code.
官方文件

上面的官方文件中的一句話:apidoc 在原始碼中建立了一個API註釋的文件。apidoc是nodejs開發的,編寫好註釋文件後,一條命令即可生成html介面文件。

如何定義Live Templates?

  1. 開啟Live Templates自定義的設定介面:File>Settings>Editor>Live Templates,
    這裡寫圖片描述
  2. 新增一個分組PHP DOC
  3. 新增一個動態模板acc,我們可以將我們預期的自動補全註釋結構編輯到模板當中,我這裡直接放了一個完整的apidoc示例
/**
 * @api {post | get} /module/controller/action 名稱
 * @apiGroup 分組名稱
 * @apiName 名稱
 * @apiVersion 1.0.0
 *
 * @apiDescription 介面描述
 *
 * @apiParam
{String} $param1 引數說明 * * @apiSuccess {Number} code 狀態碼,0:請求成功 * @apiSuccess {String} message 提示資訊 * @apiSuccess {Object} data 返回資料 * * @apiSuccessExample {json} Success-Response: * {"code":0,"message":"","data":[]} * * @apiErrorExample {json} Error-Response: * {"code":5001,"message":"介面異常"} * */
public function $NAME$($PARAMETERS$){ $END$ }

這裡寫圖片描述
4. 儲存後,可以到編譯器中試驗一下,直接輸入acc即有提示,按下Tab鍵自動補全。
這裡寫圖片描述
這裡寫圖片描述

總結

上面更多的只是展示了自定義方法,咱們具體設定的時候就靈活很多了,可以根據需要把apiParam、apiSucess等這些分佈拆成獨立的模板,需要的時候根據不同的指令快速輸出想要的註釋結構。
jetbrains 家族的開發工具,都使用的是Apache Velocity模板語言,如果在自定義動態模板中應用模板語言,能使我們自定義的動態模板更靈活強大。

相關推薦

phpstrom定義Live Templates支援apidoc註釋

前言 最近工作中經常使用到apidoc生成web api文件,程式碼中寫apidoc的註釋結構還是比較痛苦的,沒有提示純手敲,忘記一些結構還得去翻apidoc的文件,很痛苦的有木有…… 後來我就在想,是否可以把apidoc的註釋語法結構定義到phpstrom

shell腳本定義日誌記錄到

%d shell fun logging pytho 文件 定義 日誌記錄 gin 自定義日誌函數和前期變量 # adirname - return absolute dirname of given file adirname() { odir=`pwd`; cd

Idea_學習_03_IDEA使定義類型的進行代碼高亮識別

segment tar register 定義 類型 自定義類 pos edi ref 如果你只是想用xml的編輯模式來編輯*.screen文件的話,可以在 Settings->Editor->File Types 中,在Recognized File Ty

定義Log 寫到

public stream ndt generic file alt IT ram -- using System; using System.Collections.Generic; using System.Web; using System.IO

JavaScript定義函數以及本框、radio、下拉框的值的獲取,結合淘寶競拍案例來理解。。。

支付寶 價格 select back html alt 文本框 lec 獲取 淘寶競拍案例: HTML部分代碼: <form action="#" method="post"> <h2>歡迎進入淘寶競拍</h2> &l

Log4Net 之將定義屬性記錄到 (三)

hive days bsp 文本 處理 message homepage layout backup 即解決了將自定義屬性記錄到數據庫之後。一個新的想法冒了出來,自定義屬性同樣也能記錄到文件中嗎?答案是肯定的,因為Log4Net既然已經考慮到了數據庫記錄方式,當然也一定考慮

D-django定義導出csv

自定義 reat object == query writer iter hour csv文件 import csv from datetime import timedelta def download_csv(commend=None): resp

scrapy定義pipeline下載圖片/

自定義圖片/文件下載pipeline,自定義一個自己需要的路徑來儲存下載的圖片/文件 自定義pipeline可以基於scrapy自帶的ImagesPipeline的基礎上完成。 可以重寫ImagesPipeline中的三個法:get_media_requests(),file_path(),

swagger如何掃描定義註解生成介面

自定義JsonSupport註解用於接收前端傳過來的引數。 如果是使用@RequestBody 註解可以生成介面文件資訊

python交互環境中導入定義的函數報錯

ror return 編輯器 src per code 文件刪除 import png 今天在學習python自定義函數時,遇到一個問題:我用notepad++編輯器自定義的函數,在交互環境下使用from 文件名 import 函數名 導入時,一直報錯,檢查了好幾遍,一直報

EXCEL 定義函式的應用(關於 XOR 在 EXCEL 的用法 及 字型數字求和)

EXCEL 中,能否同調用內建函式一樣在工作表中呼叫自已製作的自定義函式,出現對話方塊.同時也能做到像內建函式對話方塊裡的說明?答案是肯定的,下面舉例說明:題目: ①對文字型一系列數字進行求和(SUM()返回0)              ②對數值型的一系列數字異或操作(EX

淺析在QtWidget定義Model(beginInsertRows()和endInsertRows()是空架子,類似於一種信號,用來通知底層)

cti ron 初學者 開發 http 沒有 insert ati 學習 Qt 4推出了一組新的item view類,它們使用model/view結構來管理數據與表示層的關系。這種結構帶來的功能上的分離給了開發人員更大的彈性來定制數據項的表示,它也提供一個標準的model接

Python編程定義Lambda函數的使用場景

list str pre net 代碼 接收 n) app image Python 中定義函數有兩種方法,一種是用常規方式 def 定義,函數要指定名字,第二種是用 lambda 定義,不需要指定名字,稱為 Lambda 函數。 Lambda 函數又稱匿名函數,匿名函數

Laravel5.4定義404等錯誤頁面

dtd app top exc auto get 1.0 存在 href 1.在resources/views/下簡歷文件夾error,在error文件中建立"404.blade.php文件"。    1 <!DOCTYPE html PUBLIC "-//W3C

c#(winform)定義ListItem類方便ComboBox添加Item項

urn left over string his 定義 return box item 1.定義ListItem類 public class ListItem { private string _key = string.Empty;

javaScript定義sort的比較函數,用於比較字符串長度,數值大小

var cti lin family 字符串長度 tr1 個數 new fun var arr = [‘aa‘, 23, 1.2, ‘bb‘, ‘cc‘]; var len = arr.length; // for (var i = 0; i < len; i++)

ZBrush 4R7定義筆刷

信息 com 如果 功能 軟件版本 簡單 分享 按鈕 使用 為了便於雕刻,ZBrush?很人性化地設計了自定義筆刷。隨著ZBrush軟件版本不斷更新,功能也在不斷完善。只是在筆刷面板ZBrush軟件就為用戶提供了上百種之多,如果我們想要用某種筆刷,一個個找起來是不是很麻煩,

1 .net定義事件的步驟

sender soc size etc utf nbsp 並且 ram void 1 申明一個自定義的類並且繼承事件的基類 public class ClientSocketModelConnectedEvent:EventArgs { priv

jqGrid細節備註—jqGrid定義格式,URL格式

cto cti 函數名 pan sortable mod 51cto show 對象 本文來自:http://cnn237111.blog.51cto.com/2359144/782137 jqGrid中自定義格式,URL格式 當官方自帶的showlink用起來不是十分

gecode定義brancher

size 方式 val mit share pro clu assign rtu 實際應用中,往往要比官方的示例復雜很多,這裏對變量的選擇等往往需要以自定義的方式進行選擇,這個時候就需要自定義brancher,相關註釋在代碼中 #include <gecode/in