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>>
Re[6]: bug
От: AleXXus Россия  
Дата: 13.04.07 07:35
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

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


AXX>>Ага. Вот fixed version


OE>хм, удаляться перестал, но и не выравнивается (другие куски кода равняет, этот нет)


Хм, глюк. Тестил на приведенном фрагменте и вперемешку.
Сейчас еще раз гляну.
________________________________
When in Rome, do as the Romans do...
Re[6]: bug
От: AleXXus Россия  
Дата: 13.04.07 07:42
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

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


AXX>>Ага. Вот fixed version


OE>хм, удаляться перестал, но и не выравнивается (другие куски кода равняет, этот нет)


Мистика

Вот только что попробовал — Работает вроде...
________________________________
When in Rome, do as the Romans do...
Re[4]: Table like форматирование нескольких строчек кода
От: _FRED_ Черногория
Дата: 13.04.07 08:48
Оценка: +2
Здравствуйте, Igor Sukhov, Вы писали:

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

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

Гхм. Мне вот не по душе, что…
int    megaCounter = 0;
string megaString  = "";
Type   megaType    = null;

…при добавлении нового поля…
int    megaCounter = 0;
string megaString  = "";
Type   megaType    = null;
BlaBlaBlaBla fooooooooooo = null;

…изменяется весь регион описания полей:
int          megaCounter  = 0;
string       megaString   = "";
Type         megaType     = null;
BlaBlaBlaBla fooooooooooo = null;

То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.
... << RSDN@Home 1.2.0 alpha rev. 675>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[7]: bug
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 13.04.07 09:01
Оценка:
Здравствуйте, AleXXus, Вы писали:

OE>>хм, удаляться перестал, но и не выравнивается (другие куски кода равняет, этот нет)

AXX>Мистика

понял, у меня в этом месте между словами — табуляции, с ними не работает
... << RSDN@Home 1.2.0 alpha rev. 675>>
Re[7]: bug
От: Kalina9001  
Дата: 13.04.07 09:18
Оценка:
Баг

Следующий код, выделение мышью от точки |< до точки <|, снизу вверх (важно!)



    class test
    {
        <|private List<int> intList;
        private string    str;|<
    }


После выполнения макроса:

    class test
    {
        private List<int> intList;
        private string    str;
        |
        private string str;
    }
... << RSDN@Home 1.2.0 alpha rev. 675>>
Re[8]: bug
От: AleXXus Россия  
Дата: 14.04.07 11:59
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

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


OE>>>хм, удаляться перестал, но и не выравнивается (другие куски кода равняет, этот нет)

AXX>>Мистика

OE>понял, у меня в этом месте между словами — табуляции, с ними не работает


Thanks.
Scheduled
________________________________
When in Rome, do as the Romans do...
Re[8]: bug
От: AleXXus Россия  
Дата: 14.04.07 11:59
Оценка:
Здравствуйте, Kalina9001, Вы писали:

K>Баг


K>Следующий код, выделение мышью от точки |< до точки <|, снизу вверх (важно!)



Thanks.
Scheduled
________________________________
When in Rome, do as the Romans do...
Re[5]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 14.04.07 12:02
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.


Какие предложения?
________________________________
When in Rome, do as the Romans do...
Re[6]: Table like форматирование нескольких строчек кода
От: _FRED_ Черногория
Дата: 14.04.07 16:31
Оценка:
Здравствуйте, AleXXus, Вы писали:

_FR>>То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.


AXX>Какие предложения?


Это просто выражение ИМХО на то, что оно "повышает" :о)) Ведь предложение не использовать такой стиль не прокатит? :о)) Я его и не буду высказывать.
... << RSDN@Home 1.2.0 alpha rev. 675>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[5]: Table like форматирование нескольких строчек кода
От: Igor Sukhov  
Дата: 15.04.07 10:25
Оценка: +2
Здравствуйте, _FRED_, Вы писали:


_FR>Гхм. Мне вот не по душе, что…

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

_FR>…при добавлении нового поля…
_FR>
_FR>int    megaCounter = 0;
_FR>string megaString  = "";
_FR>Type   megaType    = null;
_FR>BlaBlaBlaBla fooooooooooo = null;
_FR>

_FR>…изменяется весь регион описания полей:
_FR>
_FR>int          megaCounter  = 0;
_FR>string       megaString   = "";
_FR>Type         megaType     = null;
_FR>BlaBlaBlaBla fooooooooooo = null;
_FR>

_FR>То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.
Да, изменяется, становвясь более читабельным. И что в этом плохого ? И что такое "внешний вид файла" ?
... << RSDN@Home 1.2.0 alpha rev. 0>>
* thriving in a production environment *
Re[7]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 16.04.07 01:51
Оценка:
Здравствуйте, _FRED_, Вы писали:

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


_FR>>>То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.


AXX>>Какие предложения?


_FR>Это просто выражение ИМХО на то, что оно "повышает" :о)) Ведь предложение не использовать такой стиль не прокатит? :о)) Я его и не буду высказывать.


Точно
________________________________
When in Rome, do as the Romans do...
Re[8]: bug
От: AleXXus Россия  
Дата: 16.04.07 02:36
Оценка: 26 (1)
Здравствуйте, Odi$$ey, Вы писали:

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


OE>>>хм, удаляться перестал, но и не выравнивается (другие куски кода равняет, этот нет)

AXX>>Мистика

OE>понял, у меня в этом месте между словами — табуляции, с ними не работает


Нашел. Вот Fixed version
________________________________
When in Rome, do as the Romans do...
Re[8]: bug
От: AleXXus Россия  
Дата: 16.04.07 02:36
Оценка: 16 (2)
Здравствуйте, Kalina9001, Вы писали:

K>Баг


K>Следующий код, выделение мышью от точки |< до точки <|, снизу вверх (важно!)



Нашел. Вот Fixed version
________________________________
When in Rome, do as the Romans do...
Re[6]: Table like форматирование нескольких строчек кода
От: Lloyd Россия  
Дата: 16.04.07 03:10
Оценка: +3
Здравствуйте, Igor Sukhov, Вы писали:

_FR>>То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.

IS>Да, изменяется, становвясь более читабельным.

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

IS>И что в этом плохого ? И что такое "внешний вид файла" ?
Re[3]: Table like форматирование нескольких строчек кода
От: Lloyd Россия  
Дата: 16.04.07 03:13
Оценка: :)))
Здравствуйте, AleXXus, Вы писали:

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


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

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


AXX>Ну хотя это и так, в принципе понятно.


Меняет public на protected? Сила!
Re[4]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 16.04.07 03:23
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


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


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

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


AXX>>Ну хотя это и так, в принципе понятно.


L>Меняет public на protected? Сила!


Oops
Эт я просто тестил у себя когда, из студии скопировал, да не углядел разницу . Посыпаю голову пеплом, такого он пока точно не могет
________________________________
When in Rome, do as the Romans do...
Re[7]: Table like форматирование нескольких строчек кода
От: Igor Sukhov  
Дата: 16.04.07 09:29
Оценка: 1 (1) +3 :)
Здравствуйте, Lloyd, Вы писали:

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


_FR>>>То есть, потенциально, "всё" (что уже написано) зависит от будущего изменения. И свновь добавленное поле (со всойством) может сильно изменить "внешний вид" всего файла.

IS>>Да, изменяется, становвясь более читабельным.

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


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

Во-вторых, я не вижу явной отрицательной связи между увеличением (в разумных пределах) расстояния между типом переменной и ее имени и читабельности блока кода.

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

Я конечно не могу говорить за всех сразу (за это говорят оценки в данной теме), но наличие колонок в газетах, и правила юзабилити указывающие, что элементы управления "выстроенные" вертикально и выровненные по одному из краев повышают скорость восприятия информации, по моему говорят в пользу подхода AleXXus-а.
... << RSDN@Home 1.2.0 alpha rev. 0>>
* thriving in a production environment *
Re[9]: bug
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 16.04.07 14:12
Оценка:
Здравствуйте, AleXXus, Вы писали:

OE>>понял, у меня в этом месте между словами — табуляции, с ними не работает

AXX>Нашел. Вот Fixed version

работает Если бы еще пустую строчку не вставлял каждый раз после форматируемого блока, было бы вообще хорошо
... << RSDN@Home 1.2.0 alpha rev. 675>>
Re[8]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 18.04.07 00:31
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>по моему говорят в пользу подхода AleXXus-а.


Ну это вообщем-то не мой подход , я его просто использую . А подсмотрел у IT
________________________________
When in Rome, do as the Romans do...
Re[10]: bug
От: AleXXus Россия  
Дата: 18.04.07 00:42
Оценка: 12 (1)
Здравствуйте, Odi$$ey, Вы писали:

OE>работает Если бы еще пустую строчку не вставлял каждый раз после форматируемого блока, было бы вообще хорошо


Запросто Latest version.

P.S. Кстати оно сейчас и чуть шустрее стало. EnvDTE объекты (selection & editPoint) заметно притормаживают. Реорганизовал малость, убрал пару действий с editPoint и стало побыстрее.
________________________________
When in Rome, do as the Romans do...
Re[2]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 03.05.07 01:21
Оценка: 41 (3)
Здравствуйте, AleXXus, Вы писали:

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


Немного обновил — new version.

Научил переваривать такие вещи, как:
new XXX()
XXX as YYY
XXX<U, V>

Например:
string           _myString = "test";
string           _testStr  = "test1" as string;
string           _testVal  = "test123" as string;
List<int>        _testList = null;
MyKVP<int, Type> _kvPairs  = new MyKVP<int, Type>();
RunnerBase       _runner   = new RunnerBase();
________________________________
When in Rome, do as the Romans do...
Re[3]: Table like форматирование нескольких строчек кода
От: Igor Sukhov  
Дата: 05.05.07 16:14
Оценка:
Здравствуйте, AleXXus, Вы писали:

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


AXX>Немного обновил — new version.


Наконец-то руки дошли опробовать. С чувством пронесся по десятку файлов, форматируя как бешеный. Получил сравнимое удовольствие.

Спасибо.
* thriving in a production environment *
Re[3]: []Table like форматирование нескольких строчек кода
От: Igor Sukhov  
Дата: 06.05.07 05:23
Оценка: 1 (1)
Здравствуйте, AleXXus, Вы писали:

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


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


AXX>Немного обновил — new version.


нашел bug — если до выполнения макроса курсор находится на следущей строке (в начале следущей строки) — то после того как макрос отработал прибиваются символы (символ) на строке с курсором. Не порядок.

Here's the screenshot:

step 1 — до
step 2 — выделяем блок код (заметь, курсор на строку ниже выделеного текста)
step 3 — после. Закрывающая скобка исчезла.



AXX>Научил переваривать такие вещи, как:

надо учить переваривать дальше, или снимать новую фильму O Bracket, Where Art Thou?
* thriving in a production environment *
Re[4]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 06.05.07 08:48
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

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


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


AXX>>Немного обновил — new version.


IS>Наконец-то руки дошли опробовать. С чувством пронесся по десятку файлов, форматируя как бешеный. Получил сравнимое удовольствие.


IS>Спасибо.


You are welcome
________________________________
When in Rome, do as the Romans do...
Re[4]: []Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 06.05.07 08:52
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>нашел bug — если до выполнения макроса курсор находится на следущей строке (в начале следущей строки) — то после того как макрос отработал прибиваются символы (символ) на строке с курсором. Не порядок.


Nice bug

Посмотрю в понедельник и обновлю, как исправлю.
________________________________
When in Rome, do as the Romans do...
Re[4]: []Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 07.05.07 01:11
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>нашел bug — если до выполнения макроса курсор находится на следущей строке (в начале следущей строки) — то после того как макрос отработал прибиваются символы (символ) на строке с курсором. Не порядок.


Должно быть лучше теперь — Fixed version.

P.S. ... этот забавный ActiveDocument.Selection...
________________________________
When in Rome, do as the Romans do...
Re[5]: []Table like форматирование нескольких строчек кода
От: Аноним  
Дата: 07.05.07 08:28
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Здравствуйте, Igor Sukhov, Вы писали:


IS>>нашел bug — если до выполнения макроса курсор находится на следущей строке (в начале следущей строки) — то после того как макрос отработал прибиваются символы (символ) на строке с курсором. Не порядок.


AXX>Должно быть лучше теперь — Fixed version.


AXX>P.S. ... этот забавный ActiveDocument.Selection...


Вот такие строчки не форматируюся

private static int nDay=  1;
private static int nMonth =12;
Re[6]: []Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 07.05.07 08:41
Оценка: 6 (1)
Здравствуйте, Аноним, Вы писали:

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


AXX>>Здравствуйте, Igor Sukhov, Вы писали:


IS>>>нашел bug — если до выполнения макроса курсор находится на следущей строке (в начале следущей строки) — то после того как макрос отработал прибиваются символы (символ) на строке с курсором. Не порядок.


AXX>>Должно быть лучше теперь — Fixed version.


AXX>>P.S. ... этот забавный ActiveDocument.Selection...


А>Вот такие строчки не форматируюся


А>
А>private static int nDay=  1;
А>private static int nMonth =12;
А>


Дело в том, что макрос просто по пробелам всю строку разбирает на несколько слов и потом выравнивает по левой границе слов. Конкретно знак "=" он не ловит.

Когда в студии пишете и включен автоформат, то при наборе ";" в конце строки, студия автоматом поставит пробелы, и позже, написав несколько строк, уже можно выровнять макросом.

Для таких строк можно сделать так:
— выделить их, нажать Ctrl-K, Ctrl-F — студия отформатирует в соотв. с настроенными правилами и после этого можно выравнивать макросом.
________________________________
When in Rome, do as the Romans do...
Re[2]: Table like форматирование нескольких строчек кода
От: mjau  
Дата: 11.05.07 21:12
Оценка:
Здравствуйте, AleXXus, Вы писали:

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


Я правильно понимаю, что форматирует оно только пробелами? А можно сделать так, чтобы форматировалось табами?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Каждый, просыпаясь утром, должен задавать себе вопрос — что он может сегодня сделать, чтобы россиянства
Автор: Kerk
Дата: 21.08.22
в мире стало меньше.
Re[3]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 12.05.07 08:00
Оценка:
Здравствуйте, mjau, Вы писали:

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


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


M>Я правильно понимаю, что форматирует оно только пробелами? А можно сделать так, чтобы форматировалось табами?


Да, на данный момент именно пробелы вставляются для выравнивания. В принципе, конечно можно изменить макрос под себя и вставлять табы вместо пробелов, но честно говоря, я даже не представляю, что будет, если ваш код откроет человек, у которого другие настройки. У вас TabSize == 2, а у него будет 4 например?
Вообщем видимо дело вкуса, если сильно хочется — меняйте макрос, как угодно под себя , для того он и выкладывался.
________________________________
When in Rome, do as the Romans do...
Re[4]: Table like форматирование нескольких строчек кода
От: Denis K.  
Дата: 04.09.07 06:33
Оценка:
Здравствуйте, AleXXus, Вы писали:

Отличный макрос!
Нашёл баг — если до форматирования в строке встречаются табы, то они заменяются на пробелы(гут), но форматирование в результате кривое. Повторное форматирование того же исходника всё приводит в правильный вид.
Re[5]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 07.09.07 02:42
Оценка:
Здравствуйте, Denis K., Вы писали:

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


DK>Отличный макрос!

DK>Нашёл баг — если до форматирования в строке встречаются табы, то они заменяются на пробелы(гут), но форматирование в результате кривое. Повторное форматирование того же исходника всё приводит в правильный вид.

Немного не понял. Как повторить то? У меня вроде во всех строках табы вначале, но после первого же форматирования макросом оно не сбивается. Может пара скринов поможет?
________________________________
When in Rome, do as the Romans do...
Re[2]: Table like форматирование нескольких строчек кода
От: Аноним  
Дата: 07.09.07 04:51
Оценка:
Здравствуйте, AleXXus, Вы писали:

Что-то он меня совсем не работает. Как исталлировать макрос в студию?
Re[6]: Table like форматирование нескольких строчек кода
От: Denis K.  
Дата: 07.09.07 05:40
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Немного не понял. Как повторить то? У меня вроде во всех строках табы вначале, но после первого же форматирования макросом оно не сбивается. Может пара скринов поможет?


Скриншоты здесь.
В опциях — заменять табы на пробелы, в одном табе — 2 пробела.
Re[3]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 04.04.11 09:53
Оценка: 19 (3)
AXX>>Если кому интересно, вот макрос для студии. Позволяет сделать то, чего хотелось.

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

Теперь может такое:

        string          _myString   = "test";                            //this should work now
        string          _testStr    = "test1 fdsdfds dsdfd" as string;
        string          _testVal    = "test123" as string;               //comment here
        List<int>       _testList   = null;                              //yet another example comment
        string          _sampleStr  = "shouldn't be taken into account";
        string          _sampleStr2 = "as well as this one";
        MyKVP<int, int> _kvPairs    = new MyKVP<int, Type>();            //and more
        RunnerBase      _runner     = new RunnerBase();
________________________________
When in Rome, do as the Romans do...
Re[4]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 07.04.11 04:12
Оценка:
Здравствуйте, AleXXus, Вы писали:

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


AXX>Не прошло и сто лет, как надоело мне, что макрос не хендлит строки и коменты толком. Допилил.

AXX>Последняя версия здесь.

Что-то я подумал подумал, и сделал этот макрос extension'ом для студии. Так он сильно легче деплоится и сильно быстрее работает .

Зашитая комбинация кнопок Ctrl + Alt. Когда обе нажаты выделенный текст форматируется.

Брать здесь.
________________________________
When in Rome, do as the Romans do...
Re[5]: Table like форматирование нескольких строчек кода
От: баг  
Дата: 07.04.11 08:38
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Что-то я подумал подумал, и сделал этот макрос extension'ом для студии. Так он сильно легче деплоится и сильно быстрее работает .

А про тех, кто в 2к3-2к8 не подумали?
Re[6]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 07.04.11 11:29
Оценка:
Здравствуйте, баг, Вы писали:

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


AXX>>Что-то я подумал подумал, и сделал этот макрос extension'ом для студии. Так он сильно легче деплоится и сильно быстрее работает .

баг>А про тех, кто в 2к3-2к8 не подумали?

Упс, а что-то даже не подумал, да

Ну... макрос то там точно работает . Баг-фиксы последние в последней версии макроса есть. А экстеншн (а есть ли они там? или там только add-in?)... попозже может быть, сейчас пока времени честно говоря нету.
________________________________
When in Rome, do as the Romans do...
Re[4]: Table like форматирование нескольких строчек кода
От: Andy77 Ниоткуда  
Дата: 09.04.11 04:55
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Не прошло и сто лет, как надоело мне, что макрос не хендлит строки и коменты толком. Допилил.

AXX>Последняя версия здесь.

А Решарпер по-прежнему такое не умеет делать Я как раз разработчиков относительно недавно спрашивал
Автор: Andy77
Дата: 23.02.11
об этой фиче. Буду теперь пользоваться твоим экстеншном, жалко только, что Решарпер ломает эту красоту при авто-форматировании.
Re[5]: Table like форматирование нескольких строчек кода
От: AleXXus Россия  
Дата: 10.04.11 07:30
Оценка:
Здравствуйте, Andy77, Вы писали:

A>А Решарпер по-прежнему такое не умеет делать Я как раз разработчиков относительно недавно спрашивал
Автор: Andy77
Дата: 23.02.11
об этой фиче. Буду теперь пользоваться твоим экстеншном, жалко только, что Решарпер ломает эту красоту при авто-форматировании.


На здоровье . Для того и делалось, чтоб пользоваться, если нравится такой вид.

зы. Студия при автоформатировании тоже ломает красоту эту
________________________________
When in Rome, do as the Romans do...
Re: Table like форматирование нескольких строчек кода
От: Aleх  
Дата: 10.04.11 19:47
Оценка:
Здравствуйте, AleXXus, Вы писали:

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


AXX>В духе:


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


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


Если кому нужно, то я вот это использую.
Re[5]: Table like форматирование нескольких строчек кода
От: Аноним  
Дата: 07.03.12 13:45
Оценка:
Здравствуйте, AleXXus, Вы писали:

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


AXX>Не прошло и сто лет, как надоело мне, что макрос не хендлит строки и коменты толком. Допилил.

AXX>Последняя версия здесь.

Фикс.
вместо:
If (line(l - 1).Equals(","c)) Then tempWord += line(l) : Continue For


нужно
If (line(l - 1).Equals(","c) And Not line(l).Equals(" "c)) Then tempWord += line(l) : Continue For
Re[6]: Table like форматирование нескольких строчек кода
От: Kingofastellarwar Украина  
Дата: 23.03.12 00:07
Оценка:
еще не пробовал, но штука полезная, сам так форматирую

так что пасиба AleXXus
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Table like форматирование нескольких строчек кода
От: fddima  
Дата: 26.03.12 15:58
Оценка:
Здравствуйте, AleXXus, Вы писали:

Кто использует экстеншн Productivity Power Tools — там это называется Align Assignments (ctrl+alt+]).
Re: Table like форматирование нескольких строчек кода
От: Аноним  
Дата: 02.04.12 14:25
Оценка:
emacs align package
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.