Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 25 26 27 28 29 [30] 31 32 33 34 .. 76   вперед  Ctrl
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Leax
Member

Откуда: Киев
Сообщений: 434
З.Ы.: Хотя меня бы вполне устроило просто указание: объект, имя объекта, сервер, БД, дата/время скриптования
8 янв 14, 14:18    [15386183]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Leax
Winnipuh
тогда уж и имя базы, в которой живёт объект

Тогда уж лучше самому настраивать с помощью переменных, которые в автозамене используются: {Server},{Database},{User} и т.п.


консенсус
8 янв 14, 15:02    [15386303]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
Winnipuh
Leax
пропущено...

Тогда уж лучше самому настраивать с помощью переменных, которые в автозамене используются: {Server},{Database},{User} и т.п.


консенсус


Всех с прошедшими праздниками !

Предложения хорошие, уже и сами об этом думали. Согласен со всем. Сделаем в ближайшее время. У нас новый релиз уже готов в смысле набора функций, вот только праздники помешали его довести но конца. Но скоро будет.
9 янв 14, 13:56    [15390027]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Penner
Member

Откуда:
Сообщений: 333
можно ли сделать более настраиваемым форматирование?
15 янв 14, 23:10    [15421981]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
Penner,

Форматирование стороннее и от авторов аддина не зависит.
15 янв 14, 23:18    [15422008]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Penner
Member

Откуда:
Сообщений: 333
dalex1973
Форматирование стороннее и от авторов аддина не зависит.

:(
16 янв 14, 09:44    [15422945]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
dalex1973,Penner,


dalex1973
Penner,

Форматирование стороннее и от авторов аддина не зависит.


У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись. Сейчас как раз занимаемся разработкой опций для форматирования и спорим тут о том что нужно, а что нет.

Поэтому, у кого есть какие то запросы или идеи пишите пожалуйста сюда. Только желательно с примерами и понятно.

И есть первый вопрос:
как вы отформатируете следующий код ?

BEGIN/*multilne
comment*/
/*comment1*/
/*comment2*/
IF 1 = 1 PRINT 1
/*comment3*/
/*comment4*/
IF 1 = 1 PRINT 2
/*comment5*/
/*comment6*/
END


Если есть какие-то хорошие документы по форматированию, может какие-то стандартные тестовые тексты для прогона, то всё присылайте на support@ почту. Буду благодарен за любые ссылки и советы.
16 янв 14, 15:49    [15425404]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
AndreiRantsevich
dalex1973,Penner,


dalex1973
Penner,

Форматирование стороннее и от авторов аддина не зависит.


У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись. Сейчас как раз занимаемся разработкой опций для форматирования и спорим тут о том что нужно, а что нет.

Поэтому, у кого есть какие то запросы или идеи пишите пожалуйста сюда. Только желательно с примерами и понятно.

И есть первый вопрос:
как вы отформатируете следующий код ?

BEGIN/*multilne
comment*/
/*comment1*/
/*comment2*/
IF 1 = 1 PRINT 1
/*comment3*/
/*comment4*/
IF 1 = 1 PRINT 2
/*comment5*/
/*comment6*/
END


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


я бы налепил везде begin end, возможно настариваемо в опциях.

IF 1 = 1
BEGIN
PRINT 1
END
16 янв 14, 16:06    [15425502]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Penner
Member

Откуда:
Сообщений: 333
может дать возможность самому настроить?
16 янв 14, 16:10    [15425524]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Penner
Member

Откуда:
Сообщений: 333
BEGIN
  /*comment1*/
  /*comment2*/
  IF 1 = 1 PRINT 1
  /*comment3*/
  /*comment4*/
  IF 1 = 1 PRINT 2
  /*comment5*/
  /*comment6*/
END
16 янв 14, 16:12    [15425534]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
Penner
может дать возможность самому настроить?

Об этом и речь: нарабатываем какие опции вообще нужны. Можно предлогать сами настройки, либо говорить "я бы ожидал такой результат...".
16 янв 14, 16:19    [15425574]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
invm
Member

Откуда: Москва
Сообщений: 9273
AndreiRantsevich,

15321715 будет хоть как-то прокомментировано?
16 янв 14, 16:29    [15425628]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
McFozzy
Member

Откуда: Litva
Сообщений: 138
AndreiRantsevich
У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись. Сейчас как раз занимаемся разработкой опций для форматирования и спорим тут о том что нужно, а что нет.


ура! какие новости... а это никак не влияет на выход очередного релиза?

прилагаю свои вариант форматирования...

К сообщению приложен файл (SampleSQLCode.sql - 571bytes) cкачать
16 янв 14, 16:49    [15425751]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
invm
AndreiRantsevich,

15321715 будет хоть как-то прокомментировано?

спасибо что обратили внимание. Я если честно проскачил это сообщение.
16 янв 14, 17:11    [15425883]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
McFozzy
AndreiRantsevich
У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись. Сейчас как раз занимаемся разработкой опций для форматирования и спорим тут о том что нужно, а что нет.


ура! какие новости... а это никак не влияет на выход очередного релиза?

прилагаю свои вариант форматирования...

Приложенный файл (SampleSQLCode.sql - 571bytes)

На релиз не повлияет - разработка идёт в branch-е.
Релиз задержался из немного из за меня. После праздников пришло несколько срочных проектов и я утонул в них. Сейчас намечаем на конец января.
16 янв 14, 17:16    [15425908]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
AndreiRantsevich
У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись.
Мда, это сообщение меняет смысл недавнего "срача" 15195924.

McFozzy привёл SQLComplete тулзу для подражания. Но ни она ни другие как не решили задачу, я всё ещё не могу настроить форматирование под наш стиль (банальнейше - ведущие запятые вровень блоку) так и не выполняет написанное - настраивание одного и того же мысла один раз. А там 100500 раз указываешь одно и тоже.

Надеюсь что не просто пишут yeld another sql formatter, а первые которые взялись за ум.
Поэтому вопрос - какова стратегия подхода к этому снаряду ?
Чтобы знать как действовать, помогать и на чём сконцентрироваться.

PS: Предсказываю что найдутся 1-2 активнейших из 10000 читающих, которые будут утверждать, что универсальная тулза обязана не поддерживать стиль оппонента, за глаза, ссылаясь на личности и проводя стандартные неадекватные аргументы.
16 янв 14, 17:37    [15425988]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
AndreiRantsevich
McFozzy
пропущено...


ура! какие новости... а это никак не влияет на выход очередного релиза?

прилагаю свои вариант форматирования...

Приложенный файл (SampleSQLCode.sql - 571bytes)

На релиз не повлияет - разработка идёт в branch-е.
Релиз задержался из немного из за меня. После праздников пришло несколько срочных проектов и я утонул в них. Сейчас намечаем на конец января.


надо меньше пить(ц)
16 янв 14, 17:55    [15426082]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
McFozzy,


McFozzy
AndreiRantsevich
У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись. Сейчас как раз занимаемся разработкой опций для форматирования и спорим тут о том что нужно, а что нет.


ура! какие новости... а это никак не влияет на выход очередного релиза?

прилагаю свои вариант форматирования...

Приложенный файл (SampleSQLCode.sql - 571bytes)


Интересный формат. Есть ли у вас описание правил форматирования, в любом виде ?
Это руками отформатировано или каким-то скртптом ?
Немного неясна логика размещения запятых, что на новых строках.
16 янв 14, 18:03    [15426113]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
AndreiRantsevich
McFozzy,


McFozzy
пропущено...


ура! какие новости... а это никак не влияет на выход очередного релиза?

прилагаю свои вариант форматирования...

Приложенный файл (SampleSQLCode.sql - 571bytes)


Интересный формат. Есть ли у вас описание правил форматирования, в любом виде ?
Это руками отформатировано или каким-то скртптом ?
Немного неясна логика размещения запятых, что на новых строках.


как у SSMS, это удобно, если надо, например, закрыть комментарием поле и т.д..
16 янв 14, 18:11    [15426137]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
AndreiRantsevich
Member

Откуда: Минск
Сообщений: 766
Mnior
AndreiRantsevich
У нас есть хорошие новости: мы уже пишем свой форматтер и уже очень далеко продвинулись.
Мда, это сообщение меняет смысл недавнего "срача" 15195924.

McFozzy привёл SQLComplete тулзу для подражания. Но ни она ни другие как не решили задачу, я всё ещё не могу настроить форматирование под наш стиль (банальнейше - ведущие запятые вровень блоку) так и не выполняет написанное - настраивание одного и того же мысла один раз. А там 100500 раз указываешь одно и тоже.

Надеюсь что не просто пишут yeld another sql formatter, а первые которые взялись за ум.
Поэтому вопрос - какова стратегия подхода к этому снаряду ?
Чтобы знать как действовать, помогать и на чём сконцентрироваться.

PS: Предсказываю что найдутся 1-2 активнейших из 10000 читающих, которые будут утверждать, что универсальная тулза обязана не поддерживать стиль оппонента, за глаза, ссылаясь на личности и проводя стандартные неадекватные аргументы.

Мы попытаемся создать максимально гибкий форматер с 1001 опцией и к нему несколько шаблонов.
Если у вас есть описание вашего стандарта форматирования и вы можете им поделиться, то буду богодарен. (присылайте на support@) Конечно нужны примеры. Фактически мы стараемся из разных примеров наработать набор опций.
Затем сделаем альфа-версию для оценки и прокатки и снова будем всех слушать. Главное что мы решили выделить время на эту функциональность.
16 янв 14, 18:14    [15426150]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
McFozzy
Member

Откуда: Litva
Сообщений: 138
AndreiRantsevich
McFozzy,


McFozzy
пропущено...


прилагаю свои вариант форматирования...

Приложенный файл (SampleSQLCode.sql - 571bytes)


Интересный формат. Есть ли у вас описание правил форматирования, в любом виде ?
Это руками отформатировано или каким-то скртптом ?
Немного неясна логика размещения запятых, что на новых строках.

руками... ни какой форматер не может (на сколько я пробовал) вставлять запятые перед описанием поля.

правил как бы нет... откройте файл с Notepad++ и посмотрите где есть Tab символы.
16 янв 14, 18:33    [15426241]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
McFozzy
руками... ни какой форматер не может (на сколько я пробовал) вставлять запятые перед описанием поля.
Вами же предложенный SQLComplete позволяет.
Но как обычно дьявол в деталях. Иза-за 100500 одинаковых настроек, но кое где забыли, и кое где блоки смещаются, а иногда тупо глючит.

-- Comment
IF  (@VariableI  = 'Value')
AND (@VariableII = 'Value2') BEGIN
	-- Select comment
	SELECT	TOP(10)
		tb .Field1
	,	tb2.Field2
	,	CASE WHEN tb.Field3 = 'Value3' THEN 'Y' ELSE 'N' END	AS Field3	-- Inline comment
	,	CASE	WHEN tb.Field3 = 'Value3'
			THEN 'Y'
			ELSE 'N'
			END						AS Field3b
	,	CASE	WHEN tb.Field4 = 0
			 AND tb.Field3 = 'Value1'	THEN 'A'
			WHEN tb.Field3 = 'Value2'	THEN 'B'
							ELSE 'C'
			END						AS Field3с
	FROM		dbo.TableI	tb
		JOIN	dbo.Table2	tb2 ON tb2.IdentityField = tb .IdentityField
	LEFT	JOIN	dbo.Table3	tb3 ON tb3.IdentityField = tb2.IdentityField
	WHERE	tb.Field4 IN ('AAA','BBB')	-- Inline comment
	AND	tb.Field5 != 0
	GROUP BY tb.Field1
	,	tb2.Field2
	,	tb .Field3
	ORDER BY 1
END

McFozzy
правил как бы нет...
Чего?
Я же тогда писал что смысл самая важная часть форматирования и правила всегда должны быть.

По мне правил не много. К примеру - блочное форматирование.
В коде выше есть несколько мест блоков: Условия в IF, WHILE, ON, таблицы во FROM, и связки JOIN, ON, перечисления полей в SELECT, GROUP BY и ORDER.
Связки форматированы по обеим осям (по операторам тоже). А также перечисления параметров: входных в процедурах и функциях, их вызовах, DECLARE ...
Не даром JOIN и логические операторы серого цвета - они могут идти вровень стоп-слов (SELECT FROM WHERE WHEN IF) и не "закрывать" своей серостью яркие синие слова-разделители (стоп-слова).

Ведущие запятые тоже ради блоков. Они не мешаются где-то в конце, и коментить легче (последние колонки коментятся чаще), а с другой стороны видно где пропустил или где конец выражения.
Блочное выравнивание помогает копировать и вставлять код в другие места, и на других языках.
Как набор колонок в выражения и в связки так и наоборот.
Формат вида:
SELECT	X.Col1
,	X.Col2
,	Col3	= 1 + 2
,	Col4	= X.Col1 + X.Col2
Для блочного форматирования лучше подходит. И к тому же более единообразен по отношению к UPDATE. Я бы и для INSERT сделал бы такой же. Но к сожалению MS грозится запретить такой синтаксис. Как кстати и отсутствие AS. Для SELECT оно конечно хорошо - меньше проблем, но для таблиц только мешается.
И вообще я за принцип сначала ДЛЯ ЧЕГО, а потом ИЗ ЧЕГО.
Это касается описания полей, связок в WHERE и ON (иногда это называют инверсное - по мне так наоборот), вызова процедур (параметр = значение) и т.д.

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

Принудительное добавление BEGIN END мне не подходит - отсутствие его в IF ELSE IF подсказывает и помогает контролировать что там только один оператор.
BEGIN вообще не маркер, он всегда идёт за реальным маркером (IF ELSE WHILE шапка объекта)
Более того - я вообще вырезаю излишние слова, как INTO после INSERT и INNER перед JOIN, т.е. слова по умолчанию, как и значения по умолчанию во всяких INDEX, WITH, FOREIGN KEY т.п.
С другой стороны:
- оптимизация форматирования с возможной сменой смысла кода - тоже возможно.
К примеру несколько подряд идущих SET объединить в SELECT, авторасстановка алиасов. Но я бы не стал это делать как обязательное, а как дополнительный стиль форматирования.
- отключение анализа некоторых частей кода (трогать только какие-то лишь блики или элементы)
Т.е. я за несколько пред-настроенных вариантов форматирования для разных целей:
- выровнять говнокод с sql.ru
- стиль дяди пети, выпилить его выкрутасы
- стиль для дяди пети, навыкрутасить
- оптимизация частей кода А
- оптимизация частей кода Б
- мягко подрихтовать неровности
- стиль шапок А
- стиль под шаблон кода Б
- стиль для анализа сверх-запутанных запросов, разряжённый
- стиль для анализа сверх-запутанных запросов, компактный
Стили в иерархи - переопределяют элементы стиля предка.
Ибо часто код в самих выражениях не имеет простого или единого формата - ибо для читабельности иногда лучше выровнять по другому или подчеркнуть важные детали, поэтому должен быть стиль не трогающий выражения (или pragma блокираторы форматирования).

Комментарии желательно только inline, ибо блочный /**/ для оперативной работы - быстро закрыть код. Выравнивание тоже желательно.

Размер табулятора = 8, т.к. средний размер часто используемых стоп-слов в пределах от 4х до 8ми.
17 янв 14, 03:57    [15427837]     Ответить | Цитировать Сообщить модератору
 Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
dalex1973
Member

Откуда: Польша
Сообщений: 287
Mnior,

Тут я с Вами согласен. Универсальный форматтер, который едет по целому коду с одним алгоритмом снижает его эффективность. Приходится потом руками выравнивать.
Копаться в милллионе настроек тяжело.

Mnior
Более того - я вообще вырезаю излишние слова, как INTO после INSERT и INNER перед JOIN, т.е. слова по умолчанию, как и значения по умолчанию во всяких INDEX, WITH, FOREIGN KEY т.п.

Если и внедрять, то - как опциональный параметр.
Mnior
К примеру короткие, точнее простые выражения могут быть и в одну строку, а длинные должны разобраться по блокам.

Да, в некоторых форматтерах можно указывать максимальную длину строки.

Mnior
Ибо часто код в самих выражениях не имеет простого или единого формата - ибо для читабельности иногда лучше выровнять по другому или подчеркнуть важные детали, поэтому должен быть стиль не трогающий выражения (или pragma блокираторы форматирования).

Тоже верно, должна быть возможность определить места в коде которые форматтер обойдёт. Это определение:
  • не должно оставлять следов в коде
  • при повторном открытии файла данные места помнить и показывать.(Привязка по имени файла. Для показа, возможно, придётся сделать отдельное окно).

    Mnior
    BEGIN END мне не подходит

    BEGIN-END вообще не вариант (например, inlined TVF или представления)
  • 21 янв 14, 11:23    [15445368]     Ответить | Цитировать Сообщить модератору
     Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
    Leax
    Member

    Откуда: Киев
    Сообщений: 434
    А можно как-то в темплейтах заскриптовать имена полей таблицы вместе с их типом?

    Я хотел сделать темплейт для парсинга xml в таблицу, а там нужно указывать тип полей для приёма результата

    Мне надо, чтобы в результате скриптования таблицы (что-то вроде команды Create) получалось:
    select 
    	x.value('@lagerId', 'int'),
    	x.value('@quantity', 'numeric(18,3)')
    from data.nodes('ROOT/data/row') as T(x)
    

    Понятно, что 'ROOT/data/row' я сам руками править буду для каждого конкретного случая
    22 янв 14, 16:27    [15452962]     Ответить | Цитировать Сообщить модератору
     Re: SSMSBoost - бесплатный add-in для SSMS: доводка уровня удобства SSMS до рейтинга "ух-ты !"  [new]
    Leax
    Member

    Откуда: Киев
    Сообщений: 434
    И ещё, можно ли проделать то же самое, но с гридом/выделением в гриде ?
    Чтобы взяло имена выделенных колонок, их тип и сгенерило скрипт из предыдущего сообщения
    22 янв 14, 16:29    [15452978]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: Ctrl  назад   1 .. 25 26 27 28 29 [30] 31 32 33 34 .. 76   вперед  Ctrl
    Все форумы / Microsoft SQL Server Ответить