Eclipse добавить файл в проект
Всем доброго времени суток! При настройке проекта в Eclipse я столкнулся с несколькими проблемами. После попыток найти решение этих проблем, я находил очевидные советы на забугорных форумах, которые не решали проблему. Почесав затылок, я начал решать проблемы сам. В статье я детально опишу настройку Eclipse CDT, MinGW, подключение header'ов и библиотек. Статья расчитана для новичков.
Показать поля и методы класса
Ctrl+O⌘+O
При повторном нажатии горячих клавиш в список добавляются методы из классов — родителей
Применение:
— быстрая оценка структуры класса;
— быстрый переход в нужный метод.
Перейти к определению
F3F3
Переход к определению элемента, на котором стоит курсор.
Удалить строку или выделенный фрагмент
Ctrl+D⌘+D
UPDATE: Исправил и дополнил статью.
Большое спасибо arturphoenix,AgentSIB,mishadoff,mdcool,Lihonosov,Aivean,anoshenko,lany,abusalimov,bimeg, netslow,majus за дополнения и комментарии.
Некоторые инструменты косвенно относятся к навигации и редактированию, по-этому я не включил их в статью, но я постораюсь их включить в следующую.
Простой поиск/замена
Ctrl+F⌘+F
Данный инструмент присутствует в многих текстовых редакторах. Предоставляет возможность находить нужные вхождения текста в текущем документе. И при необходимости быстро заменить на другой текст.
Существует возможность поиска при помощи регулярных выражений, с помощью которой можно составить сложный поиск, однако используется крайне редко для поиска по одному классу.
Если выделить текст и применить данный инструмент — выделенный текст сразу подставится в поле поиска.
Применение:
— Быстрый переход к нужной части кода;
— Замена одного слова на другое. При необходимости написать две функции, которые идентичные по логической структуре, но работают с разными коллекциями, быстрее написать одну функцию, скопировать и сделать замену.
Возможные действия
Ctrl+1⌘+1
На мой взгляд самый полезный инструмент в процессе написания кода.
На основе того, на какой строке стоит курсор и есть ли выделение текста, eclipse предлагает возможные варианты изменений и дополнений.
Примеры работы инструмента:
— создание загрушек для реализации методов интерфейса или абстрактного класса
действия на строчке с названием класса
— создание новых методов
Если в текущей части кода необходим метод, а он еще не существует.
— объявление переменных
Если необходимо использовать результат работы функции
объявляется переменная с правильным именем
— выделение константы
Если внутри кода есть цифра или текст, который необходимо вынести в константу, выделем его и применим инструмент:
Автоформатирование кода
Ctrl+Shift+F⌘+⇧+F
Приведение кода в читабельный вид:
— делает правильные табуляции;
— добавляет/убирает пробелы;
— убирает лишние отступы;
— ограничивает длину строки — переносит текст на следующую другую строку.
Работает для всего выделенного участка кода, или для всего класса.
Применение:
Иногда быстрее написать плохо отформатированную функцию и нажать горячие клавиши, чем писать сразу красиво.
Открыть javadoc
F2F2
Открыть логическую структуру(Класс)
Ctrl+Shift+T⌘+⇧+T
Можно ввести только заглавные буквы класса. Например, для поиска класса AbstractDogFactory достаточно ввести ADF.
Также можно использовать *.
Применение:
Быстрое открытие файла с классом. Другие файлы игнорируются.
Создание и настройка проекта C++
Запускаем Eclipse, нажимаем File -> New -> C++ Project. Создаем проект Hello World и выбираем MinGW как на картинке.
Далее ПКМ на созданном проекте -> Properties, открываем C/C++ Build -> Settings -> Tool Setting -> GCC C++ Compiler -> Includes.
1. Нажимаем Add.
2. Выбираем папку includes из директории, куда мы распаковали SFML.
После этого переходим на пункт Preprocessor и в Defined Symbols добавляем SFML_DYNAMIC.
Вот мы подошли к моменту где я получил первую ошибку. Если подключить библиотеку с расширением .a через MinGW C++ Linker -> Libraries, ничего работать не будет. Эти библиотеки нужно подключать через MinGW C++ Linker -> Miscellaneous как Other Object. Указываем путь к библиотекам SFML, нужно подключить libsfml-graphics.a, libsfml-window.a, libsfml-main.a
Открыть ресурс
Ctrl+Shift+R⌘+⇧+R
Применение:
Быстрое открытий файла с данными или классом.
Построение проекта
Заменяем весь код в автоматически созданном .cpp на этот:
Нажимаем Build
Все соберется успешно но работать не будет, так как отсутствуют dll. Копируем все из папки bin в директории SFML в папку Debug нашего проекта.
Теперь жмем ПКМ на .exe файле, который расположен в папке Debug нашего проекта, выбираем Run As -> Run Configurations, жмем C/C++ Application и нажимаем New launch configuration, после этого нажимаем Run ничего не меняя.
После этого запускать проект можно с помощью Ctrl + F11 или соответствующей иконкой на тулбаре.
Я пытаюсь сопоставить свой опыт Visual Studio с Eclipse. Сейчас я хочу добавить файл существующий где-то в файловой системе в проект в Eclipse. Я ожидаю, что он будет скопирован в папку source проект.
В настоящее время я вижу только один способ - переключиться на проводник windows (total commander, в моем случае) и скопировать файл самостоятельно, после чего обновить проект.
могу ли я сделать то же самое, не выходя из Eclipse IDE?
File->Import->General->File System должны сделать это. Там вы можете выбрать файл(ы) из некоторой папки файловой системы в свой проект ( into folder ).
У меня была та же проблема, но нашли еще одно решение.
позвольте мне изложить свою проблему, чтобы мы были уверены, что говорим об одном и том же.
У меня был файл в каталоге, где была куча файлов кода, и некоторые из файлов в этом каталоге были показаны как "в моем проекте", а некоторые из файлов отсутствовали. Я хотел, чтобы недостающие файлы появились в моем проекте.
Я просто выбрал папку в своем проекте и нажал "F5" или щелкнул правой кнопкой мыши и выбрали "обновить" и файлы появились в моем проекте. Похоже, что это способ сделать это.
еще проще. Просто перетащите файл из проводника в правильный пакет в Eclipse. Он спросит вас, Хотите ли вы скопировать или связать файл(ы).
Я новичок в Eclipse Luna (последняя версия 64 бит на Windows 7), но это сработало для меня:
в моем случае я должен был:
- щелкните правой кнопкой мыши название проекта
- выбираем "Закрыть Проект"
- щелкните правой кнопкой мыши имя (теперь закрыто) проекта снова
- выбираем "Открыть Проект"
обновление не сработало для меня. :(
надеюсь, это поможет кому-то еще.
просто нашел самый быстрый способ добавить файлы:
копировать-вставьте файл в каталог диска проекта с помощью файлового браузера.
в браузере проектов Eclipse выберите свой проект.
нажмите [правая кнопка мыши] - > обновить (или нажмите F5 на машине Windows).
(работал на Neon-4.6.2)
Я только что получил это на работу. YMMV
Я не думаю, что это должно быть там, но я положил свой файл, xyz.cpp, в исходный каталог моего проекта. Мой проект имеет каталогом источник с именем src, как в Имяпроекта/ГРЦ.
щелкните правой кнопкой мыши по имени проекта (Мой проект был открыт и открыт только один). НОВЫЙ ФАЙЛ. Введите имя файла, xyz.СРР. Нажмите OK или enter.
файл откроется в редакторе и жалуются, что он пуст. Закройте его без ЭКОНОМИЯ.
мне нужно прочитать текстовый файл при запуске программы. Я использую eclipse и начал новый проект java. В моей папке проекта я получил папку " src "и стандартную" системную библиотеку JRE " + staedteliste.формат txt. Я просто не знаю, куда положить текстовый файл. Я буквально перепробовал все папки, которые только мог придумать. Я не могу использовать "жестко" путь, потому что текстовый файл должен быть включен в мое приложение.
Я использую следующий код для чтения файла, но я получаю это ошибка:
сначала спросите себя: Является ли ваш файл внутренние компонент вашего приложения? (Это обычно означает, что он упакован внутри вашего JAR или WAR, если это веб-приложение; как правило, это какой-то файл конфигурации или статический ресурс, только для чтения).
если ответ-да, вы не хотите указать абсолютный путь для файла. Но вы ни хотите получить к нему доступ с помощью относительный путь (как ваш пример), потому что Java предполагает, что путь относительно "текущей директории". Обычно предпочтительным способом для этого сценария является его загрузка относительно от classpath.
Java предоставляет вам загрузчика.методу getresource() способ для этого. И Eclipse (в обычной настройке) предполагает src/ должен быть в корне вашего пути к классам, так что после компиляции он копирует все в ваш выходной каталог ( bin/ ), файлы java в скомпилированная форма ( .class ), остальное как есть.
так, например, если вы размещаете файл в src/Files/myfile.txt он будет скопирован во время компиляции, чтобы bin/Files/myfile.txt ; и, во время выполнения, bin/ будет в (корень) вашем classpath. Итак, позвонив getResource("/Files/myfile.txt") (в некоторых его вариантах) вы сможете прочитать его.
редактировать: далее, Если ваш файл концептуально привязан к классу java (например, некоторые com.example.MyClass есть MyClass.cfg соответствующий файл конфигурации), вы можете использовать метод getResource () из класса и используйте (ресурс) относительный путь: MyClass.getResource("MyClass.cfg") . Затем файл будет искать в пути к классам, но с предварительно добавленным пакетом классов. Таким образом, в этом сценарии вы обычно размещаете свой MyClass.cfg и MyClass.java файлы в том же каталоге.
используйте загрузчик ресурсов, чтобы найти файл:
Предположим, у вас есть проект под названием "TestProject" на Eclipse, и ваша папка рабочей области находится по адресу E:/eclipse/workspace - . Когда вы создаете проект Eclipse, ваш путь к классам тогда e:/eclipse/workspace/TestProject . Когда вы пытаетесь прочитать " staedteliste.txt" ,вы пытаетесь получить доступ к файлу по адресу e:/eclipse/workspace/TestProject/staedteliste.txt .
если вы хотите иметь отдельную папку для вашего проекта, то создайте папку файлов под TestProject и после этого получите доступ к файлу с (относительный путь) /Files/staedteliste.txt . Если вы поместите файл под папка src, тогда вы должны получить к ней доступ с помощью /src/staedteliste.txt . Папка файлов внутри папки src будет /src/Files/staedteliste.txt
вместо использования относительного пути вы можете использовать абсолютный, добавив e:/eclipse/workspace/ в начале, но использование относительного пути лучше, потому что вы можете перемещать проект, не беспокоясь о рефакторинге, пока структура папок проекта одинакова.
просто создайте папку Files под src и поместите туда свой файл. Это будет выглядеть как src/Files/myFile.txt
Примечание: В своем коде вам нужно указать следующее Files/myFile.txt например,
поэтому, когда вы создаете свой проект и запускаете.файл jar это должно быть в состоянии работать.
в зависимости от имени пакета класса Java вы, вероятно, на 4 или 5 уровнях ниже структуры каталогов.
Если ваш пакет классов Java, например, com.сайте StackOverflow.проект, тогда ваш класс находится в src/com/stackoverflow / project.
вы можете либо двигаться вверх по структуре каталогов с несколькими ../ , или вы можете переместить текстовый файл в том же самом пакете как класс. Было бы проще переместить текстовый файл.
мне еще предстоит выяснить, как правильно добавить изображение в проект Eclipse gui таким образом, чтобы система распознала его. Я знаю, что есть какой-то mumbojumbo о CLASSPATH, но, вероятно, это не должно быть так сложно сделать.
добавить изображение с помощью "мастера импорта" (щелкните правой кнопкой мыши, "импорт", "общие", "файл") в "каталог импорта"я назвал " /resources"
Eclipse автоматически создает папку под названием "ресурсы"в дереве обозревателя пакетов eclipse. Прямо под записью "ссылочные библиотеки".
обратите внимание, что " ресурсы "не находятся под" ссылочными библиотеками", он находится на том же уровне в дереве.
затем я использую следующий код:
и в этот момент я запустите тестовую программу и получите эту ошибку:
Спасибо за любую помощь заранее!
поместите изображение в источник, не обычная папка. То есть: щелкните правой кнопкой мыши на project - > New - > исходная папка. Поместите изображение в исходную папку. Затем:
обратите внимание, что путь отсутствует. Это потому, что изображение находится непосредственно в корне пути. Вы можете добавить папки в исходную папку, чтобы разбить ее дальше, если хотите. Или вы можете поместить изображение в существующую исходную папку (обычно называемую src ).
вы можете повторно сохранить изображение и буквально найти файл src вашего проекта и добавить его в него при сохранении. Для меня я должен был пойти в netbeans и нашел свой проект, и когда это всплывет, у него было 3 файла, src был последним. Не нажимайте ни на один из них, просто сохраните свою фотографию. Это должно сработать. Теперь изменение размера может быть другой проблемой, и я работаю над этим сейчас lol
Если у вас все еще есть проблемы с поиском файлов Eclipse, вы можете попробовать следующее:
-
убедитесь, что файл существует в соответствии с текущей средой выполнения с помощью java.Ио.Класс файла, чтобы получить канонический формат пути и проверить, что (a) файл существует и (b) что такое канонический путь.
Проверьте рабочий каталог по умолчанию, напечатав в главном меню следующее:
для (1) выше, Я поместил следующий отладочный код вокруг конкретного файла, к которому я пытался получить доступ:
наличие изображений в src/ (который автоматически копируется в bin/) не сделало трюк на Eclipse Луна.
очень просто добавить изображение в проект и просмотреть изображение. Сначала создайте папку в своем проекте, которая может содержать изображения любого типа.
затем щелкните правой кнопкой мыши на Project ->> перейти к построению пути ->> настроить путь сборки ->> добавить папку-класс ->> выбрать папку (которую вы только что создали для хранения изображений) под названием проекта.
Если вы делаете это в eclipse, есть несколько быстрых заметок, что если вы наведете курсор мыши на класс в своем скрипте, он покажет диалог фокусировки, в котором говорится, что нажмите f2 для фокусировки.
для компьютерных приложений используйте ImageIcon. а за путь скажи:
укажите папку (Изображения), затем разделите с / и добавьте имя файла pic.
Я надеюсь, что это полезно. Если кто-то другой и опубликовал его, я не стал читать. Так. да.. мысль укрепление.
Наблюдая за со своими знакомыми, которые недавно начали изучать программирование или перешли на Eclipse c другой IDE, я часто замечаю что они почти не используют вспомогательные инструменты среды разработки. Они либо не знают о них вообще, либо не понимают какую практическую пользу они могут принести.
Данная статья предназначена в основном для начинающих в работе с Eclipse. Но в процессе подготовки статьи я сам узнал о нескольких простых и удобных инструментах, которые за два года активной разработки ни разу не использовал.
В данной статье речь пойдет о навигации и редактировании.
Внутри скриншоты.
Так как, основная польза данных инструментов проявляется при использовании горячих клавиш, я составил следующие таблицы:
Однострочный комментарий
Продвинутый поиск/замена
Ctrl+HCtrl+H
Данный инструмент имеет расширяет возможности, который был рассмотрен ранее.
Основные особенности:
— поиск по всем проектам, а не по одному;
— возможен как полнотекстовый поиск так и типизированный;
— при большом количестве файлов полнотекстовый поиск занимает большое количество времени.
Применение:
— Найти вхождения элемента или текста во всех проектах.
Перейти к линии с определенным номером
Ctrl+L⌘+L
Переход к строке с заданным номером.
Применение:
При взаимодействии программисты для того чтобы указать место в коде — называют файл и строку.
Дублирование строки
Ctrl+Alt+(up|down)⌘+⌥+(up|down)
Применение:
Если следующая строка будет похожа на текущую — быстрее скопировать текущую и изменить ее, чем писать еще раз.
Перемещение в предыдущее/следующее место просмотра в редакторе
Alt+( left right )⌘+( [ ] )
Возвращается на предыдущее/следующее место где просматривался исходный код.
Применение:
При углублении в реализацию одной из функций или класса, и возвращение назад.
Перейти к реализации
Ctrl+T⌘+T
Переход к реализации элемента, на котором стоит курсор.
Открыть меню иеарархии
F4F4
Организация импорта пакетов
Ctrl+Shift+O⌘+⇧+O
Удаление импортов не используемых пакетов и добавление недостающих.
Переименование переменной, метода, класса
Shift+Alt+R⇧+⌥+R
Переименование выделенного метода. Благодаря рефакторингу метод будет переименован по всему проекту.
Следующий/предыдущий редактор
Ctrl+F6 (Ctrl+Shift+F6)⌘+F6 (⌘+⇧+F6)
Данные сочетания клавиш не всегда удобны, по-этому имеет смысл переназначить их к примеру на Ctrl+Tab / Ctrl+Shift+Tab
Для быстрого переключения подойдет: Ctrl+Page Up/Page Down — Linux/Windows. Ctrl+Fn+Up/Down — OS X
Показать список открытых в редакторе файлов
Ctrl+E⌘+E
Применение:
Быстрый переход между файлами.
Автодополнение
Ctrl+SpaceCtrl+Space (конфликтует с Spotlight)
Инструмент дает возможность не писать полные имена функций, классов и переменный, а только их часть, программист выбирает завершение из предложенных.
Однако многие не знают некоторых особенностей автодополнения в eclipse:
— если при выборе автодполнения нажать Ctrl+Enter вместо Enter, слово которое стоит правее курсора заменится на автодополненное.
— автодополнения работает для всех классов, даже для тех, для которых еще не сделан import. Если вы автодополните такой класс — импорт добавится автоматически.
— автодополнение работает для новых переменных:
если вы написали
и вызовите автодополнение, то получите
— в eclipse присутствуют шаблоны для быстрого написания:
Наиболее популярные шаблоны:
— syso
— for
— while
— switch
— catch
Посмотреть все шаблоны, а так же добавить свои можно в настройках, в вкладке «Templates».
Установка Eclipse и MinGW
Для работы Eclipse требуется Java.
Скачиваем Eclipse CDT с официального сайта и распаковываем в любое удобное место, например C:\eclipse . Запускаем eclipse.exe , если все заработало, прекрасно.
Далее качаем установщик MinGW. Запускаем его. Видим окно с описанием, нажимаем Install . Если нужно меняем место установки и нажимаем Continue .
Отмечаем для установки mingw-32-base и mingw-gcc-g++.
После этого нажимаем Installation -> Apply Changes. На открывшемся окне жмем Apply и ждем пока загрузятся и установятся компоненты. Когда установка закончена, качаем msys. Думаю при установке сложностей не возникнет. Теперь нужно добавить в системную переменную Path путь к папке bin MinGW, и к папке bin msys.
У меня получилось так: d:\MinGW\bin\;d:\msys\1.0\bin\
Качаем SFML MinGW, и распаковываем куда угодно.
На этом подготовка окончена.
Найти вхождения переменной, метода, класса
Ctrl+Shift+G⌘+⇧+G
Для выделенного элемента ищет его использование по всем проектам.
Применение:
Намного быстрее чем обычный поиск. Достаточно выделить элемент, применить инструмент и на экране список мест, где этот элемент используется.
Показать иерархию класса
Ctrl+T⌘+T
При повторном нажатии: разворачивает иерархию в обратную сторону и показывает реализованные интерфейсы.
Применение:
Быстрый переход в родительские классы.
Перейти к последнему месту редактирования
Ctrl+QCtrl+Q
Возвращается на предыдущее место где редактировался исходный код.
Применение:
Быстрый возврат на место работы.
Перейти к следующему/предыдущему методу
Ctrl+Shift+(up | down)Ctrl+⌥+(up | down)
Перейти к реализации или определению класса, функции, переменной
Ctrl+LeftClick⌘+LeftClick
При зажатой клавише Ctrl левый клик мышкой по элементу производит переходит к его определению или реализации.
Применение:
— легко обнаружить где объявлялась переменная;
— быстрый переход в реализацию класса или метода.
Перемещение строки
Alt+(up|down)⌥+(up|down)
Применение:
Быстрый перенос части кода, без необходимости копировать и вставлять.
Многострочный комментарий
Ctrl+Shift+/⌘+⇧+/ (конфликтует с системными горячими клавиши для вызова Справки)
При использование на закомментированном коде — комментарии убираются.
Меню рефакторинга
Shift+Alt+T⇧+⌥+T
Выделение части кода в отдельный метод
Shift+Alt+M⇧+⌥+M
Выделение выделенной части в новый метод. Все возможные дубликаты этой части кода в данном классе автоматически заменятся на вызов нового метода.
Меню генерации кода
Shift+Alt+S⇧+⌥+S
Автоматическая генерация — - get и set методов;
— заготовок переопределенных и реализуемых функций;
— hashcode и equals;
— toString;
— конструкторы.
Применение:
Не стоит тратить время на стандартные методы, если их реализации не является специфической.
Определения
Eclipse CDT — интегрированная среда разработки С и C++ на базе платформы Eclipse.
MinGW — компилятор, нативный программный порт GNU Compiler Collection (GCC) под Microsoft Windows, вместе с набором свободно распространяемых библиотек импорта и заголовочных файлов для Windows API. MinGW позволяет разработчикам создавать нативные приложения Microsoft Windows.
SFML — свободная кроссплатформенная мультимедийная библиотека, написана на C++.
Читайте также: