Ответ 1
Вы можете сделать это через 1) настройку 2) аннотацию и/или 3) комментарий. Для любого из них вы должны включить плагин IntelliLang
.
Настройка
Вы можете добавить параметр, чтобы сказать, что конкретный параметр метода имеет определенный "язык" (например, SQL).
- Открыть настройку (Ctrl + Alt + S/⌘ ,) > Редактоp > Языковые инжекторы
- Справа нажмите кнопку "Добавить" и выберите
Java Parameter
- В диалоговом окне "Параметры ввода языка" выберите
SQL
(или нужный язык) в поле ID- Вы также можете указать конкретный диалект SQL, например
MySQL
,Oracle
и т.д.
- Вы также можете указать конкретный диалект SQL, например
- В поле "Методы класса" введите метод, который вы хотите идентифицировать как принимающий параметр
SQL
. Вы можете открыть окно браузера/поиска класса с помощью кнопки многоточия- Вы можете выбирать классы из своего кода или из библиотек
- Если ваш метод принимает несколько параметров, вы можете выбрать параметр в диалоговом окне:
Теперь IntelliJ IDEA автоматически применяет языковой инжекцию при использовании этого метода:
Аннотации
Вы можете аннотировать параметр метода (или переменную или поле) как определенный тип языка. По умолчанию IntelliJ IDEA будет использовать аннотацию org.intellij.lang.annotations.Language
, которая находится в annotations.jar
, включенном в IntelliJ IDEA. Он расположен в <installDirectory>/redist/annotations.jar
или в центре maven: g: "com.intellij" AND a: "аннотации" (Примечание: последняя банка в центральной части maven из версии 12. У него есть все, что вам нужно. В v14 добавлена не связанная аннотация. Я загружу банки из v13 и v14 в maven сегодня (так как я был тем, кто сделал это в прошлое и имело смысл обновлять их), но для обработки через систему требуется несколько дней.)
Добавьте аннотации JAR к вашему пути к классу. Затем аннотируйте свой параметр параметра как SQL. Обратите внимание: выполнение кода будет выполняться при вводе типа языка:
public void checkDatabase(String foo, @Language("SQL")String sql, String bar)
Мне нравится аннотация, так как даже для пользователей, не входящих в IntelliJ IDEA, это позволяет им знать, что строка должна быть действительной SQL, XML, CSS или что-то еще. Вы также можете аннотировать переменную или поле:
При желании вы можете изменить аннотацию для использования в настройке (Ctrl + Alt + S/⌘ ,) > Редактоp > Языковые инжекторы > Дополнительно
Комментарий
В качестве альтернативы аннотации вы можете использовать комментарий. (Я не могу вспомнить, когда это было добавлено, поэтому оно не может быть в v13). Насколько мне известно, языковая инъекция через комментарии работает только для переменных и полей. Он не работает для параметров. Например:
PS См. разделы справки Справкa > Руководствa > Общие рекомендации > Использование языковых инъекций (доступно онлайн здесь) и Справкa > Руководствa > Язык и рамки - конкретные рекомендации > IntelliLang (доступный онлайн здесь) для получения дополнительной информации.