LINUX.ORG.RU

SlickEdit 2007


0

0

Вышла новая версия SlickEdit - замечательной кроссплатформенной(Linux, MacOS X, Solaris, AIX, IRIX, HP-UX, Windows) среды разработки на Java/C/C++ со множеством фичей. Из новых возможностей можно выделить:
- поддержка форматирования XML/XHTML;
- подсветка ошибок Java кода "на лету";
- новый диалог поиска членов класса;
- динамическая группировка/разгруппировка блоков кода;
- поддержка Drag&Drop под GNOME и KDE;
- поддержка языка ActionScript;
- улучшена реализация рефакторинга;

>>> Подробности

anonymous

Проверено: Shaman007 ()

Насчет autocomplete в SlickEdit - такой пример:

В одном файле написано:

int foo_name;

В другом:

void foo_name_function (void) { ... }

В третьем я пишу:

void f (void) { int x = foo_^

Останавливаю курсор там, где находится ^, и нажимаю кнопочку "продолжить". Мне будет предложен один вариант (foo_name) или два (foo_name и foo_name_function) ? foo_name_function сюда не подходит, потому как возвращает void. Но это человек знает, и компилятор догадается. А SlickEdit ? Если вы мне скажете, что он тоже догадается, я пишу rms@gnu.org письмо, что он ламер, редакторы писать не умеет, и завтра бегу покупать SE. (Ну или по крайней мере скачаю триал и посмотрю, правда ли это работает).

Это я к тому, что для 100% правильного автокомплита нужна компиляция (ну по крайней мере первый этап - построение синтаксических деревьев).

anonymous
()
Ответ на: комментарий от anonymous

>Останавливаю курсор там, где находится ^, и нажимаю кнопочку "продолжить". Мне будет предложен один вариант (foo_name) или два (foo_name и foo_name_function) ? foo_name_function сюда не подходит, потому как возвращает void. Но это человек знает, и компилятор догадается. А SlickEdit ?

Делается это так. В этом самом месте (^) ставится курсор и нажимается кнопка List valid symbols for current context (Alt+.) после чего у вас под курсором выпадает меню в котором уже выбраны все символы, начинающиеся на "foo_" с иконкой того что это по типу (функция, данные, название класса или структуры) А справа (или слева) толтип с полным прототипом данного символа. Если это функция и есть несколько одинаковых по имени функций но принимающих различные аргументы то у вас будет выбор (стрелочки вправо-влево) функции с нужным набором аргументов. Или то же самое можно сделать нажав в этом месте кнопку броузера символов. Он отличается только тем что не "прилеплен" насмерть к курсору как выбадающее меню а открывается в отдельном окне. Вот мой пример 5-и летней давности (vse 6 по моему) http://www.linux.org.ru/profile/sS/gallery/big7j3vTN.png Случай там немного другой но выглядеть будет всё примерно также.

sS ★★★★★
()
Ответ на: комментарий от anonymous

вот смотри, то что ты хотел

http://img105.imageshack.us/img105/2938/slickedit1bl7.png http://img47.imageshack.us/img47/5531/slickedit2zw7.png

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

http://img47.imageshack.us/img47/9275/slickedit3hw2.png http://img47.imageshack.us/img47/8783/slickedit4ep9.png

acefsm
()
Ответ на: комментарий от mv

и не зря он предложил первый вариант как переменную, так как он более приоритетен

acefsm
()
Ответ на: комментарий от acefsm

test.c: In function ‘main’: test.c:7: warning: initialization makes integer from pointer without a cast

mv ★★★★★
()

Юзер acefsm прав по форме, но не прав по существу. Понятно что я имел ввиду - просто я свой вопрос проиллюстрировал не вполне удачным примером (а все из-за того, что в С можно весьма вольно конвертировать целые и указатели на что угодно (чуть менее вольно в С++ или на 64-битной системе, где sizeof(int) 4, а sizeof (void *) - 8)). Вот более правильный пример, иллюстрирующий первоначальный вопрос:

struct t { int x; int y; };

struct t foo_one_two = {1, 2};

void foo_one_func () { }

main () { struct t foo_two = foo_^; }

(Только не надо мне говорить, что присваивать структурные типы - дурной тон. Разумеется, в С с ними обычно работают по указателям, но иногда делают и так - см. прототип mallinfo() в /usr/include/malloc.h).

Смею предположить, что в указанном юзером acefsm примере foo_name был предложен в качестве первого варианта просто потому, что варианты были отсортированы лексикографически, или в порядке сканирования SE исходников, а вовсе не по причине применения логики типа "foo_name по типу согласуется полностью, поэтому этот вариант более приоритетен, а foo_name_function другого типа, поэтому он сюда подходит меньше".

Так что юзер mv, видимо, более прав, и письмо писать не придется...

anonymous
()
Ответ на: комментарий от anonymous

можешь в ослике скачать нормальный 11.02 версию

acefsm
()
Ответ на: комментарий от acefsm

>вот еще пара скринов

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

to acefsm: хочу тоже терминус - я волшебное слово знаю "позалуфта"

Valery4
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.