Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 14.03.07 10:03
Оценка: 36 (2) +1
#Имя: FAQ.tools.VS2005.format
Что-то я так и не пойму. Как можно легко и непринужденно (используя hot keys например) выделить кусок кода (например несколько строк объявления) и отформатировать в виде таблицы в VS2005?

В духе:

int    megaCounter = 0;
string megaString  = "";
Type   megaType    = null;


Если кто знает, буду признателен за совет.

14.03.07 16:00: Перенесено из 'О жизни'
________________________________
When in Rome, do as the Romans do...
Re: Table like форматирование нескольких строчек кода
От: Lloyd Россия  
Дата: 14.03.07 10:08
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Что-то я так и не пойму. Как можно легко и непринужденно (используя hot keys например) выделить кусок кода (например несколько строк объявления) и отформатировать в виде таблицы в VS2005?


Написать макрос?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 14.03.07 10:18
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, AleXXus, Вы писали:


AXX>>Что-то я так и не пойму. Как можно легко и непринужденно (используя hot keys например) выделить кусок кода (например несколько строк объявления) и отформатировать в виде таблицы в VS2005?


L>Написать макрос?


Дык вот я думал, может без него можно обойтись...
________________________________
When in Rome, do as the Romans do...
Re: Table like форматирование нескольких строчек кода
От: Igor Sukhov  
Дата: 14.03.07 10:23
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Что-то я так и не пойму. Как можно легко и непринужденно (используя hot keys например) выделить кусок кода (например несколько строк объявления) и отформатировать в виде таблицы в VS2005?


AXX>В духе:


AXX>
AXX>int    megaCounter = 0;
AXX>string megaString  = "";
AXX>Type   megaType    = null;
AXX>


AXX>Если кто знает, буду признателен за совет.


а что Resharper этого еще не умеет ???
* thriving in a production environment *
Re[2]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 14.03.07 12:18
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>Здравствуйте, AleXXus, Вы писали:


AXX>>Что-то я так и не пойму. Как можно легко и непринужденно (используя hot keys например) выделить кусок кода (например несколько строк объявления) и отформатировать в виде таблицы в VS2005?


AXX>>Если кто знает, буду признателен за совет.


IS>а что Resharper этого еще не умеет ???


К своему стыду я как то все это время шел мимо него довольствуясь тем, что предоставляет студия
Намек понят, пошел смотреть чего он умеет
________________________________
When in Rome, do as the Romans do...
Re[2]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 14.03.07 12:31
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>а что Resharper этого еще не умеет ???


На первый поверхностный взгляд складывается впечатление, что либо он предоставляет тоже самое, что есть сейчас в VS2005, но не было в 2003, и его просто продолжили развивать (плюс несколько фич), либо он действительно на голову превосходит все что есть в студии.
________________________________
When in Rome, do as the Romans do...
Re[2]: Table like форматирование нескольких строчек кода
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 14.03.07 13:08
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>а что Resharper этого еще не умеет ???


До сих пор не умеет
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[3]: Table like форматирование нескольких строчек кода
От: nikov США http://www.linkedin.com/in/nikov
Дата: 14.03.07 13:11
Оценка:
Здравствуйте, xvost, Вы писали:

X>До сих пор не умеет


Зато он умеет много что другое.
Re[3]: Table like форматирование нескольких строчек кода
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 14.03.07 15:45
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX> он действительно на голову превосходит все что есть в студии.


Именно так
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[3]: Table like форматирование нескольких строчек кода
От: Igor Sukhov  
Дата: 15.03.07 05:25
Оценка: +1
Здравствуйте, xvost, Вы писали:

IS>>а что Resharper этого еще не умеет ???

X>До сих пор не умеет

Это же не вопрос эстетического характера — такое форматирование членов класса повышает не только читабельность кода и его анализируемость, но и креативность — набросал класс, добавил в него членов, сразу видно как их нужно правильно сгруппировать, какие будут методы и какие группы параметров в них сами "просятся".

Хотя и одна читабельность дорогого стоит

Так что — если до сих пор не умеет — надо учить.
* thriving in a production environment *
Re: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 02.04.07 01:53
Оценка: 209 (13)
Если кому интересно, вот макрос для студии. Позволяет сделать то, чего хотелось.
Дареному "коню" в зубы не смотреть , ибо писался в лоб, без особых раздумий и в условиях жесточайшей битвы с синтаксисом VB
Забиндил макрос на alt+shift+Z — теперь достаточно выделить нужный кусок текста (так же как для операции комментирования например), щелкнуть комбинацию и усе.
Макрос умеет распозновать комменты и не трогать эти строки. Больше ничего кроме выравнивания по левой границе слов не умеет ибо пока не нужно

Плюс в нагрузку , туда же впихнул маленькие приятности, KillASPNET & IISReset. Вывел их, как кнопки на тулбар ну и теперь удобнее рестартовать aspnetwp и IIS при необходимости.
________________________________
When in Rome, do as the Romans do...
bug
От: Блудов Павел Россия  
Дата: 02.04.07 05:42
Оценка:
Здравствуйте, AleXXus!

AXX>Если кому интересно, вот макрос для студии. Позволяет сделать то, чего хотелось.

Работает!

Правда страшно глючит, если выше по коду есть схлопнутый #region.
... << RSDN@Home 1.2.0 alpha rev. 642>>
Re: bug
От: AleXXus Россия  
Дата: 02.04.07 05:47
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Здравствуйте, AleXXus!


AXX>>Если кому интересно, вот макрос для студии. Позволяет сделать то, чего хотелось.

БП>Работает!

БП>Правда страшно глючит, если выше по коду есть схлопнутый #region.


Мля, что-то я про них забыл совсем, когда "тестил" , а в "бою" пока видимо до того не дошло. Как минутка выдастся — поправлю.

Thanks.
________________________________
When in Rome, do as the Romans do...
Re: bug
От: AleXXus Россия  
Дата: 02.04.07 06:31
Оценка: 18 (1)
Здравствуйте, Блудов Павел, Вы писали:

БП>Здравствуйте, AleXXus!


AXX>>Если кому интересно, вот макрос для студии. Позволяет сделать то, чего хотелось.

БП>Работает!

БП>Правда страшно глючит, если выше по коду есть схлопнутый #region.


Чтоб весь не выкладывать файл, т.к. у меня он и называется иначе, и еще другие макросы есть, вот только фикс.
Как говориться — бага не моя , оно само

На 51-й и 52-й строках надо поменять
Dim startLine = selection.TopLine
Dim endLine = selection.BottomLine
на
Dim startLine = selection.TopPoint.Line
Dim endLine = selection.BottomPoint.Line

Почему-то TopLine & BottomLine возвращяли аккурат строки находящиеся внутри региона и вовсе не то, что было на деле выделено

Еще осталась бага, когда в выделение попадает схлопнутый регион, но это уже попозжа, сейчас пока времени нестало, может ближе к вечеру.
________________________________
When in Rome, do as the Romans do...
Re[2]: bug
От: AleXXus Россия  
Дата: 03.04.07 04:05
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Еще осталась бага, когда в выделение попадает схлопнутый регион, но это уже попозжа, сейчас пока времени нестало, может ближе к вечеру.


Вроде вылечил

Fixed version

Теперь может переваривать и схлопнутые регионы попавшие в выделенный кусок кода.
Правда они расхлапываются заразы и пока не нашел, как победить и это.
________________________________
When in Rome, do as the Romans do...
Re[2]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 10.04.07 06:08
Оценка: 9 (1)
Здравствуйте, AleXXus, Вы писали:

AXX>Если кому интересно, вот макрос для студии.


Да, помимо

int    _outputValue = -2;
double _inValue     = 10;


Он еще и вот это могёт

public abstract class Person : EditableObject
{
    public abstract int ID { get; }
    public abstract string FirstName { get; set; }
    public abstract string LastName { get; set; }
    public abstract DateTime Birthday { get; set; }
}

сделать в
public abstract class Person : EditableObject
{
    public    abstract int      ID        { get; }
    public    abstract string   FirstName { get; set; }
    public    abstract string   LastName  { get; set; }
    protected abstract DateTime Birthday  { get; set; }
}


Ну хотя это и так, в принципе понятно.
________________________________
When in Rome, do as the Romans do...
Re[3]: bug
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 13.04.07 04:02
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Fixed version


при попытке подравнять такой кусок —

#define WINVER        0x0500
#define _WIN32_WINNT    0x0501
#define _WIN32_IE    0x0501
#define _RICHEDIT_VER    0x0200


он только удаляется
... << RSDN@Home 1.2.0 alpha rev. 675>>
Re[4]: bug
От: AleXXus Россия  
Дата: 13.04.07 04:19
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, AleXXus, Вы писали:


AXX>>Fixed version


OE>при попытке подравнять такой кусок -


OE>
OE>#define WINVER        0x0500
OE>#define _WIN32_WINNT    0x0501
OE>#define _WIN32_IE    0x0501
OE>#define _RICHEDIT_VER    0x0200
OE>


OE>он только удаляется


Ок, сегодня под вечер гляну, в чем может быть проблема.
Thanks.
________________________________
When in Rome, do as the Romans do...
Re[4]: bug
От: AleXXus Россия  
Дата: 13.04.07 05:42
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, AleXXus, Вы писали:


AXX>>Fixed version


OE>при попытке подравнять такой кусок -


OE>
OE>#define WINVER        0x0500
OE>#define _WIN32_WINNT    0x0501
OE>#define _WIN32_IE    0x0501
OE>#define _RICHEDIT_VER    0x0200
OE>


OE>он только удаляется


Ага. Вот fixed version
________________________________
When in Rome, do as the Romans do...
Re[5]: bug
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 13.04.07 07:33
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Ага. Вот fixed version


хм, удаляться перестал, но и не выравнивается (другие куски кода равняет, этот нет)
... << RSDN@Home 1.2.0 alpha rev. 675>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.