Как настроить код, создаваемый при использовании "Surround with try/catch"?

Каждый разработчик Android застрял в следующей ситуации:

public void catchMeThod() {
    throwedMethod();
}

public void throwedMethod() throws IOException{
    throw new IOException("File is missing.");    
}

Так как IOException проверено исключение throwedMethod обязывает нас обращаться с ним.

Когда я перемещаю каретку внутри throwedMethod и нажимаю Alt + Enter, Android Studio предлагает мне несколько возможных сценариев:

! [введите описание изображения здесь

По умолчанию я выбираю опцию Surround with try/catch, а Android Studio генерирует следующий код:

введите описание изображения здесь

И мой вопрос: как изменить этот триггер, заменить

e.printStackTrace() 

с

Log.e(getClass().getSimpleName(), "Handled exception", e);

Ответ 1

  • Перейти к Android Studio Preferences | Editor | File and Code Templates

  • Выберите Code | Catch Statement Body

  • Замените существующий шаблон на:

    ${EXCEPTION}.printStackTrace(); 
    

    с:

    Log.e(getClass().getSimpleName(), "Exception handled", ${EXCEPTION});
    

Предварительный просмотр:

Пользовательский шаблон try..catch

Наслаждайтесь настроенным шаблоном:)

Ответ 2

Эти "шаблоны" управляются Postfix Completion ( "Настройки" > "Редактор" > "Общие" > "Завершение постображения" > try).

К сожалению, они жестко закодированы в IDE и не могут быть изменены. Единственный способ - заменить их вручную.

Изменить только в текущем файле

Нажмите cmd + R (или используйте, если вы используете windows/linux).

В верхней строке введите текст для поиска, в нижней строке - текст для его замены. Затем нажмите "Заменить все".

введите описание изображения здесь

Изменить везде

В представлении проекта щелкните правой кнопкой мыши приложение и выберите "заменить в пути". Заполните поля и нажмите "Найти".

введите описание изображения здесь