Как сохранить файл в intellij idea

Save and revert changes

IntelliJ IDEA automatically saves changes that you make in your files. Saving is triggered by various events, such as compiling, running, debugging, performing version control operations, closing a file or a project, or quitting the IDE. Saving files can be also triggered by third-party plugins.

Most of the events that trigger auto-save are predefined and cannot be configured, but you can be sure that changes will not be lost and you can find all of them in local history.

Configure autosave behavior

In the Settings/Preferences dialog ( Ctrl+Alt+S ), select Appearance & Behavior | System Settings .

Under Autosave , configure the following options:

Save files when switching to a different application or a built-in terminal : Save all modified files when you switch from IntelliJ IDEA to a different application.

Save files if the IDE is idle for N seconds : Save all modified files at regular time intervals.

Apply the changes and close the dialog.

Mark files with unsaved changes

You can mark unsaved files with an asterisk (*) on the file tab:

In the Settings/Preferences dialog ( Ctrl+Alt+S ), select Editor | General | Editor Tabs .

Select the Mark modified (*) checkbox.

Apply the changes and close the dialog.

After that, the tab of the file in which you have unsaved changes will be marked with an asterisk.

If you use version control integration, names of all modified files will be also marked with a dedicated color on the file tab and in the Project tool window.

Save changes manually

You can always save your changes manually:

Press Ctrl+S or select File | Save All from the main menu.

Trigger actions when saving changes

In IntelliJ IDEA, you can configure the actions that will be triggered every time your modified files are saved.

In the Settings/Preferences dialog ( Ctrl+Alt+S ), select Tools | Actions on Save .

Select the checkboxes next to the actions that you want to trigger on save:

Reformat code: reformat your code according to your current code style settings.

Optimize imports: remove unused imports and organize import statements according to your current code style settings.

Rearrange code: reorder code elements according to your current code style settings.

Run code cleanup: batch-apply quick-fixes from code cleanup inspections in the current inspection profile.

Update copyright notice: update information in copyright notices in project files.

Run eslint —fix: (IntelliJ IDEA Ultimate) fix the detected problems with ESlint.

Enabling this option also enables Run eslint —fix on save.

Upload to default server: (IntelliJ IDEA Ultimate) upload modified files to your default deployment server.

Build project: compile all the classes inside your build target and place them inside the output directory.

Enabling this option also enables Build project automatically.

For some actions, you can configure the settings more precisely. To do so, hover the mouse pointer over an action and click the configuration link.

For example, for code reformatting, you can specify files and folders that you don’t want to change. Hover the mouse pointer over the action and click Configure scope to exclude specific files and folders from reformatting.

You can also select whether to reformat the whole file or only modified lines.

Apply the changes and close the dialog.

Once the necessary actions are enabled, they will be automatically triggered on every save (autosave, explicit save invoked with Ctrl+S or by selecting File | Save All ) as you work with your project.

Revert changes

For most recent changes, including refactorings, press Ctrl+Z or choose Edit | Undo from the menu.

For a more detailed view of past changes, use Local History.

For the most robust tracking of all changes, use a version control system.

Как сохранить файл в intellij idea

Основы работы с IntelliJ IDEA. Интерфейс программы

Для написания Java-программы (и естественно, Kotlin) по большому счету достаточно обыкновенного текстового редактора, но, конечно же, такой вариант просто несопоставим с использованием профессиональных сред разработки приложений, так называемых IDE (Integrated Development Environment).

IntelliJ IDEA – это интегрированная среда разработки программного обеспечения на Java/Kotlin от компании JetBrains. Кстати, не только на них. Среда с успехом используется и для других языков программирования, например, Scala. Первая версия программы появилась в 2001 г. и с тех пор программа неуклонно повышает свой рейтинг популярности. IntelliJ IDEA выпускается в двух редакциях: Community Edition и Ultimate Edition. Первая версия является полностью бесплатной. Вторая версия распространяется под различными лицензиями и, как декларируется, может использоваться бесплатно для разработки проектов с открытым программным кодом.

Версии отличаются также поддерживаемыми технологиями.

  1. Ultimate Edition:
  • полнофункциональная среда разработки под JVM и разработке на различных языках: Java, Kotlin, PHP, JavaScript, HTML, CSS, SQL, Ruby, Python;
  • поддержка технологий Java EE, Spring/Hibernate и других;
  • внедрение и отладка с большинством серверов приложений.
  1. Community Edition:
  • полнофункциональная среда разработки для Java SE, Kotlin, Groovy и Scala;
  • мощная среда для разработки под Google Android.

Программа содержит полный набор необходимых для создания полноценных приложений компонент: редактор, среда компиляции и выполнения, а также отладчик.

Естественно, IntelliJ IDEA – не единственная среда создания приложений для Java, достаточно припомнить популярную Eclipse или NetBeans, так что разработчику есть из чего выбирать.

Скопировать дистрибутив можно с сайта разработчика компании JetBrains по ссылке http://www.jetbrains.com/idea/. Установка IntelliJ IDEA проблем не вызывает. Отмечу только, что при инсталляции установите ассоциацию программы (Create associations) с файлами Java и Kotlin.

После установки при первоначальной загрузке IntelliJ IDEA появляется стартовое окно «Welcome to IntelliJ IDEA», позволяющее загрузить либо открыть проект, импортировать проект, выполнить его загрузку из репозитория нескольких систем контроля версий («Check out from Version Control»). При наличии в проекте файлов настройки сборки для Maven или Gradle, IntelliJ IDEA предложит вам использовать их для конфигурации.

После работы с определенным проектом, он запоминается, и при последующем запуске программы происходит загрузка последнего открытого проекта. Впрочем, это происходит при настройках программы по умолчанию, когда в настройках программы (FileSettings) в группе Appearance & Behavior (Внешний вид и поведение), System Setting (Настройки программы) установлен флажок для поля-метки Reopen last project on startup (Открывать последний проект при загрузке).

Основное окно программы в общем виде состоит из трех областей, называемых также инструментальными окнами (на рисунке отмечены красным) и окна редактора (оранжевое).

Инструментальные окна располагаются по периметру окна редактора, то есть слева, справа и внизу от него на полях главного окна, которые в дальнейшем будем называть боковыми панелями (sidebar в терминологии программы). Поскольку инструментальные окна отображают разноплановую информацию, то каждая боковая панель содержит ряд вкладок, которые открываются при выполнении определенной команды. Переход к нужной вкладке (инструментальному окну) осуществляется щелчком на ее названии, которые располагаются на боковых панелях главного окна. Названию некоторых вкладок инструментальных окон предваряет цифра. Используя клавишу совместно с этой цифрой, можно быстро перейти к этой вкладке, попутно открыв ее, если она находится в свернутом положении, либо, наоборот, свернуть ее.

Перед кратким описанием инструментальных окон оговорюсь, что рассматриваемая структура расположения предлагается такой, какой она является после установки программы по умолчанию. Именно такое расположение я и буду рассматривать далее. Однако это вовсе не означает, что инструментальные окна нельзя расположить в других местах главного окна, о чем речь пойдет ниже.

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

Программа содержит внушительный инструментарий управления вкладками окна. Так, расположение вкладок можно произвольно изменять, располагая их, например, горизонтально, перебрасывая файлы из одной группы вкладок в другую, что достигается при помощи группы команд WindowsEditor Tabs либо из контекстного меню, вызываемого на вкладке окна редактирования. При необходимости конкретную вкладку можно закрепить, что бывает полезным при большом количестве вкладок, когда все они не помещаются в окне редактирования, для чего используем команду Pin Tab, о чем речь пойдет ниже.

С правого края окна (в районе полосы прокрутки) могут находятся горизонтальные линии, отмечающие проблемные блоки кода, содержащие ошибки и предупреждения. А в правом вершнем углу отображается общее сосотяние файла (красный — есть ошибки, желтый — есть предупреждения, зеленый — все нормально). Подробнее об этом также позже.

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

Для отображения нумерации строк программного кода следует вызвать контекстное меню (кликнуть правой кнопкой мыши) на вертикальной полосе в левой части окна редактирования и выбрать Show Lines Numbers (Отображать нумерацию строк). Однако при таком действии отображение строк осуществляется только в текущем сеансе. Для постоянного же отображения нумерации строк программного кода следует в настройках раскрыть последовательно пункты Editor (Редактор), General (Общие настройки), Appearance (Внешний вид) и установить флажок для поля-метки Show line numbers (Отображать номера строк).

Сам программный код (подсветка текста, шрифты) оформляются в соответствии с настройками программы, о чем речь пойдет позже.

Инструментальное окно проекта

На левой боковой панели отображается инструментальное окно проекта. Оно содержит вкладку иерархической структуры проекта (Project), вкладку структуры (списка метода) класса (Structure) и вкладку Favorites (Избранное), в которой отображаются закладки и точки останова.

Выбор во вкладке структуры проекта приводит к отображению его содержимого в окне редактора. Поскольку код практически любого класса содержит множество методов/функций, то вкладка «Structure» как раз и отображает их список. Он может быть упорядочен как по алфавиту (Sort by Alphabetically), так и в порядке их расположения в (Sort by Visibility). Щелчок на имени класса инициирует переход на начало метода или функции в окне редактора.

Инструментальное окно Избранное

В нижней части левой боковой панели основного окна можно вывести инструментальное окно «Favorites» (Избранное), содержащее, например, список точек останова и закладок, обеспечивая тем самым к ним быстрый доступ.

Инструментальное окно с инструментами сборки проектов

Данное окно располагается на правой боковой панели. Оно изначально содержит вкладки для наиболее распространенных инструментов сборки проектов Java – Gradle (или Maven) и Ant.

Инструментальное окно вывода

Окно располагается на нижней инструментальной панели. В нем в зависимости от характера информации отображаются, например, сообщения компиляции («Messages»), консольный ввод/вывод («Terminal»), контроль изменений проекта («Version Control»), результаты работы отладчика («Debug») и некоторые другие.

Создается проект просто: FileNewProject. А вот дальше возникают вопросы: какого типа у нас проект, какие библиотеки нужны.

Мы в своих проектах будем использовать Gradle и Kotlin/JVM. Если со вторым пунктом (язык программирования и реализация под JavaVirualMachine) сомнений нет, то с первым пока непонятно. Я выбрал Gradle, потому что он используется по-умолчанию в Android Studio с которым мы познакомимся в следующем году. Но что вообще означают эти слова: Maven, Gradle?

Если коротко, то это системы сборки проектов, а если подробно, то читайте, например, тут

При создания нового проекта система создает для нас необходимую структуру каталогов и файлы настроек. Нам из всего этого пока понадобится только каталог с исходными кодами и настройки системы сборки проектов:

Для создания нового файла нужно кликнуть правой кнопкой мыши на подкаталоге kotlin в каталоге src и выбрать Kotlin File/Class

В появившемся окне введите название файла и выберите из списка File

В первом созданном файле (у нас он называется main.kt, но это не обязательно) сделайте точку входа в программу:

Любая программа (консольная, про андроид мы пока не говорим) начинается с функции main.

В лабораторных работах, чтобы не плодить проекты, мы будем использовать один и тот же проект с одним главным файлом, а для разных задач создавать дополнительные файлы, например:

Все файлы одного пакета (название пакета мы не задавали, но он назначается системой) собираются в одину программу. Таким образом весь код лабораторной работы мы будем писать в отдельном файле (lab1.kt), а вызывать его из функции main. Это упростит нам работу с репозиторием (с ним мы познакомимся на следующем занатии) и уменьшит количество мусора на диске.

Как выгрузить созданную программу из Intellij Idea?

Нажмите ПКМ внутри main метода и затем run. Если точнее «run <имя класса*>.main()»
* Имя класса, в котором находится метод main.

Но если вы хотите не просто запустить, а собрать Runnable Jar файл из всего проекта, то так:
File -> Project Strucure -> Artifacts -> «+» (слева наверху, чуть правее угла) -> JAR -> From modules with dependencies. -> Выбираете Class с main методом -> Ok.

Всё, вы всё настроили, теперь, чтобы создать jar файл, надо нажать:
Build -> Build Artifacts -> выбрать Build в открывшемся списке.

Записки программиста

Краткая шпаргалка по сочетаниям клавиш в IntelliJ IDEA

Как ранее уже сообщалось, я начал активно изучать возможности IntelliJ IDEA. В частности, я стараюсь запомнить наиболее востребованные хоткеи, чтобы выполнять большую часть работы, не отрывая руки от клавиатуры, как это происходит при программировании в Vim. По моим наблюдениям, это реально экономит кучу времени. Я сделал для себя шпаргалку по хоткеям IDEA, которую вы найдете под катом. Полагаю, она также пригодится кому-то из посетителей данного блога.

Примечание: Те же сочетания клавиш работают и в других продуктах JetBrains, например, PyCharm и CLion.

Ниже не приводятся общеизвестные и очевидные сочетания вроде Ctr+C, Ctr+V или Ctr + S. В IntelliJ IDEA многие хоткеи имеют парный хоткей отличающийся только тем, что в нем дополнительно участвует клавиша Shift. Обычно она добавляет в том или ином виде выделение текста. Например, Ctr + End переводит курсор в конец файла, а Ctr + Shift + End выделяет код от текущей позиции до конца файла. Догадаться о существовании парных хоткеев несложно, поэтому далее они не приводятся. Наконец, если в любом диалоге IntelliJ IDEA вы видите подчернутые буквы, знайте, что сочетание Alt + буква равносильно использованию соответствующего контрола (обычно кнопок). Например, быстро запушить код в репозиторий можно путем нажатия Ctr + K, Alt + I, Alt + P, а затем снова Alt + P.

Итак, основные сочетания следующие.

Редактирование:

Ctr + Z Undo, отменить последнее действие
Ctr + Shift + Z Redo, отменить последнюю отмену действия
Ctr + Shift + V Расширенная вставка из буфера обмена (с историей)
Ctr (+ Shift) + W Инкрементальное выделение выражения
Ctr + влево/вправо Перемещение между словами
Ctr + вверх/вниз Прокрутка кода без изменения позиции курсора
Ctr + Home/End Переход в начало/конец файла
Shift + Del (Ctr + Y) Удаление строки, отличие в том, где потом окажется курсор
Ctr + Del Удалить от текущей позиции до конца слова
Ctr + Backspace Удалить от текущей позиции до начала слова
Ctr + D Дублировать текущую строку
Tab / Shift + Tab Увеличить / уменьшить текущий отступ
Ctr + Alt + I Выравнивание отступов в коде
Ctr + Alt + L Приведение кода в соответствие code style
Ctr + / Закомментировать/раскомментировать текущую строку
Ctr + Shift + / Закомментировать/раскомментировать выделенный код
Ctr + -/+ Фолдинг, свернуть/развернуть
Ctr + Shift + -/+ Фолдинг, свернуть/развернуть все
Ctr + Shift + . Сделать текущий скоуп сворачиваемым и свернуть его
Ctr + . Сделать текущий скоуп несворачиваемым
Ctr + R Замена в тексте
Ctr + Shift + R Замена во всех файлах

Окна, вкладки:

Alt + влево/вправо Перемещение между вкладками
Ctr + F4 Закрыть вкладку
Alt + циферка Открытие/закрытие окон Project, Structure, Changes и тд
Ctr + Tab Switcher, переключение между вкладками и окнами
Shift + Esc Закрыть активное окно
F12 Открыть последнее закрытое окно
Ctr + колесико Zoom, если он был вами настроен

Закладки:

F11 Поставить или снять закладку
Ctr + F11 Аналогично с присвоением буквы или цифры
Shift + F11 Переход к закладке (удаление — клавишей Delete)
Ctr + Число Быстрый переход к закладке с присвоенным числом

Подсказки и документация:

Ctr + Q Документация к тому, на чем сейчас курсор
Ctr + Shift + I Показать реализацию метода или класса
Alt + Q Отобразить имя класса или метода, в котором мы находимся
Ctr + P Подсказка по аргументам метода
Ctr + F1 Показать описание ошибки или варнинга
Alt + Enter Показать, что нам предлагают «лампочки»

Поиск:

Дважды Shift Быстрый поиск по всему проекту
Ctr + Shift + A Быстрый поиск по настройкам, действиям и тд
Alt + вниз/вверх Перейти к следующему/предыдущему методу
Ctr + [ и Ctr + ] Перемещение к началу и концу текущего скоупа
Ctr + F Поиск в файле
Ctr + Shift + F Поиск по всем файлам (переход — F4)
Ctr + F3 Искать слово под курсором
F3 / Shift + F3 Искать вперед/назад
Ctr + G Переход к строке или строке:номеру_символа
Ctr + F12 Список методов с переходом к их объявлению
Ctr + E Список недавно открытых файлов с переходом к ним
Ctr + Shift + E Список недавно измененных файлов с переходом к ним
Ctr + H Иерархия наследования текущего класса и переход по ней
Ctr + Alt + H Иерархия вызовов выбранного метода
Ctr + N Поиска класса по имени и переход к нему
Ctr + Shift + N Поиск файла по имени и переход к нему
Ctr + B Перейти к объявлению переменной, класса, метода
Ctr + Alt + B Перейти к реализации
Ctr + Shift + B Определить тип и перейти к его реализации
Shift + Alt + влево Перемещение назад по стеку поиска
Shift + Alt + вправо Перемещение вперед по стеку поиска
F2 / Shift + F2 Переход к следующей / предыдущей ошибке
Shift + Alt + 7 Найти все места, где используется метод / переменная
Ctr + Alt + 7 Как предыдущий пункт, только во всплывающем окне

Генерация кода и рефакторинг:

Ctr + Space Полный автокомплит
Ctr + Shift + Space Автокомплит с фильтрацией по подходящему типу
Alt + / Простой автокомплит по словам, встречающимся в проекте
Ctr + I Реализовать интерфейс
Ctr + O Переопределить метод родительского класса
Ctr + J Генерация шаблонного кода (обход по итератору и тд)
Ctr + Alt + J Обернуть выделенный код в один из шаблонов
Alt + Insert Генератор кода — сеттеров, зависимостей в pom.xml и тд
Shift + F6 Переименование переменной, класса и тд во всем коде
Ctr + F6 Изменение сигнатуры метода во всем коде
F6 Перемещение метода, класса или пакета
F5 Создать копию класса, файла или каталога
Shift + F5 Создать копию класса в том же пакете
Alt + Delete Безопасное удаление класса, метода или атрибута
Ctr + Alt + M Выделение метода
Ctr + Alt + V Выделение переменной
Ctr + Alt + F Выделение атрибута
Ctr + Alt + C Выделение константы (public final static)
Ctr + Alt + P Выделение аргумента метода
Ctr + Alt + N Инлайнинг метода, переменной, аргумента или константы
Ctr + Alt + O Оптимизация импортов

Прочее:

Понятное дело, в этой шпаргалке названы далеко не все возможности IntelliJ IDEA. Всем заинтересованным лицам я настоятельно рекомендую вот прямо брать и читать ее замечательную документацию, там очень много интересного. Жаль только, что документация не доступна в виде одного большого PDF файла.

Дополнение: В последних версиях IDEA можно использовать несколько курсоров, разместив их либо при помощи комбинации Alt+Shift+ЛКМ, либо вертикальным выделением при помощи клика средней клавишей мыши. Держа на вооружении сочетание Ctr + влево/вправо, осуществляющего переход между словами, а также другие, можно очень удобно редактировать сразу несколько строк кода.

Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *