Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> что вы думаете об этой утилите для С++ 
:(
    Опции темы
unit0
Дата 29.7.2004, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.7.2004

Репутация: нет
Всего: нет



http://www.treeredactor.narod.ru/ - здесь вы можете скачать первую версию утилиты, предназначенной для редактирования с-файлов.

Особенность этого редактора - это представление всей программы в виде дерева, где узлами являются операторы if, else, for, while, switch, функции, классы - любые языковые конструкции использующие "{}". По идее, это более удобно для редактирования сложных функций с большим числом вложенных операторов if, for, чем работа с текстовым файлом.

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

PM MAIL   Вверх
Дрон
Дата 29.7.2004, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Вообще прикольно!
Только ты опоздал чуть-чуть, т.к. в Visual Studio .Net уже такой принцип реализован.

Что касается твоей проги, то лучше убрать символы папок и горизонтальные линии, т.к. они загромождают экран. Также немного непривычно выглядит отсутствие символов { и }.
Можно ещё добавить возможность сворачивать комментарии между /* и */

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

ЗЫ: Тему, наверно, стоит перенести в готовые и разрабатываемые проекты.


--------------------
Да. Именно так.
PM   Вверх
chipset
Дата 30.7.2004, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата
Только ты опоздал чуть-чуть, т.к. в Visual Studio .Net уже такой принцип реализован.

Там вроде не так чуть-чуть, не древовидная а просто блоки сворачиваются, если что то не правильно понял пардон smile.gif
Хотя я все равно Visual Studio + Visual Assist X ни за какие шиши не променяю.. tounge.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Дрон
Дата 30.7.2004, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



chipset
Строго говоря, ты прав, там не древовидная, хотя особой разницы я не вижу smile.gif


--------------------
Да. Именно так.
PM   Вверх
chipset
Дата 30.7.2004, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Дрон
Особой разницы то и нету.. Но вот если хотя бы AutoComplete в unit0'ской проге?
Может в версии 2.0 и будет но пока мы будем юзать VS smile.gif



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
unit0
Дата 30.7.2004, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.7.2004

Репутация: нет
Всего: нет



Цитата
Там вроде не так чуть-чуть, не древовидная а просто блоки сворачиваются, если что то не правильно понял пардон


В VS можно все блоки сворачивать, или как например в новом Bilder, только функции, классы и т. п, но не if, for ?

PM MAIL   Вверх
chipset
Дата 30.7.2004, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



user posted image user posted image
Все блоки ({}) можно сворачивать..

Это сообщение отредактировал(а) chipset - 30.7.2004, 18:07


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
chipset
Дата 30.7.2004, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



В шарпе есть ещё такая штука как #region
user posted image
user posted image

А вообще то неплохая ведь прога! Попробуй выложи на downloads.com...
Только сделай для начала путь к компилятору, и поддержку шарпа..
ИМХО для тех кто не смогут купить, и не захотят брать пиратский ( wow.gif ) твой редактор будет спасением smile.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
unit0
Дата 2.8.2004, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.7.2004

Репутация: нет
Всего: нет



Сейчас делаю EDIT для TreeRedactor.
Внес изменения в вид дерева - напротив отдельных операторов появился значок. См. рис.

user posted image

Кроме обычного выделения текста, можно будет выделять операторы, щелкая на этот значок - если это простой оператор, или на значок папки.
Теперь, например, чтобы передвинуть один оператор вверх можно будет просто схватить с помощью LMouse, предварительно не выделяя, и переместить. В общем, все как в Explorer-е.
В том числе можно будет выбрать несколько операторов сразу, используя Ctrl+LMouse.

Но возникает вопрос - можно ли разрешить пользователю выбирать любые операторы, из любых частей программы?
И если да, то как их потом объединять и вставлять?
Сам я думаю пока сделать доступным выделение нескольких операторов сразу, только если они принадлежат одному блоку.

Ваше мнение?

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

to Chipset: не расскажешь, как в VS копируются блоки операторов - что бы быстро его скопировать целиком его надо свернуть?

Добавлено @ 22:20
Если рисунок не видно.
Смотрите на

http://www.treeredactor.narod.ru/2.gif

Это сообщение отредактировал(а) unit0 - 2.8.2004, 22:20
PM MAIL   Вверх
C/L
Дата 2.8.2004, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 31.7.2004
Где: Самара

Репутация: 1
Всего: 1



Цитата(chipset @ 30.7.2004, 02:17)
Дрон
Особой разницы то и нету.. Но вот если хотя бы AutoComplete в unit0'ской проге?
Может в версии 2.0 и будет но пока мы будем юзать VS smile.gif

Больше всего я ненавижу VC++(6-ая версия) за "Complete World" и "List members" - есть много случаев когда они не действуют. Если ты, unit0, исправишь это в своей проге я с удовольствием ее куплю. Хотя и так прога очень даже неплохая, тем более для бесплатной.

Это сообщение отредактировал(а) C/L - 2.8.2004, 23:17
PM MAIL WWW ICQ   Вверх
Fantasist
Дата 3.8.2004, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Ненавижу narod.ru. 412 kb качаются 12 минут. После того, как я привык, что 1.5 Мб закачиваются за 20 сек, весьма неприятно.

Цитата
что вы думаете, об этой программе


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

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

Код

+ CIFZCalWriter::CIFZCalWriter()    
|
|        m_bInitialised = FALSE;
|
|        m_OutlookApp = NULL;
|
| -- + if (0)  
|     |      m_Item = 0x0934FF;
|     |      
|     |      m_iTest = 1;
|     -----
|        m_OutlookNameSpace  = NULL;
|
|        m_CurrentItem = NULL;
|
|        m_bConfirmAddEntry  = true;
----


Так блоки лучше воспринимаются.
Конечно надо добавить подсветку и возможность работы с выделенным текстом.

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


--------------------
Волны гасят ветер...
PM MAIL   Вверх
unit0
Дата 4.8.2004, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.7.2004

Репутация: нет
Всего: нет



Хочу сделать поддержку #region для С#, но вот любопытный вопрос:
такая языковая конструкция допустима в С# и если да, то как она изображается в VS и как сворачивается?

#region something

void fn1(void)
{



#endregion

};

У кого есть VS гляньте, пожалуйста.
PM MAIL   Вверх
Дрон
Дата 4.8.2004, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



unit0
Проверил.
Сворачивает функцию fn1 целиком, как если бы #endregion было после закрывающей фигурной скобки.


--------------------
Да. Именно так.
PM   Вверх
unit0
Дата 4.8.2004, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.7.2004

Репутация: нет
Всего: нет



А если изменить код так:


#region something1

void fn1(void)
{

#region something2

}

//otheroperators1

#endregion

//otheroperators2

#endregion

где будут границы регионов?

Это сообщение отредактировал(а) unit0 - 4.8.2004, 16:22
PM MAIL   Вверх
Дрон
Дата 4.8.2004, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



something2 свернёт часть fn1 (всё, что после #region) и otheroperators1.
something1 свернёт естественно всё до второго #endregion.


--------------------
Да. Именно так.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.