Что нового

Как скрыть все вкладки кода?

babanty

Новичок
Сообщения
34
Репутация
1
Есть код имеющий множество вкладок, которые скрываются\открываются либо нажатием на минус\плюс слева от начала кода, либо нажатием "+" на цифровой клавиатуре. Суть вопроса, как сделать так, что бы все вкладки скрылись разом(горячей клавишей или какой-нибудь кнопкой)?

Код:
#Region

While 1
	; здесь некий код
	WEnd

;	А здесь коммент
;	Template AutoIt script.

;~ временно скрытые ф-ии
;~ $G = @ScriptDir
;~ $gg = 354 - 315
;~ MsgBox(0, 'g', $G & "  " & $gg)

#EndRegion
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Или alt v a или пишешь в файл AutoIt3\SciTE\Properties\au3.properties
Код:
command.name.35.*=FoldSome
command.subsystem.35.*=3
command.35.*=FoldSome
command.35.*=dofile $(SciteDefaultHome)/Lua/FoldSome.lua
command.mode.35.*=savebefore:no
command.shortcut.35.*=Ctrl+]
и сохраняешь в файл \AutoIt3\SciTE\LUA\FoldSome.lua
Код:
function FoldSome()
   -- CONFIG
   local FOLDSTART = 0  -- level to start folding (from 0)
   local FOLDDEPTH = 5  -- fold depth; comment out if no limit
   -- SCRIPT
   FOLDSTART = FOLDSTART + 1024  -- internal counting from 1024
   local FOLDEND = FOLDSTART + (FOLDDEPTH or 9999)
   if FOLDEND <= FOLDSTART or FOLDEND > 4096 then
     FOLDEND = 4096 end
   local start, ending, hide
   editor:Colourise(0, -1)    -- update doc's folding info
   for ln = 0, editor.LineCount - 1 do
     local foldRaw = editor.FoldLevel[ln]
     local foldLvl = math.mod(foldRaw, 4096)
     local foldHdr = math.mod(math.floor(foldRaw / 8192), 2) == 1
     --~  if ln < 28 then
     --~      print(ln+1, "FL", foldRaw, foldLvl, foldHdr) end
     -- fold if within limits and is a fold header
     if foldHdr and foldLvl >= FOLDSTART and foldLvl < FOLDEND then
       local expanded = editor.FoldExpanded[ln]
       if foldLvl == FOLDSTART and not start then
         -- start fold block
         -- fix a hide/show setting for whole doc, for consistency
         if hide == nil then hide = expanded end
         start = ln + 1 -- remember range
         ending = editor:GetLastChild(ln, foldLvl)
       end
       editor.FoldExpanded[ln] = not hide
     end
     -- if end of block, perform hide or show operation
     if start and ln == ending then
       if hide then
         editor:HideLines(start, ending)
       else
         editor:ShowLines(start, ending)
       end
       start, ending = nil, nil
     end
   end  --for
end

FoldSome()

кнопка будет ctrl ].
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
А пункт меню "View - Toggle all folds" не подходит?
 

Siroga00VII

Siroga
Сообщения
33
Репутация
-2
сохраняешь все функции в файл например мои_функции.au3
и вписываешь в начали скрипта вот так
Код:
#include "мои_функции.au3"

затем открываешь редактором мои_функции.au3 и свой скрипт и .......
 
Автор
B

babanty

Новичок
Сообщения
34
Репутация
1
А пункт меню "View - Toggle all folds" не подходит?

они закрывают только верхний регион, тогда как внутренние комментарии и while нет, а это тоже нужно

Для такого же можно было прописать

Код:
Sleep(5000)
For $i = 0 To 100
	Send("{DOWN}")
	Send("{NUMPADADD}")
	Next



пишешь в файл AutoIt3\SciTE\Properties\au3.properties
Отказано в доступе, через администратора не дает зайти, или мне их надо было не через блокнот открывать?


Добавлено:
Сообщение автоматически объединено:

Siroga00VII сказал(а):
сохраняешь все функции в файл например мои_функции.au3
и вписываешь в начали скрипта вот так
Код:
#include "мои_функции.au3"

затем открываешь редактором мои_функции.au3 и свой скрипт и .......

Ну это уже совсем другая история :smile:

У меня код на 1700 строк, среди которых ф-ии лишь четверть, для удобства я поделил все на вкладки, но при открытии программы все скрытые вкладки обратно раскрываются и приходится в ручную все опять закрывать
 

ivanius

Знающий
Сообщения
74
Репутация
5
babanty сказал(а):
Ну это уже совсем другая история :smile:

У меня код на 1700 строк, среди которых ф-ии лишь четверть, для удобства я поделил все на вкладки, но при открытии программы все скрытые вкладки обратно раскрываются и приходится в ручную все опять закрывать
А я согласен инкапсуляцию еще никто не отменял и отладка становится счастьем...
 

ArvenPK

Новичок
Сообщения
14
Репутация
1
babanty сказал(а):
Суть вопроса, как сделать так, что бы все вкладки скрылись разом(горячей клавишей или какой-нибудь кнопкой)?
Не вкладки, а блоки кода, насколько я понял? Вкладки - это же открытые файлы.

babanty сказал(а):
У меня код на 1700 строк, среди которых ф-ии лишь четверть, для удобства я поделил все на вкладки, но при открытии программы все скрытые вкладки обратно раскрываются и приходится в ручную все опять закрывать
Убиться можно :( Ответ - не писать такой код. Переписать с использованием функций, вместо спагетти, либо щедро оборачивать такие "вкладки" в именованные области.
Для навигации по коду есть адекватные сторонние утилиты, SciTE Jump например.
 
Автор
B

babanty

Новичок
Сообщения
34
Репутация
1
ArvenPK сказал(а):
babanty сказал(а):
Суть вопроса, как сделать так, что бы все вкладки скрылись разом(горячей клавишей или какой-нибудь кнопкой)?
Не вкладки, а блоки кода, насколько я понял? Вкладки - это же открытые файлы.

babanty сказал(а):
У меня код на 1700 строк, среди которых ф-ии лишь четверть, для удобства я поделил все на вкладки, но при открытии программы все скрытые вкладки обратно раскрываются и приходится в ручную все опять закрывать
Убиться можно :( Ответ - не писать такой код. Переписать с использованием функций, вместо спагетти, либо щедро оборачивать такие "вкладки" в именованные области.
Для навигации по коду есть адекватные сторонние утилиты, SciTE Jump например.

Да, наверное блоки. Просто я китайско-индусский кодер, которому даже обфускатор позавидует, спасает только скрытие блоков кода, массовое скрытие судя по всему не предусмотрено...
SciTE Jump у меня стоит, по ф-ям хорошо прыгает, а вот когда на регионы нажимаешь, просто дергается экран и остается в том же положении (похоже что происходит процесс переход к региону--возврат обратно), с чем это связано?
 
Верх