Я был точно в такой же ситуации и до сих пор не нашел какой-либо макрофункции в phpDesigner.
Так что просто решил использовать Autohotkey. Это очень маленькая бесплатная программа (она подойдет для вашего старого компьютера), которая имеет очень мощный язык сценариев для создания макросов.
Таким образом, этот метод может применяться ко всем используемым IDE, не только к PhpDesigner.
Я написал следующий скрипт:
^t:: ;invoke by copying variable name to clipboard, and pressing control+t
fun = %ClipBoard% ;takes the content of clipboard
result = `r`n/** ;`r`n = carriage return on windows
result = %result% `r`n * @return
result = %result% `r`n */
result = %result% `r`npublic function get_%fun%() {
result = %result% `r`n`treturn $this->%fun%;
result = %result% `r`n`}`r`n
result = %result% `r`n/**
result = %result% `r`n * @param %fun%
result = %result% `r`n * @return
result = %result% `r`n */
result = %result% `r`npublic function &set_%fun%($%fun%) {
result = %result% `r`n`t$this->%fun% = $%fun%;
result = %result% `r`n`treturn $this;
result = %result% `r`n`}
result = %result% `r`n
ClipBoard = %result% ;stores result on clipboard
Send {down}{home} ;moves to prevent overwriting selected text
Send ^v ;writes result to text editor
Send {shiftdown}{controldown}{f1}{controlup}{shiftup} ;PHPDesigner format file
Sleep 50 ;waits for paste to finish
ClipBoard = %fun% ;restores previous clipboard
VarSetCapacity(fun, 0) ;empties variable
Return
Это работает следующим образом: сначала найдите определение свойства (или запишите его):
protected $table_name_a;
Затем выберите «table_name_a», скопируйте его в буфер обмена (control + c), затем нажмите control + t.
При этом он записывает (и вызывает Control + Shitf + F1 для форматирования кода в текущем файле):
/**
* @return
*/
public function get_table_name_a() {
return $this->table_name_a;
}
/**
* @param table_name_a
* @return
*/
public function &set_table_name_a($table_name_a) {
$this->table_name_a = $table_name_a;
return $this;
}
Созданный код разработан в соответствии с моими потребностями. Мне все еще приходится кодировать внутри комментариев и вызовов функций, типов и классов для переменных, для документирования и подсказок типов.
Вы можете легко изменить скрипт, например, запрашивая имя переменной, поэтому его объявление также записывается (у меня все кодированные переменные уже закодированы).
Интернет полон документации, примеров и помощи по Autohotkey, вы можете начать с: