Intellij Idea Live Шаблоны - PullRequest
       131

Intellij Idea Live Шаблоны

0 голосов
/ 22 декабря 2018

Я сталкивался с проблемой написания моего текущего имени ветки vcs каждый раз, когда писал комментарий todo.

Недавно я узнал о «живых шаблонах» Intellij, которые довольно удобны в использовании.Я пытался применить его к своей проблеме, но нет шаблонов для извлечения имени ветви.

Итак, вопрос в том, могу ли я на самом деле извлечь название моей ветви, чтобы как-то кодировать комментарии?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Можно использовать предопределенную функцию groovyScript и скрипт для извлечения имени ветви.Например, создайте следующий живой шаблон:

$COMMENT$ todo [$BRANCH$]: $END$

с аббревиатурой «todo» и описанием «Вставка комментария todo с именем ветви».Нажмите Изменить переменные и дайте переменным следующие определения:

КОММЕНТАРИЙ:

lineCommentStart()

ФИЛИАЛ:

groovyScript("com.intellij.dvcs.repo.VcsRepositoryManager.getInstance(_editor.project).getRepositoryForFile(com.intellij.openapi.fileEditor.FileDocumentManager.getInstance().getFile(_editor.document)).getCurrentBranchName()")

Пропустить, еслиопределено проверено для обеих переменных.Скрипт Groovy (к сожалению) состоит из одной строки.Установите для соответствующих контекстов значение Everywhere.

. С этим живым шаблоном теперь можно набрать todo Tab где-нибудь в исходном файле, и будет вставлен комментарий к строке с именем ветви.,Это вставит правильный комментарий в зависимости от языка файла или ничего в случае языков без комментария, такого как HTML.И должен извлекать имя ветви независимо от типа используемого управления версиями (я тестировал с Git).

0 голосов
/ 22 декабря 2018

Для живых шаблонов вы можете использовать предопределенные функции .К сожалению, нет функции для определения текущей ветви VCS.
Но вы можете создать шаблон, чтобы немного упростить работу:

// TODO [$branch_name$]: $comment$

С этим шаблоном вам все равно нужно заполнить имя ветви, ноВы не должны вводить символы, такие как [, и курсор будет размещен автоматически.

Вы также можете создать запрос функции для новой предопределенной функции.

...