Открыть “парный” файл в редакторе (например, H—CPP)
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Открыть “парный” файл в редакторе (например, H—CPP)
Прилагаю мой макрос для решения этой типовой задачи без помощи плагинов.
Особенности:
1. Полная настраиваемость, от каких расширений к каким переходить.
2. Использование в коде комментариев в стиле SelMacro.
3. Использование в коде констант из MacroConsts.reg.
Версия 0.2:
1. [+] Если “парный” файл не удалось найти “рядом”, он ищется на активной и пассивной панели (особенно удобно для немодального редактирования в панели плагина WinSCP).
2. [+] Учитывается диалог "already loaded" плагина WinSCP. “Трансляцию” предлагаю осуществлять посредством FMM 0.4.
2010-02-19
Опубликована Версия 0.3.
Особенности:
1. Полная настраиваемость, от каких расширений к каким переходить.
2. Использование в коде комментариев в стиле SelMacro.
3. Использование в коде констант из MacroConsts.reg.
Версия 0.2:
1. [+] Если “парный” файл не удалось найти “рядом”, он ищется на активной и пассивной панели (особенно удобно для немодального редактирования в панели плагина WinSCP).
2. [+] Учитывается диалог "already loaded" плагина WinSCP. “Трансляцию” предлагаю осуществлять посредством FMM 0.4.
2010-02-19
Опубликована Версия 0.3.
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Анонсирована версия 0.3
Reason: Анонсирована версия 0.3
Фар есть инструмент, а не нянька. © 2009 DrKnS
- Andrey Budko
- Posts: 1203
- Joined: Fri 01 Apr, 2005 14:03
- Contact:
Re: Открыть “парный” файл в редакторе (например, H—CPP)
сжимать черт знает каким архиватором в паблик зачем? есть же зип.
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Открыть “парный” файл в редакторе (например, H—CPP)
“Здесь так принято”Andrey Budko wrote:сжимать черт знает каким архиватором в паблик зачем?
Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Открыть “парный” файл в редакторе (например, H—CPP)
Опубликована версия 0.2.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Открыть “парный” файл в редакторе (например, H—CPP)
Про “быстрее”maxdrfl wrote:неужели он быстрее и гибче чем макрос на lua?
Если речь идёт о скорости работы, то не знаю, не сравнивал. Но есть сильное подозрение, что единственное, на чём возможно торможение, — это на проверке наличия многих файлов подряд, а это уже будет, скорее всего, определяться скоростью работы файловой системы, а не макро-движка. Если же речь о скорости разработки/доработки, то для тех, кто знает Lua и уже использует соответствующий плагин, вероятно, оно и будет быстрее. Для прочих же “родной” Фаровский макрос, наверно, подойдёт больше.
Про “гибче”
Я посмотрел код и заметил следующие отличия:
Editor_AltO (а) умеет переключаться между гораздо большим числом пар расширений, (б) умеет находить пару на пассивной панели, (в) “дружит” с плагином WinSCP.
Nav.lua (а) умеет искать файлы по списку путей, зависящему от типа файла, (б) умеет использованием переменные окружения в списке путей для поиска пары.
В целом я согласен с тем, что реализовать даже и такую функциональность встроенным макросом будет чересчур трудоёмко. Но лично мне текущих возможностей пока что хватает.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Макрос для переключения между *.c[pp] и *.h[pp]
Code: Select all
[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Editor\AltO]
"Sequence"="%cur=Editor.FileName; %dpf=fsplit(%cur,7); %ext=ucase(fsplit(%cur,8)); $If (%ext==\".CPP\" || %ext==\".C\" || %ext==\".H\" || %ext==\".HPP\") $If (%ext==\".CPP\") %new=%dpf+\".h\"; $If (fexist(%new)==0) %new=%dpf+\".hpp\"; $End $Else %new=%dpf+\".cpp\"; $If (fexist(%new)==0) %new=%dpf+\".c\"; $End $End $If (fexist(%new)==1) ShiftF4 $Text %new Enter $If (Dialog && Dlg.ItemCount == 6 && Title == \"Editor\" && Dlg.CurPos == 4 && Dlg.ItemType == 7) Enter $End $End $End"
"DisableOutput"=dword:00000001
"Description"="Switch between *.c[pp] and *.h[pp]"
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Макрос для переключения между *.c[pp] и *.h[pp]
Чем этот вариант лучше предлагаемого в первом сообщении темы?
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 726
- Joined: Sun 03 Apr, 2005 22:00
- Location: Казань
- Been thanked: 2 times
Re: Макрос для переключения между *.c[pp] и *.h[pp]
При открытом файле *.h макрос открывает файл *.c, наоборот — нет:Maximus5 wrote:Code: Select all
[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Editor\AltO]
Code: Select all
╔══════════════ Редактор ══════════════╗
║ xxxxxxxxx.c ║
║ уже загружен. Как открыть этот файл? ║
║ Текущий Новая копия Перегрузить ║
╚══════════════════════════════════════╝
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Макрос для переключения между *.c[pp] и *.h[pp]
Пользуйтесь моим вариантом — там и это учтено, и ещё кое-что.Игорь Юдинцев wrote:При открытом файле *.h макрос открывает файл *.c, наоборот — нетMaximus5 wrote:Code: Select all
[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Editor\AltO]
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Макрос для переключения между *.c[pp] и *.h[pp]
не нашелHaRT wrote:Чем этот вариант лучше предлагаемого в первом сообщении темы?
- HaRT
- Moderator
- Posts: 10859
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Открыть “парный” файл в редакторе (например, H—CPP)
Code: Select all
;; 2008-08-02: : fixed typos in documentation
;; 2008-08-05: : adapted for WinSCP's another "already loaded" prompt
;; 2008-08-26: v.0.3: added PRI<->PRO
Фар есть инструмент, а не нянька. © 2009 DrKnS