powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
25 сообщений из 137, страница 3 из 6
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37846972
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichВообще если кому-то что-то в ССМС мешает нормально работать, то пишите сюда. Вставить GUID: в редакторе кода, открываем контекстное меню - там пункт "Вставить новый GUID", чтобы оно само генерило гуид и вставляло его на место курсора. Сейчас приходится руками селектить newid(), копировать результат и вставлять его на место курсора - иногда это вымораживает.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37846980
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichВообще если кому-то что-то в ССМС мешает нормально работать, то пишите сюда. Заменить GUID: в редакторе кода, если курсор стоит на чем-то сильно похожем на GUID, открываем контекстное меню - там пункт "Заменить на новый GUID", чтобы оно само генерило гуид и заменяло уже написанный гуид новым.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37846985
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDmОбертки кода: в редакторе кода выделяем текст, далее контекст на выделенном - там меню а'ля "обернуть выделенное транзакцией". В результате выделенное оборачивается begin tran'ом + commit'ом (а лучше rollback'ом по дефолту). Мелочь, но приятно. Чтобы обороты не забивать в приклад гвоздями - можно реализовать шаблоны оберток.
сделаем. Это не сложно и полезно. Согласен. У нас что-то подобное тому уже есть в списке тасков: "embed code" -переформатировать для вставки в строку и обратно.
select 'test' -> 'select ''test'''
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37846990
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot RubinDm]AndreiRantsevichВообще если кому-то что-то в ССМС мешает нормально работать, то пишите сюда. Замена GUIDов в копипасте: в редакторе кода, после Copy/Paste, если вставленный кусок кода содержит в себе куски сильно похожие на гуиды - на автомате открыть диалог аля "желаете заменить GUIDы новыми?". Если да - то заменить.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37846999
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDmAndreiRantsevichВообще если кому-то что-то в ССМС мешает нормально работать, то пишите сюда. Заменить GUID: в редакторе кода, если курсор стоит на чем-то сильно похожем на GUID, открываем контекстное меню - там пункт "Заменить на новый GUID", чтобы оно само генерило гуид и заменяло уже написанный гуид новым.

Эта функция мне кажется слишком специфической. Что вы уже сейчас можете сделать - это добавить в SSMSBoost-е такой Autoreplacement:
"selg" -> "select newid()"
Каждый раз как будете писать "selg" он будет заменяться на select newid(), остаётся только
Shift-Pos1 (выделить всё до начала строки) и F5. Занимает всё ровно 1 сек :)
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847005
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichВообще если кому-то что-то в ССМС мешает нормально работать, то пишите сюда. Обертки для хранимых процедур: часто приходится оборачивать уже готовые процедуры в новые с такими же параметрами (1в1) с той лишь целью, чтобы вложенная процедура отрабатывала в транзакции или в save-point'е, который открывается процедурой-оберткой. Было бы нереально круто получить инструмент для генерации скриптов создания таких оберток на автомате. В качестве параметров автомату должны передаваться: 1 - имя оборачиваемой процедуры, 2 - режим обертки:
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847013
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDmAndreiRantsevichВообще если кому-то что-то в ССМС мешает нормально работать, то пишите сюда. Обертки для хранимых процедур: часто приходится оборачивать уже готовые процедуры в новые с такими же параметрами (1в1) с той лишь целью, чтобы вложенная процедура отрабатывала в транзакции или в save-point'е, который открывается процедурой-оберткой. Было бы нереально круто получить инструмент для генерации скриптов создания таких оберток на автомате. В качестве параметров автомату должны передаваться: 1 - имя оборачиваемой процедуры, 2 - режим обертки:
Да - это класс. Мне даже кажется что у нас в работе то что вам нужно. Пришлите или по почте, или киньте сюда список "типов" и примеры для них. Может так случится, что будет готово через 2-3 недели, т.к. как раз сейчас работаем над похожей функцией. Мы ей просто обобщим.
(адрес смотрите на нашем сайте - суппорт - это тоже я :) )
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847016
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichRubinDmпропущено...
Заменить GUID: в редакторе кода, если курсор стоит на чем-то сильно похожем на GUID, открываем контекстное меню - там пункт "Заменить на новый GUID", чтобы оно само генерило гуид и заменяло уже написанный гуид новым.

Эта функция мне кажется слишком специфической. Что вы уже сейчас можете сделать - это добавить в SSMSBoost-е такой Autoreplacement:
"selg" -> "select newid()"
Каждый раз как будете писать "selg" он будет заменяться на select newid(), остаётся только
Shift-Pos1 (выделить всё до начала строки) и F5. Занимает всё ровно 1 сек :)
после F5 надо еще пойти в резалт, копировать его, потом в код, вставить... бр.
возможно есть смысл до-автоматизировать шаблон замены парой галок, 1 - исполнить после замены (авто-F5), 2 - заменить результат замены результатом исполнения. имхо получится достаточно универсально, и не будет привязки к весьма специфической задаче.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847021
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichRubinDmпропущено...
Обертки для хранимых процедур: часто приходится оборачивать уже готовые процедуры в новые с такими же параметрами (1в1) с той лишь целью, чтобы вложенная процедура отрабатывала в транзакции или в save-point'е, который открывается процедурой-оберткой. Было бы нереально круто получить инструмент для генерации скриптов создания таких оберток на автомате. В качестве параметров автомату должны передаваться: 1 - имя оборачиваемой процедуры, 2 - режим обертки:
Да - это класс. Мне даже кажется что у нас в работе то что вам нужно. Пришлите или по почте, или киньте сюда список "типов" и примеры для них. Может так случится, что будет готово через 2-3 недели, т.к. как раз сейчас работаем над похожей функцией. Мы ей просто обобщим.
(адрес смотрите на нашем сайте - суппорт - это тоже я :) )про список "типов" я не очень понял.. о каких типах речь?
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847057
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDmAndreiRantsevichпропущено...

Да - это класс. Мне даже кажется что у нас в работе то что вам нужно. Пришлите или по почте, или киньте сюда список "типов" и примеры для них. Может так случится, что будет готово через 2-3 недели, т.к. как раз сейчас работаем над похожей функцией. Мы ей просто обобщим.
(адрес смотрите на нашем сайте - суппорт - это тоже я :) )про список "типов" я не очень понял.. о каких типах речь?
Я хотел сказать: напишите "список режимов обёртки".
Т.е. приведите пару конкретных примеров для наглядности.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847064
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDmAndreiRantsevichпропущено...


Эта функция мне кажется слишком специфической. Что вы уже сейчас можете сделать - это добавить в SSMSBoost-е такой Autoreplacement:
"selg" -> "select newid()"
Каждый раз как будете писать "selg" он будет заменяться на select newid(), остаётся только
Shift-Pos1 (выделить всё до начала строки) и F5. Занимает всё ровно 1 сек :)
после F5 надо еще пойти в резалт, копировать его, потом в код, вставить... бр.
возможно есть смысл до-автоматизировать шаблон замены парой галок, 1 - исполнить после замены (авто-F5), 2 - заменить результат замены результатом исполнения. имхо получится достаточно универсально, и не будет привязки к весьма специфической задаче.
Ок. Я записал это. Запросы по улучшению макросов были уже похожие. Но быстро не сделаем, т.к. другие более полезные таски делаем. Вот ваше другое предложение по "обёрткам" - это очень актуально.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847089
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вы можете объсянить, чем отличаются разные версии аддина?

по функционалу и в натуре?
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847102
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Winnipuh,
ничем не отличаются :)
Пользователи бесплатной версии просто должны раз в 45 дней загружать новую версию. Те, кто купил лицензию могут этого не делать. Вот и всё.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847121
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichWinnipuh,
ничем не отличаются :)
Пользователи бесплатной версии просто должны раз в 45 дней загружать новую версию. Те, кто купил лицензию могут этого не делать. Вот и всё.

а то я уже в непонятках.... крэкать, не крэкать ...
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847132
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WinnipuhAndreiRantsevichWinnipuh,
ничем не отличаются :)
Пользователи бесплатной версии просто должны раз в 45 дней загружать новую версию. Те, кто купил лицензию могут этого не делать. Вот и всё.

а то я уже в непонятках.... крэкать, не крэкать ...
Не - ещё пока не надо. Я дам знать.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847138
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichWinnipuhпропущено...


а то я уже в непонятках.... крэкать, не крэкать ...
Не - ещё пока не надо. Я дам знать.

спасибо. Как говорят в Америке - вы сэкономили мне время ;-)
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847185
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
-- Оборачивать будем такую вот процедуру:
create procedure [dbo].[SomeProc] ( @P1 int = null, @P2 int = null, @P3 int = null output )
as
begin
  return 0;
end
go

В диалоге у пользователя надо :
1) Спрашивать имя для новой процедуры-обертки (с предложением вменяемых вариантов по умолчанию).
2) Если в оборачиваемой процедуре есть output-параметры:
Спрашивать, желает ли пользователь сбрасывать их в null до вызова оборачиваемой процедуры.
Если желает - предоставить пользователю перечень output-параметров
с возможностью указания, какие конкретно надо сбрасывать, а какие надо оставить as-is.
3) Спрашивать, надо ли оборачивать вызов процедуры в транзакцию.
Если надо: Спрашивать, надо ли оборачивать вызов процедуры точкой сохранения, если обертка УЖЕ исполняется в транзакции.
4) Спрашивать, надо ли генерировать код с диагностическими сообщениями.

Все ответы надо как-то сохранять (в провиль пользователя) и восстанавливать по умолчанию при следующем оборачивании уже другой процедуры. Ответы о необходимости сброса output параметров также надо сохранять (имя параметра + ответ - БЕЗ упоминания конкретной процедуры). Восстанавливать ответы по умолчанию через имена параметров.

Далее предполагаем, что пользователь заказал в диалоге максимальную функциональность.

Оборачивать будем как-то так (как именно - обсуждаемо!) :)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
create procedure [dbo].[SomeProc_Safe] ( @P1 int = null, @P2 int = null, @P3 int = null output )
as
begin

  --------------------------------------------------------------------------------  
  set nocount on;

  --------------------------------------------------------------------------------  
  declare @procName varchar(128) = object_name(@@procid);
  print 'executing: ' + @procName;
  print '@P1 = (' + isnull(cast(@P1 as varchar(10)), 'NULL') + ')';
  print '@P2 = (' + isnull(cast(@P2 as varchar(10)), 'NULL') + ')';
  
  set @P3 = null; -- output parameter
  -- ИЛИ
  print '@P3 = (' + isnull(cast(@P3 as varchar(10)), 'NULL') + ')';
  
  --------------------------------------------------------------------------------  
  declare @savepoint varchar(32) = null; -- имя save-point'а
  if (@@trancount = 0) begin
    begin transaction
    print 'New transaction has been started';
  end else begin
    set @savepoint = replace(newid(), '-', ''); 
    save transaction @savepoint
    print 'New savepoint has been created: (' + @savepoint + ')';
  end

  --------------------------------------------------------------------------------  
  -- Далее делаем вызов оборачиваемой процедуры.
  
  declare @rv int;
  exec @rv = SomeProc -- non-safe
    @P1 = @P1
  , @P2 = @P2
  , @P3 = @P3 output
  
  if (@rv != 0)
    goto failurePoint;

  --------------------------------------------------------------------------------
  goto successPoint;
		
--------------------------------------------------------------------------------  
failurePoint:

  print @procName + ': FAILURE'
  
	if (@sp is null)
	  rollback transaction
	else
	  rollback transaction @sp

  goto exitPoint;

--------------------------------------------------------------------------------  
successPoint:

  print @procName + ': SUCCESS'

	if (@sp is null)
	  commit transaction

  goto exitPoint;
  
exitPoint:

  print 'OUTPUT:@P3 = (' + isnull(cast(@P3 as varchar(10)), 'NULL') + ')';
  print @procName + ': has return (' + cast(@rv as varchar(10)) + ')'
  return @rv;
  
end
go
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37847240
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDm,
ок. Идея ясна. Я посмотрю что можно будет достичь имеющимися средствами.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37854893
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreiRantsevich,

Все кто скачал адд-ин: ну как ? Если есть предложения по улучшению удобства, добавлению новых функций - пишите.

В след. релизе можно будет просматривать картинки сохранённые в полях таблиц.. и ещё несколько функций...
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37860205
Фотография Vladimir2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevich,

после установки плагина заметил особенность:
при окрытой студии, новый скрипт открывается в новом окне (как и без плагина)
НО ДУБЛИРУЕТ старые коннекты: т.е. во втором окне студии вкладка нового скрипта
+ все старые вкладки из 1го окна студии (причем они пусты).
как избавиться от дублей?
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37860247
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir2009,

Это настройки Preferred connections. Там есть параметр "открывать новое окно при каждом запуске". Его нужно поставить тогда в False у каждого соединения.

Тут дело вкуса: многие разработчика открывают SSMS раз в неделю и он у них потом всё время висит. Для них удобно при первом запуске автоматически открыть пустой документ (или несколько) с установленным соединением к их рабочей базе.
Ну а некоторые открывают SSMS часто и даже по несколько копий. Тогда конечно этот авто-коннект удобства не добавляет.
Кстати, если кто-то запускает по несколько копий SSMS, то обратите внимание, что SSMSBoost переопределяет заголовок окна SSMS и теперь запущенные копии можно отличить друг от друга (видно название документа и его соединение)
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37860360
Фотография Vladimir2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevich,

настроил, теперь все ок.
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37861560
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevich,

бага: ставим курсор на название процедуры в коде, далее жмем педаль "Script object". Далее довольно долго что-то где-то варится и появляется следующий код ...
Код: sql
1.
2.
3.
4.
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
  
CREATE procedure ...


По идее, после SET'ов надо бы добаить GO, чтобы было так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
  
CREATE procedure ...


кроме того, надо либо сразу генерить DROP/CREATE, либо CREATE подменить на ALTER.

еще бага: после установки плагина в OE перестало отрабатывать F5, т.е. теперь OE обновляется только через вызов Refresh'а из контекстного меню в OE.

зы: Microsoft SQL Server Management Studio10.50.1600.1Microsoft Analysis Services Client Tools10.50.1600.1Microsoft Data Access Components (MDAC)3.86.3959Microsoft MSXML2.6 3.0 5.0 6.0 Microsoft Internet Explorer8.0.6001.18702Microsoft .NET Framework2.0.50727.3615Operating System5.2.3790
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37861571
AndreiRantsevich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RubinDm,

Всё в точку:
1. уже нашли и исправили - "GO" ставится
2. над этим думали и думаем. :) Наверное добавим опцию - генерить ALTER или CREATE
3. F5 в OE тоже будет работать. Это из-за некоторых проблем, которые мы не могли красиво решить, но сейчас решили.
4. Есть возможность при генерации скрипта добавлять custom шапку, с любыми доступными параметрами. Была бы такая функция интересна ?

(всё что сверху описано выйдет следующим релизом через 1-2 недели)
...
Рейтинг: 0 / 0
Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
    #37861607
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreiRantsevichНаверное добавим опцию - генерить ALTER или CREATE
Кстати, а в SMO для этого вообще есть опция? Или SSMS сам в зависимости от выбора пользователя в уже готовом скрипте меняет CREATE на ALTER (если это допустимо)?
По поводу того, что хотелось бы видеть - вспомнил вот что: я с давних пор обзавелся привычкой явно открывать транзакции перед любыми DML. Но эти транзакции, разумеется, нужно явно и закрывать. Бывает, откроешь вкладок 10, наделаешь там транзакций, а потом сидишь, и пишешь в каждой select @@trancount... Нельзя ли как-то для текущей вкладки @@trancount в бросающемся в глаза виде выводить в какой-нибудь свободное место окна редактора (на ваше усмотрение)?
...
Рейтинг: 0 / 0
25 сообщений из 137, страница 3 из 6
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Plug-in-ы для SSMS 2005/2008. Необходим плагин для редактора студии?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]