Почему в idea файлы красные

Обновлено: 06.07.2024

Copy raw contents

Основы работы с 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, так что разработчику есть из чего выбирать.

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

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


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


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

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

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

Программа содержит внушительный инструментарий управления вкладками окна. Так, расположение вкладок можно произвольно изменять, располагая их, например, горизонтально, перебрасывая файлы из одной группы вкладок в другую, что достигается при помощи группы команд Windows - Editor 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.

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

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


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

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

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


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

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


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

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

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

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

out folder highlighted with an orange background

Почему выделена папка out и все ее содержимое? Значит ли это, что я сделал что-то не так?

2 ответа

Когда я создаю проект в JetBrains WebStorm, создается папка с именем .idea . Ничего, если я его удалю? Повлияет ли это на мой проект?

Может ли кто-нибудь внятно объяснить, что такое папки out и .idea в структуре проекта? Хотя я не новичок в Java, мне нужна помощь, чтобы понять, как все компоненты в типичном IDE работают вместе. Раньше я использовал BlueJ, который был очень прост в использовании, но он маскировал все фоновые.

Это выходной каталог компилятора проекта . Красный цвет означает, что это исключенный каталог в проекте. Файлы в исключенных папках игнорируются при завершении кода, навигации и проверке.

Эта папка создается при компиляции проекта и содержит скомпилированные классы.

Похожие вопросы:

На Haskell wiki я прочитал, что это : fib = let fib' 0 = 0 fib' 1 = 1 fib' n = fib (n - 1) + fib (n - 2) in (map fib' [0 ..] !!) это более эффективно, чем это: fib x = let fib' 0 = 0 fib' 1 = 1 fib'.

Я использую IntelliJ IDEA 11.1.2 Ultimate с многомодульным проектом Gradle 1.0. Один модуль представляет домен. Выходные данные проектов указывают на [project-root]\out. Но если я запускаю модульный.

Моя папка jni в Eclipse выглядит так: Он серый и имеет диагональную линию поперек. Что это значит? Я все еще могу редактировать свой родной код C++ в этой папке и видеть изменения, когда я тестирую.

Когда я создаю проект в JetBrains WebStorm, создается папка с именем .idea . Ничего, если я его удалю? Повлияет ли это на мой проект?

Может ли кто-нибудь внятно объяснить, что такое папки out и .idea в структуре проекта? Хотя я не новичок в Java, мне нужна помощь, чтобы понять, как все компоненты в типичном IDE работают вместе.

Я встречаю проблему не могу решить символ AppCompatActivity Я решил эту проблему, удалив папку .idea и синхронизируя проект с файлами gradle с помощью acticle не удается разрешить символ.

Серая папка 'src/test/java Может ли кто-нибудь сказать мне, почему папка выделена серым цветом в eclipse?

Каждый раз, когда я изменяю что-то в своем проекте Android studio (flutter), на GitHub у меня есть более 300 изменений, более или менее по всему репозиторию 'build/ моего проекта. Кроме того, я не.

Я искал в интернете, но ничего не нашел. Я не знаю, что означают эти выделенные файлы в Android Studio:

Я понимаю, что R выделяет определенный текст в зависимости от его функции, но что это значит, когда выделена переменная, которую вы назначаете? И может ли это вызвать какие-либо проблемы? Например.

Цвет файла IntelliJ IDEA изменился по этой причине! !


Я отправил эти файлы на github позавчера, открыл его сегодня, создал новый файл и обнаружил, что цвет файла изменился (это не ошибка! Вы можете скомпилировать и запустить). Это причина!

Парсинг
Я проверил в Интернете: теперь записывайте


Описание изображения

Как доработать в ide?
Цвета этих имен файлов можно изменить, а значение цветов зависит от ваших настроек.

Теперь я снова отправляю в github

Наблюдайте за текущим файлом:

OK!

Интеллектуальная рекомендация


Краткое описание общих функций MPI

содержание 1, основная функция MPI 2, точка-точка функция связи 3, коллективная функция связи 1, основная функция MPI MPI_Init(&argc, &argv) Информировать системы MPI для выполнения всех необх.

Примечание 9: EL выражение


JVM память

концепция Виртуальная машина JVM управляет собственной памятью, которая разделяет память во многие блоки, наиболее распространенной для памяти стека и памяти кучи. 1 структура виртуальной машины JVM H.

Проблема сетевого запроса на Android 9.0

вЗапустите Android 9 (API Уровень 28) или вышеНа устройстве операционной системы Android, чтобы обеспечить безопасность пользовательских данных и устройств, использование по умолчанию для зашифрованно.


Учебная запись по Webpack (3) В статье рассказывается о создании webpack4.0.

предисловие Для изучения веб-пакета автор также предпринял много обходных путей. Есть много вещей, которые я хочу знать, но я не могу их найти. Автор поможет вам быстро начать работу. Цель этой статьи.

У меня есть классы Java, которые отмечены красным в представлении проекта, но IntelliJ IDEA не показывает ошибок и может работать правильно. В чем может быть проблема?


3 ответа

Это означает, что файлы существуют локально, но не находятся в репозитории и не запланированы для добавления. Другими словами, файлы не контролируются версией . На самом деле это не проблема, поскольку при желании файлы можно просто добавить в VCS. Это можно сделать с помощью Добавить в VCS из контекстного меню или с помощью ярлыка ⌥⌘A (Mac) или Ctrl + Alt + A (Windows ).

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

Нажмите Файл -> Синхронизировать , и IntelliJ должен убедиться, что все снова в порядке.

Если это не сработает, возможно, кеши IntelliJ повреждены.

Они не добавляются в репозиторий контроля версий. Выберите их, а затем CTRL-ALT-A (или меню, щелкнув правой кнопкой мыши) добавит их. Зеленый означает, что для фиксации необходимы изменения.

IDEA не распознает классы и пакеты в модуле



2 ответа 2



Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.7.27.39848

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2

Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам

Переход к связанному модульному тесту

С каким еще общим шаблоном навигации мы сталкиваемся при написании кода (особенно, когда мы хотим убедиться, что код работает должным образом)? Мы перемещаемся между классами и соответствующими юнит-тестами. IntelliJ IDEA может распознавать тесты, относящиеся к определенному классу, и предлагает команду под названием Go to a test (Перейти к тесту), назначенную на Ctrl + Shift + T (Cmd + Shift + T для OS X), которая позволяет вам переходить из любого класса к его тестам и наоборот:

Если у класса еще нет тестов, команда поможет вам создать их.

Перемещение вверх по иерархии

Другой распространенный случай — когда вам нужно перейти вверх по иерархии классов для текущего метода (или для всего класса). В большинстве IDE вы можете увидеть специальный значок рядом с определениями методов. Нажав на такой значок, вы можете перейти к соответствующему определению метода в суперклассе (или интерфейсе). В дополнение к этому IntelliJ IDEA имеет специальную команду, которая называется Super Method (Супер метод), доступная через Ctrl + U (Cmd + U для OS X). Эта команда позволяет вам перемещаться одним движением, так что вам даже не придется касаться мышки.

Перемещение вниз по иерархии

Если вы можете перейти вверх по иерархии ваших классов, почему тогда нельзя перейти вниз? Только несколько IDE предоставляют такую возможность, и IntelliJ IDEA является одной из них. В дополнение к иконкам, которые ведут вас в суперкласс, IntelliJ IDEA предоставляет иконки для перехода к соответствующему определению метода в производном классе, поэтому вы можете перемещаться в обоих направлениях: вверх и вниз.

Если вы хотите перемещаться по иерархии еще быстрее, можете использовать команду Implementations (Реализации), назначенную на Ctrl + Alt + B (Cmd + Alt + B для OS X). Эта команда позволяет вам выбрать из всего списка производных классов одну из реализаций, к которой вы хотите перейти:

Иерархия методов

А что если вам нужно увидеть всю иерархию классов, которые реализуют или переопределяют текущий метод? В IntelliJ IDEA вы можете сделать это, вызвав команду Method Hierarchy (Иерархия методов), доступную через Ctrl + Shift + H (Cmd + Shift + H для OS X). Эта команда может помочь вам выяснить, к какому классу вы хотите перейти.

Всплывающая диаграмма

Мы только что узнали, как перемещаться по иерархии определений ваших методов. Иногда нам также может понадобиться перемещаться по иерархии текущего класса (или класса, на котором находится курсор, независимо от каких-либо методов). Для этого в большинстве IDE вы можете использовать команду, которая показывает иерархию данного класса (или интерфейса). В IntelliJ IDEA такая команда называется Type Hierarchy (Иерархия типов) и ее можно вызвать, нажав Ctrl + H.

Как видите, результатом этой команды является дерево. Для некоторых людей такой формат может быть сложен для восприятия. Поэтому IntelliJ IDEA также есть другая команда с названием Diagram popup (Всплывающая диаграмма), назначенная на Ctrl + Alt + U (Cmd + Alt + U для OS X). Вместо того, чтобы показывать скучное дерево, эта команда визуализирует иерархию данного класса на диаграмме:

Не нужно говорить, что вы можете перейти к любому классу или интерфейсу на диаграмме.

Иерархия вызовов методов

Говоря о навигации по иерархиям, классам и определениям методов, мы рассмотрели практически все, кроме одного: навигации по иерархии вызовов методов. Каждый метод вызывает другие методы, которые вызывают другие методы и т. д. Поэтому иногда вам может потребоваться перейти к одному из методов, которые вызываются из текущего или вызывают текущий метод. В IntelliJ IDEA вы можете быстро получить всплывающее окно с иерархией вызовов методов с помощью команды Call Hierarchy (иерархия вызовов), назначенного на Ctrl + Alt + H:

Показать использование символа

Еще один распространенный шаблон — это переход в одно из мест, где используется символ (константа, поле, переменная, метод, класс или интерфейс), на котором стоит курсор. Для этого в любых IDE вы можете использовать команду Find usages (Найти использования символа). Одним из недостатков этой команды, как правило, является ее большой вес: он запускает длительный процесс поиска и открывает окно инструментов с результатами. Поэтому IntelliJ IDEA также предлагает облегченную версию этой команды под названием Show usages (Показать использование символа), доступную через Alt + Ctrl + F7 (Cmd + Alt + F7 для OS X):

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

Последние отредактированные файлы

Первый шаблон в этой статье был о навигации по последним файлам. Что если мы хотим сузить этот список до файлов, которые были недавно отредактированы? Это легко сделать в IntelliJ IDEA с командой Recently Edited Files (Последние отредактированные файлы), назначенной на Ctrl + Shift + E (Cmd + Shift + E для OS X):

Навигация между представлениями и контроллерами

Как вы думаете, ваша IDE должна распознавать только общие отношения (такие как иерархия классов, тестовое покрытие, использования и т. д.) в файлах вашего проекта? Как насчет чего-то более конкретного? Для навигации, основанной на особых отношениях, IntelliJ IDEA предоставляет команду Related symbol (Связанный символ), назначенную на Ctrl + Alt + Home (Cmd + Alt + Home для OS X). С помощью этой команды, например, вы можете легко перемещаться между вашими представлениями и контроллерами в Spring MVC, Grails или даже JavaFX-приложении:

Навигация к контроллеру представления

Поскольку IntellIJ IDEA также может распознавать особые отношения в вашем проекте, то какие другие конкретные шаблоны навигации в ней есть? Если вы разработчик веб-приложения, вы можете вызвать команду Go to a symbol (Перейти к символу), чтобы перейти к контроллеру представления, введя URL-адрес, на который он назначен:

Шаблоны навигации по базе данных

Инструменты базы данных в IntelliJ IDEA также имеют свои специфические шаблоны навигации. Вы можете быстро перейти к таблице в окне инструментов базы данных, введя ее имя с помощью команды Go to a symbol (Перейти к символу):

Если вы вызовете команду Find usages (Найти использования символа) для таблицы или столбца, IntelliJ IDEA покажет вам все другие таблицы, которые ссылаются на них:

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

Закладки

Последний, но не менее важный шаблон, на который мы обратим внимание, — это навигация по интересующим вас местам в рамках вашего проекта с помощью закладок. IntellIJ IDEA предоставляет для этого очень удобные инструменты. Чтобы добавить (или удалить) текущее место в/из ваших закладок, нажмите F11. Как только вы это сделаете, вы сразу увидите соответствующий значок слева. После этого, когда вы захотите вернуться к сохраненной закладке, нажмите Shift + F11 и выберите ее из списка:

Выводы

Я надеюсь, что эта статья дала вам некоторое представление о том, как IntelliJ IDEA помогает перемещаться по проекту, не отвлекаясь от кода. Навигация определяет насколько быстро вы переключаетесь между фрагментами кода, над которым работаете. Чем быстрее вы переключаетесь, тем вы продуктивнее.

И помните: чем лучше вы знаете свою IDE, тем больше времени вы тратите на то, что вам действительно нравится.

Intellij IDEA Java классы не автоматически компилируются при сохранении

Вчера я перешел на IntelliJ IDEA из Eclipse.

Я также использую JRebel с WebSphere Server 7.

Кажется, теперь все работает нормально, за исключением того, что когда я изменяю файл Java и нажимаю «Сохранить» , IntelliJ не перекомпилирует файл, чтобы JRebel мог его забрать.

Функция Eclipse « Построить автоматически » решила эту проблему.

В IntelliJ IDEA я должен нажать CTRL + SHIFT +, 9 чтобы заново скомпилировать соответствующий класс, чтобы JRebel мог его поднять. Если изменения сделаны в двух файлах , я должен сделать это на каждом из них, и, поскольку IntelliJ использует механизм сохранения всех, довольно сложно понять, что перекомпилировать вручную, что мне не очень интересно.

Разве нет способа заставить IntelliJ делать это самостоятельно ?

ОБНОВЛЕНО

Для выпусков IntelliJ IDEA 12+ мы можем автоматически создавать отредактированные источники, если мы используем опцию внешнего компилятора. Нужно только проверить опцию « Автоматически создавать проект », расположенную в настройках « Компилятора »:



Для версий старше 12 вы можете использовать плагин EclipseMode, чтобы IDEA автоматически компилировала сохраненные файлы.

Дополнительные советы см. В руководстве «Переход с Eclipse на IntelliJ IDEA» .

Пожалуйста, следуйте обоим шагам:

  • Нажмите: ctrl + shift + A (для Mac ⌘ + shift + A )
  • Тип: make project automatically
  • Ударить: Enter
  • Включить Make Project automatically функцию

Примечание: перезапустите приложение сейчас 🙂

Примечание: Это также должно позволить перезагрузку в реальном времени с помощью devtools с пружинной загрузкой.

ПРЕДУПРЕЖДЕНИЕ

Плагин Eclipse Mode устарел и не совместим с последними сборками IDEA 12+. Если вы установите его, IDE будет зависать при каждом изменении файла и будет реагировать очень медленно.

IntelliJ IDEA не использует автоматическую сборку, он обнаруживает ошибки на лету, а не через компилятор. Аналогичный режим Eclipse будет доступен в IDEA 12 :


Использование Build | Make он вызывает инкрементный процесс make, который компилирует только измененные и зависимые файлы (это очень быстро).

Существует также запись FAQ, которая может помочь.

Читайте также: