Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Возможно ли с помощью скрипта/плагина узнать имя (число прочтений - 7189 )
tvm
Junior Member
**
Отсутствует


aka slavka

Сообщений: 68
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Возможно ли с помощью скрипта/плагина узнать имя
25. Июля 2007 :: 11:42
Печать  
текущей процедуры/функции? Имею ввиду есть ли на данный момент такой функционал? Стоит ли писать скрипт?
  
Наверх
 
IP записан
 
kuntashov
Full Member
***
Отсутствует


1С:Специалист

Сообщений: 130
Местоположение: Саратов
Зарегистрирован: 13. Июня 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #1 - 25. Июля 2007 :: 13:51
Печать  
Есть возможность перехода к началу/концу объявления текущей процедуры/функции (Переходы по модулю.vbs) с возможностью возврата в исходную позицию.

  

С уважением, &&Александр Кунташов&&http://kuntashov.ru/
Наверх
 
IP записан
 
tvm
Junior Member
**
Отсутствует


aka slavka

Сообщений: 68
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #2 - 25. Июля 2007 :: 14:05
Печать  
ага. знаю. вобщем вот сваял как раз в этом скрипте, мож кому еще пригодится:
Код
Выбрать все
Sub NameCurrentMethod()
set doc = CommonScripts.GetTextDocIfOpened(0)
Metka = 0
   if doc is Nothing then Exit Sub
   set PositionInModule =  CommonScripts.GetDocumentPosition(doc)
   ModuleText = split(doc.Text, vbCrLf)
   WordArray = Array("ПРОЦЕДУРА","PROCEDURE","ФУНКЦИЯ","FUNCTION")
   for i = doc.SelStartLine to 0 step -1
	If Metka = 1 Then
		Exit For
	End If
		sText = UCase(ModuleText(i))
		For k = 1 To UBound(WordArray)
		if Instr(sText,WordArray(k)) = 1 Then
			Metka = 1
			Exit For
		end if
		next
	Next
	If Metka = 1 Then
		For k = 1 To UBound(WordArray)
			If InStr(sText,WordArray(k))>0 Then
				pos1 = instr(ModuleText(i+1)," ")
				pos2 = instr(ModuleText(i+1),"(")
				stext = mid(moduletext(i+1),pos1,pos2-pos1)
				tip = WordArray(k)
				Exit For
			End If
		Next
		Status "Текущая " &  Lcase(tip) & "  " & sText
	End If
End Sub
 


можно повесить на какой-либо хоткей и в строке состояния будет выводиться название процедуры/функции
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #3 - 25. Июля 2007 :: 16:00
Печать  
а [Ctrl + 1] не подойдет?
  
Наверх
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #4 - 25. Июля 2007 :: 16:08
Печать  
Для процедур у меня заработало только так :
Код
Выбрать все
Sub NameCurrentMethod()
set doc = CommonScripts.GetTextDocIfOpened(0)
Metka = -1
   if doc is Nothing then Exit Sub
   set PositionInModule =  CommonScripts.GetDocumentPosition(doc)
   ModuleText = split(doc.Text, vbCrLf)
   WordArray = Array("ПРОЦЕДУРА","PROCEDURE","ФУНКЦИЯ","FUNCTION")
   for i = doc.SelStartLine to 0 step -1
	If Metka >= 0 Then
		Exit For
	End If
		sText = UCase(ModuleText(i))
		For k = 0 To UBound(WordArray)
		if Instr(sText,WordArray(k)) = 1 Then
			Metka = 1
			Exit For
		end if
		next
	Next
	If Metka >= 0 Then
		For k = 0 To UBound(WordArray)
			If InStr(sText,WordArray(k))>0 Then
				pos1 = instr(ModuleText(i+1)," ")
				pos2 = instr(ModuleText(i+1),"(")
				stext = mid(moduletext(i+1),pos1,pos2-pos1)
				tip = WordArray(k)
				Exit For
			End If
		Next
		Status "Текущая " &  Lcase(tip) & "  " & sText
	End If
End Sub
 

  
Наверх
ICQ  
IP записан
 
tvm
Junior Member
**
Отсутствует


aka slavka

Сообщений: 68
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #5 - 26. Июля 2007 :: 06:44
Печать  
Цитата:
а [Ctrl + 1] не подойдет?

в смысле?

dnp писал(а) 25. Июля 2007 :: 16:08:
Для процедур у меня заработало только так :
Код
Выбрать все
Sub NameCurrentMethod()
set doc = CommonScripts.GetTextDocIfOpened(0)
Metka = -1
   if doc is Nothing then Exit Sub
   set PositionInModule =  CommonScripts.GetDocumentPosition(doc)
   ModuleText = split(doc.Text, vbCrLf)
   WordArray = Array("ПРОЦЕДУРА","PROCEDURE","ФУНКЦИЯ","FUNCTION")
   for i = doc.SelStartLine to 0 step -1
	If Metka >= 0 Then
		Exit For
	End If
		sText = UCase(ModuleText(i))
		For k = 0 To UBound(WordArray)
		if Instr(sText,WordArray(k)) = 1 Then
			Metka = 1
			Exit For
		end if
		next
	Next
	If Metka >= 0 Then
		For k = 0 To UBound(WordArray)
			If InStr(sText,WordArray(k))>0 Then
				pos1 = instr(ModuleText(i+1)," ")
				pos2 = instr(ModuleText(i+1),"(")
				stext = mid(moduletext(i+1),pos1,pos2-pos1)
				tip = WordArray(k)
				Exit For
			End If
		Next
		Status "Текущая " &  Lcase(tip) & "  " & sText
	End If
End Sub
 


да точно. недоглядел Ужас
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #6 - 26. Июля 2007 :: 07:46
Печать  
tvm писал(а) 26. Июля 2007 :: 06:44:
Цитата:
а [Ctrl + 1] не подойдет?

в смысле?



всмысле вызвать диалог "Методы модуля".
  
Наверх
IP записан
 
tvm
Junior Member
**
Отсутствует


aka slavka

Сообщений: 68
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #7 - 26. Июля 2007 :: 07:51
Печать  
Цитата:
всмысле вызвать диалог "Методы модуля".


имхо так удобнее
  
Наверх
 
IP записан
 
metaeditor
1c++ power user
Отсутствует


are you nuts?

Сообщений: 564
Зарегистрирован: 04. Июля 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #8 - 26. Июля 2007 :: 15:42
Печать  
а телепатовский список методов для кого сделан? я про тот что на тулбар выводится а не тот что по ctrl+1 выходит. та мкакраз при перемещении по модулю показывается текущий метод. правдо он с колорером неработает, разобратьсмя надо Улыбка
  

Регистр.EAX.СводныйОстаток()
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #9 - 26. Июля 2007 :: 16:08
Печать  
metaeditor писал(а) 26. Июля 2007 :: 15:42:
а телепатовский список методов для кого сделан? я про тот что на тулбар выводится а не тот что по ctrl+1 выходит. та мкакраз при перемещении по модулю показывается текущий метод. правдо он с колорером неработает, разобратьсмя надо Улыбка


интересно  Озадачен
нашел я "список методов модуля", только он у меня в тулбаре телепата не отображается  Нерешительный
  
Наверх
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #10 - 26. Июля 2007 :: 16:15
Печать  
заработало  Подмигивание
прикольно, не хватает привычного фильтра для отбора, а вобщем порадовало.
самое интересное о его существовании и не знал, наверное как и большинство.
п.с. век живи, век учись
  
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #11 - 27. Июля 2007 :: 05:34
Печать  
От себя добавлю - если список методов висит в тулбаре, попасть в него можно Ctrl + Shift + 1. И фильтрация в нем работает.
  
Наверх
 
IP записан
 
tvm
Junior Member
**
Отсутствует


aka slavka

Сообщений: 68
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #12 - 27. Июля 2007 :: 06:37
Печать  
блин а че ж сразу-то не сказали Улыбка но зато хоть немного вспомнил как скрипты писать
  
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #13 - 27. Июля 2007 :: 06:55
Печать  
неужели эпоха скриптописания возвращается?
А то как-то тихо стало в последнее время....
  
Наверх
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Возможно ли с помощью скрипта/плагина узнать и
Ответ #14 - 27. Июля 2007 :: 07:05
Печать  
orefkov писал(а) 27. Июля 2007 :: 05:34:
От себя добавлю - если список методов висит в тулбаре, попасть в него можно Ctrl + Shift + 1. И фильтрация в нем работает.


а почему при включении тулбара "телепат" нет списка методов? а воспользоваться им можно только когда вынесеш в отдельный тулбар. или это только у меня так отрабатывает? ... туплю  Печаль
« Последняя редакция: 27. Июля 2007 :: 15:11 - villy »  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать