Реализовал табличное форматирование в интеграции для VS.
Нажатие таба внутри кода (не в начале строки) всегда вбивает пробелы, а не табы (даже если в настройках студии заданы табы).
При этом пробелы добполнятся до позиции бижайшего токена отделенного пробелами ниже или выше текущей строки.
Т.е. если имеет следующий код:
public enum MemberKind
{
| All = 0xbf
| Constructor = 1
| Custom = 0x40
курсор находится перед знаком "=" в строке с All или в строке с Custom
и нажимаем Tab, то курсор перемещается в позицию где находится "=" в строке с Constructor, а промежуток забивается пробелами.
Работа ведется на уровне пробельный символ или не пробельный. так что будет работать и в коментах, и встроках, но понятие токена будет понимать очень примитивно. Токеном является что-то отбитое пробельными символами.
Ниже приведет код после двух указанных нажатий на Tab.
public enum MemberKind
{
| All = 0xbf
| Constructor = 1
| Custom = 0x40
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Вот тут можно взять макрос форматирующий в табличном стиле сразу несколько строк.
Автор: AleXXus.
Макрос примитивен. Просто делает таблицу из токенов. Сложный match им не отформатировать. Но во многих случаях применим.
Если окажется востребованным, то в последствии можно реализовать более сложный вариант в интеграции. С использованием полноценного лексера.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Don Reba, Вы писали:
DR>Хорошая идея. Меня не оставляет предчуствие, что рано или поздно я таки перейду с Вима на интеграцию с VS2008. Тогда эта фича будет очень кстати.
А что сейчас держит на VIM-е ?
Ну и есть еще SharpDevelop если очень не нравится студия.
Здравствуйте, _nn_, Вы писали:
__>А что сейчас держит на VIM-е ?
Сейчас на Виме держит его безглючность и простота разработки макросов. Советы Влада по переписыванию макросов в императивном стиле для сохранения локейшенов впечатлили, в своё время. Я сомневаюсь, что время сэкономленное интелисенсом окупится.
Здравствуйте, Don Reba, Вы писали:
DR>Сейчас на Виме держит его безглючность и простота разработки макросов. Советы Влада по переписыванию макросов в императивном стиле для сохранения локейшенов впечатлили, в своё время.
Не понял, как мои советы связаны с Вимом?
DR>Я сомневаюсь, что время сэкономленное интелисенсом окупится.
На сегодня интеграция со студей довольно стабильна. А выигрыш от интелисенса просто не оценим. Моя продуктивность без интеллисенса падает в разы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>На сегодня интеграция со студей довольно стабильна. А выигрыш от интелисенса просто не оценим. Моя продуктивность без интеллисенса падает в разы.
Вообще, я параллельно пишу на Яве в Эклипсе, Шарпе и Плюсах в Студии и Немерле в Виме. Ломки от отсутствия интелисенса совсем не ощущаю. Продуктивность, конечно, падает, но далеко не в разы.
Здравствуйте, VladD2, Вы писали:
VD>Реализовал табличное форматирование в интеграции для VS.
А эта возможность ни как не настраивается? Мне кажется в настройках студии было бы неплохо,например в разделе Nemerle, сделать флажок "Использовать табличное форматирование".
Такие фичи это хорошо, но мне кажется, редактор не должен ограничивать в способе форматирования кода
Здравствуйте, _Eter_, Вы писали:
_E_>А эта возможность ни как не настраивается? Мне кажется в настройках студии было бы неплохо,например в разделе Nemerle, сделать флажок "Использовать табличное форматирование".
_E_>Такие фичи это хорошо, но мне кажется, редактор не должен ограничивать в способе форматирования кода
Дык если ты не используешь табличного форматирования, то таб внутри кода тебе попросту не нужен.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.