И Используя Eclipse и Используя NetBeans на том же проекте

Ознакомьтесь с идеями в Исследовательских лабораториях Mu Dynamics - Архив блога . Я нашел это в начале этого года - я забыл точный контекст, где я столкнулся с ним, - и адаптировал его в этот код. Мы можем обсудить достоинства добавления E на фронт; он применим к конкретной проблеме, но не является частью общего решения. Я спрятал это в своей папке «Виньетки», где я оставляю интересные фрагменты кода в случае, если я захочу их позже. Я смущен, чтобы сказать, что я не помню, откуда эта идея появилась в то время.

Заголовок: paste1.h

/*
@(#)File:           $RCSfile: paste1.h,v $
@(#)Version:        $Revision: 1.1 $
@(#)Last changed:   $Date: 2008/05/17 21:38:05 $
@(#)Purpose:        Automated Token Pasting
*/

#ifndef JLSS_ID_PASTE_H
#define JLSS_ID_PASTE_H

/*
 * Common case when someone just includes this file.  In this case,
 * they just get the various E* tokens as good old enums.
 */
#if !defined(ETYPE)
#define ETYPE(val, desc) E##val,
#define ETYPE_ENUM
enum {
#endif /* ETYPE */

   ETYPE(PERM,  "Operation not permitted")
   ETYPE(NOENT, "No such file or directory")
   ETYPE(SRCH,  "No such process")
   ETYPE(INTR,  "Interrupted system call")
   ETYPE(IO,    "I/O error")
   ETYPE(NXIO,  "No such device or address")
   ETYPE(2BIG,  "Arg list too long")

/*
 * Close up the enum block in the common case of someone including
 * this file.
 */
#if defined(ETYPE_ENUM)
#undef ETYPE_ENUM
#undef ETYPE
ETYPE_MAX
};
#endif /* ETYPE_ENUM */

#endif /* JLSS_ID_PASTE_H */

Пример источника:

/*
@(#)File:           $RCSfile: paste1.c,v $
@(#)Version:        $Revision: 1.2 $
@(#)Last changed:   $Date: 2008/06/24 01:03:38 $
@(#)Purpose:        Automated Token Pasting
*/

#include "paste1.h"

static const char *sys_errlist_internal[] = {
#undef JLSS_ID_PASTE_H
#define ETYPE(val, desc) desc,
#include "paste1.h"
    0
#undef ETYPE
};

static const char *xerror(int err)
{
    if (err >= ETYPE_MAX || err <= 0)
        return "Unknown error";
    return sys_errlist_internal[err];
}

static const char*errlist_mnemonics[] = {
#undef JLSS_ID_PASTE_H
#define ETYPE(val, desc) [E ## val] = "E" #val,
#include "paste1.h"
#undef ETYPE
};

#include 

int main(void)
{
    int i;

    for (i = 0; i < ETYPE_MAX; i++)
    {
        printf("%d: %-6s: %s\n", i, errlist_mnemonics[i], xerror(i));
    }
    return(0);
}

Не обязательно самое чистое использование C-процессором в мире - но это не позволяет записывать материал несколько раз.

38
задан cdmckay 29 September 2009 в 07:37
поделиться

8 ответов

Создайте свой графический интерфейс с помощью Netbeans. скопируйте файл Eclipse .project (как показано ниже) в папку проекта и измените MyProjectName. Откройте Eclipse и импортируйте проект в свое рабочее пространство, чтобы вы могли открыть проект из рабочего пространства Eclipse с помощью Netbeans. Теперь вы можете использовать Netbeans для создания и изменения графического интерфейса и редактирования кода с помощью Eclipse.

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
 <name>MyProject</name>
 <comment></comment>
 <projects>
 </projects>
 <buildSpec>
  <buildCommand>
   <name>org.eclipse.jdt.core.javabuilder</name>
   <arguments>
   </arguments>
  </buildCommand>
 </buildSpec>
 <natures>
  <nature>org.eclipse.jdt.core.javanature</nature>
 </natures>
</projectDescription>
6
ответ дан 27 November 2019 в 03:56
поделиться

MyEclipse предлагает интеграцию редактора GUI Netbeans (Matisse) с Eclipse.

См. http://www.myeclipseide.com/module-htmlpages-display-pid-5.html

5
ответ дан Michael Myers 27 November 2019 в 03:56
поделиться

Повторение @Tom, я использовал бы внешний инструмент сборки (Знаток 2 будет моим выбором). Я сделал это на проектах прежде и, пока Вы не идете на всем протяжении.Xxxx файлов и папок Eclipse, Вы будете в порядке. Тогда Вы получаете полную мощность Netbeans (который интегрируется со Знатоком 2 действительно приятно), или Eclipse, и также имейте добавленную стоимость внешней сборки, которая может также быть выполнена Вашим инструментом CI. Все побеждают!

3
ответ дан Andrew Harmel-Law 27 November 2019 в 03:56
поделиться

Cloud-Garden делает редактора GUI вызванным Jigloo, который довольно хорош, если Вы в такую вещь (и цена очень, очень разумна). Если бы это - все, что это пропускает для Вас от Eclipse, я рекомендовал бы смотреть. Netbeans делает тонну материала с исходным кодом, который Нельзя отредактировать, и т.д.

Еще одна вещь, которую я упомяну: Я использовал редакторов GUI как Matisse и Jigloo для супер быстрого прототипирования. Однако в рамках 3 или 4 повторений, я всегда роняю для вручения кодирования разметок. Я также нахожу, что, когда я делаю быстрое прототипирование, я почти всегда более продуктивен, когда я изменяю менеджера по расположению на абсолют и просто помещаю компоненты. Как только дизайн запускает гель, реализовывая дизайн кодирования руки с помощью менеджера по наглядности (я настоятельно рекомендую Расположение МиГа ), довольно легко, и дает намного лучшие результаты.

я знаю, что перетаскивание расположения GUI действительно соблазнительно - но Расположение МиГа невероятно продуктивно для графический интерфейсов пользователя проводного соединения руки, и я подозреваю, что почти любой разработчик будет более продуктивным в течение недели, спускаясь по тому пути.

2
ответ дан Kevin Day 27 November 2019 в 03:56
поделиться

Определите свои зависимости проекта со Знатоком и используйте его для генерации конфигурационных файлов проекта и для Netbeans и для Eclipse.

Попытка разделить каталоги классов для Eclipse и Netbeans, так как Eclipse не нравится он, когда внешние инструменты касаются его классов.

1
ответ дан Tom 27 November 2019 в 03:56
поделиться

Несколько глюков:

  • , При попытке использовать обоих без каких-либо плагинов/интеграции, необходимо бояться редактировать регионы, отмеченные, "НЕ РЕДАКТИРУЮТ", поскольку Netbeans будет перезаписывать код в тех разделах вполне часто.
  • необходимо использовать команду "Customize..." для добавления пользовательского кода init для компонентов.
  • Добавляющие/создающие новые компоненты на форме с помощью кода Java не будут отражены в редакторе GUI.
  • Разработчики должны быть отговорены войти в код и добавить настройки колебания, эффективно обойдя редактора GUI.

Другая подсказка - то, что можно создать Бобы Java с помощью Eclipse и перетащить их в редактора Matisse. Это позволяет Вам создавать пользовательский компонент графического интерфейса пользователя или некомпонент графического интерфейса пользователя (модели, слушатели, и т.д.) и добавлять его к форме Matisse. Со слушателями и моделями, можно определить компонент для использования экземпляра пользовательского слушателя/модели вместо поведения по умолчанию. Можно также перетащить в пользовательских компонентах графического интерфейса пользователя и управлять ими как любой другой виджет GUI.

1
ответ дан James Schek 27 November 2019 в 03:56
поделиться

импортировать проект в netbeans создать графический интерфейс, а затем снова открыть проект в eclipse

, он работает без ошибок

2
ответ дан 27 November 2019 в 03:56
поделиться

Для меня использование связанных исходных папок работает достаточно хорошо .

Я создаю графические интерфейсы пользователя в независимых проектах NetBeans - если им нужны простые классы или интерфейсы, я использую «источник ссылки» (щелкните правой кнопкой мыши проект в NetBeans, выберите свойства), чтобы включить их в проект NetBeans.

Мои основные проекты находятся в затмении. Здесь я снова использую функцию источника ссылок для связи с проектом NetBeans (щелкните правой кнопкой мыши проект в eclipse, выберите «путь сборки», затем «источник ссылки»).

РЕДАКТИРОВАТЬ (Thx to Milhous :)): в обоих проектах в eclipse и NetBeans, кроме того, все необходимые файлы JAR необходимо добавить в путь сборки (также библиотеки, добавленные NetBeans: например, beansbinding-1.2.1.jar, appframework -1.0.3.jar swing-worker-1.1.jar, ...)

Теперь классы GUI можно повторно использовать в eclipse. Также приводит к необходимости разделить классы графического интерфейса и логики, что не может быть ничего плохого.

0
ответ дан 27 November 2019 в 03:56
поделиться
Другие вопросы по тегам:

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