Замена оверлейных иконок символами в отдельном колумне
-
- Posts: 6
- Joined: Wed 21 Jul, 2010 17:35
Замена оверлейных иконок символами в отдельном колумне
Что бывает часто не хватает при использовании текстового Far - это отсутствие оверлейных иконок, обозначающих статус файла в системах контроля версий. Бывает очень удобно окинуть список файлов в папке взглядом и сразу видеть, какие файлы закоммичены, какие модифицированы, какие конфликтуют. и т.п.
Или например видеть статус синхронизации файлов в папке Dropbox.
Было бы здорово, если бы существовал такой плагин, который как-то вычислял бы из самих файлов, какая оверлейная иконка отображалась на них если мы открываем их в проводнике, и чтобы можно было настроить в отображении на панели колонку, отображающую замену этих самых иконок - текстовыми символами.
Например, статус файла в SVN/CVS "закоммичен", в проводнике он имеет иконку "зеленой галки", Far это определяет и в соответствующей колонке напротив имени файла - символ 'u'. А если еще и зеленого цвета (а конфликтующий - красная 'c', например - чтобы сразу бросалось в глаза) - вообще класс.
И так далее.
Сорри может я наивен т.к. сам не разработчик, и не имею представления о работе оверлейных иконок и можно ли их легко "определять", но очень хотелось бы подобный плагин, и я думаю не мне одному
Или например видеть статус синхронизации файлов в папке Dropbox.
Было бы здорово, если бы существовал такой плагин, который как-то вычислял бы из самих файлов, какая оверлейная иконка отображалась на них если мы открываем их в проводнике, и чтобы можно было настроить в отображении на панели колонку, отображающую замену этих самых иконок - текстовыми символами.
Например, статус файла в SVN/CVS "закоммичен", в проводнике он имеет иконку "зеленой галки", Far это определяет и в соответствующей колонке напротив имени файла - символ 'u'. А если еще и зеленого цвета (а конфликтующий - красная 'c', например - чтобы сразу бросалось в глаза) - вообще класс.
И так далее.
Сорри может я наивен т.к. сам не разработчик, и не имею представления о работе оверлейных иконок и можно ли их легко "определять", но очень хотелось бы подобный плагин, и я думаю не мне одному
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Re: Замена оверлейных иконок символами в отдельном колумне
Вот честно, никогда не понимал, в чём прикол видеть статус файлов.
Если я работаю с проектом, мне недостаточно видеть статус файлов в текущем каталоге — мне нужно видеть состояние всего проекта. Мне не интересно видеть галочку на неизменённых файлах — наоборот, надо видеть изменённые и новые (не находящиеся под source control) файлы. Наконец, мне нужно видеть весь дифф, который будет закоммичен, если я сейчас скажу «svn commit».
Когда я работал с svn (и ещё не открыл для себя git-svn), у меня был пункт в юзерменю, вызывающий edit:<svn diff, и настройка в Colorer’е, чтоб красило. А потом я стал пользоваться gitk и git gui, чего и всем желаю.
[/offtopic]
А что касается оверлейных иконок, то это тогда надо работать с COM-интерфейсами Explorer’а и shell extension’ов, со всеми вытекающими. Впрочем, я не видел полезных применений оверлеев.
Если я работаю с проектом, мне недостаточно видеть статус файлов в текущем каталоге — мне нужно видеть состояние всего проекта. Мне не интересно видеть галочку на неизменённых файлах — наоборот, надо видеть изменённые и новые (не находящиеся под source control) файлы. Наконец, мне нужно видеть весь дифф, который будет закоммичен, если я сейчас скажу «svn commit».
Когда я работал с svn (и ещё не открыл для себя git-svn), у меня был пункт в юзерменю, вызывающий edit:<svn diff, и настройка в Colorer’е, чтоб красило. А потом я стал пользоваться gitk и git gui, чего и всем желаю.
[/offtopic]
А что касается оверлейных иконок, то это тогда надо работать с COM-интерфейсами Explorer’а и shell extension’ов, со всеми вытекающими. Впрочем, я не видел полезных применений оверлеев.
Re: Замена оверлейных иконок символами в отдельном колумне
а я вот не понимаю, почему не хватает svn_c0?
Re: Замена оверлейных иконок символами в отдельном колумне
svn_c0 работает с tortoisesvn 1.7.x? (просто любопытствую, т.к. смутно помню соотв. жалобы, а самому мне на эти иконки всегда было пох. Ну и кроме свн'а оверлейные иконки цепляет меркурий, гит, наверняка ещё софт…)
Пользуюсь ФАРом больше 20 лет © собирательный.
-
- Posts: 6
- Joined: Wed 21 Jul, 2010 17:35
Re: Замена оверлейных иконок символами в отдельном колумне
Centaur,
У всех разные методы работы. Я вот например работаю в достаточно крупных и сложных проектах, и при этом только с небольшой частью в них. И не все изменяемые файлы я собираюсь коммитить в репозиторий - что-то я меняю локально для теста. И каждый раз довольно медленно обрабатывать командами ВЕСЬ проект только ради того, чтоб узнать, что же я закоммичу нужного, что нет, запоминать это и закоммитить только нужное - не тот метод.
Кроме того, в силу специфики моей работы оверлей помогает мне при сортировке и визуальном сравнении.
И системы контроля версий это только частный пример, оверлей используется не только в них.
Maximus5,
svn_c0 прежде всего лишь только для SVN (если я не ошибаюсь), а помимо того не обновлялся очень давно и не работает с новыми версиями, т.е. не вариант вообще
У всех разные методы работы. Я вот например работаю в достаточно крупных и сложных проектах, и при этом только с небольшой частью в них. И не все изменяемые файлы я собираюсь коммитить в репозиторий - что-то я меняю локально для теста. И каждый раз довольно медленно обрабатывать командами ВЕСЬ проект только ради того, чтоб узнать, что же я закоммичу нужного, что нет, запоминать это и закоммитить только нужное - не тот метод.
Кроме того, в силу специфики моей работы оверлей помогает мне при сортировке и визуальном сравнении.
И системы контроля версий это только частный пример, оверлей используется не только в них.
Maximus5,
svn_c0 прежде всего лишь только для SVN (если я не ошибаюсь), а помимо того не обновлялся очень давно и не работает с новыми версиями, т.е. не вариант вообще
- HaRT
- Moderator
- Posts: 10858
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Замена оверлейных иконок символами в отдельном колумне
liquidblasted
А почему вы так хотите привязаться именно к оверлейным иконкам? В чём выигрыш перед другими способами анализа? Ведь всё равно для каждого приложения, добавляющего оверлейные иконки, (например, TortoiseSVN) они будут свои, и знание об этом надо будет закладывать в преобразователь или в его конфигурацию.
Не проще ли написать плагин, который будет брать реальные файлы в директории, анализировать их статус в выбранной системе (например, SVN) и отображать его на файловые атрибуты, а те уже легко перенести на плагиновую файловую панель через механизм Highlighting (например, как предложено в Атрибуции). При желании можно сделать хост-плагин, который будет распознавать, грубо говоря, тип рабочей копии (CVS, SVN 1.6-, SVN 1.7+, git, …) и спрашивать статусы у своего под-плагина (модуля) для этого типа.
А почему вы так хотите привязаться именно к оверлейным иконкам? В чём выигрыш перед другими способами анализа? Ведь всё равно для каждого приложения, добавляющего оверлейные иконки, (например, TortoiseSVN) они будут свои, и знание об этом надо будет закладывать в преобразователь или в его конфигурацию.
Не проще ли написать плагин, который будет брать реальные файлы в директории, анализировать их статус в выбранной системе (например, SVN) и отображать его на файловые атрибуты, а те уже легко перенести на плагиновую файловую панель через механизм Highlighting (например, как предложено в Атрибуции). При желании можно сделать хост-плагин, который будет распознавать, грубо говоря, тип рабочей копии (CVS, SVN 1.6-, SVN 1.7+, git, …) и спрашивать статусы у своего под-плагина (модуля) для этого типа.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 6
- Joined: Wed 21 Jul, 2010 17:35
Re: Замена оверлейных иконок символами в отдельном колумне
Нет-нет, без разницы, существует ли привязка к оверлейным иконкам, либо способ, описанный вами - главное - это как-то видеть статус файла. Символами в колонке, или подсветкой. Просто я не программист и не знаю, какой способ лучше/проще/реальней И как раз думал, что статус уже отображается на файловые атрибуты, откуда проводник их подхватывает и сует необходимую иконку, но судя по всему ошибался.HaRT wrote:liquidblasted
А почему вы так хотите привязаться именно к оверлейным иконкам? В чём выигрыш перед другими способами анализа?
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Re: Замена оверлейных иконок символами в отдельном колумне
Ну разумеется, это не тот метод. Тот метод — это открыть git gui и он покажет, какие файлы добавились/удалились/изменились, и дифф каждого изменённого файла. И затем на каждом файле можно кликнуть либо stage «взять в коммит», либо revert «вернуть как было», либо вообще не кликать («оставить для следующих коммитов»); потом написать commit message и, ткнув кнопочку, закоммитить все за’stage’нные изменения.liquidblasted wrote:Я вот например работаю в достаточно крупных и сложных проектах, и при этом только с небольшой частью в них. И не все изменяемые файлы я собираюсь коммитить в репозиторий - что-то я меняю локально для теста. И каждый раз довольно медленно обрабатывать командами ВЕСЬ проект только ради того, чтоб узнать, что же я закоммичу нужного, что нет, запоминать это и закоммитить только нужное - не тот метод.
-
- Posts: 6
- Joined: Wed 21 Jul, 2010 17:35
Re: Замена оверлейных иконок символами в отдельном колумне
Проблема опять же в том, что это работает только в git gui, у нас же используется доработанный своими силами cvsnt, я не в курсе всех технических подробностей, но вроде из-за того, что идет работа с большими данными часто меняющихся бинарников и все эти свн, гиты, меркуриалы в этом плане весьма тормозны и накладны и нам не подходят.Centaur wrote:Ну разумеется, это не тот метод. Тот метод — это открыть git gui и он покажет, какие файлы добавились/удалились/изменились, и дифф каждого изменённого файла. И затем на каждом файле можно кликнуть либо stage «взять в коммит», либо revert «вернуть как было», либо вообще не кликать («оставить для следующих коммитов»); потом написать commit message и, ткнув кнопочку, закоммитить все за’stage’нные изменения.liquidblasted wrote:Я вот например работаю в достаточно крупных и сложных проектах, и при этом только с небольшой частью в них. И не все изменяемые файлы я собираюсь коммитить в репозиторий - что-то я меняю локально для теста. И каждый раз довольно медленно обрабатывать командами ВЕСЬ проект только ради того, чтоб узнать, что же я закоммичу нужного, что нет, запоминать это и закоммитить только нужное - не тот метод.
И, повторюсь, не в этом дело, я не имел в виду только цвс, только свн, только гит, а все вместе + еще есть куча софта наподобие dropbox, skyDrive и много чего еще
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Re: Замена оверлейных иконок символами в отдельном колумне
Я тут поигрался, вот что вышло. ИМО неплохо
Идея: хешируем оверлеи и позволяем пользователям наделять хешам имена (пока в ини-файле).
Порадовало, что т.к. Tortoise(Svn|Hg|Git) используют те же иконки, настроить пришлось только одну из них.
Еще не знаю, если я хочу это доделывать и поддерживать, может кто-то с большим опытом захочет взять под крыло. Приметил у Максимуса целую коллекцию c0-плагинов
Идея: хешируем оверлеи и позволяем пользователям наделять хешам имена (пока в ини-файле).
Порадовало, что т.к. Tortoise(Svn|Hg|Git) используют те же иконки, настроить пришлось только одну из них.
Еще не знаю, если я хочу это доделывать и поддерживать, может кто-то с большим опытом захочет взять под крыло. Приметил у Максимуса целую коллекцию c0-плагинов
60 строк кода говорят "нет".HaRT wrote:Не проще ли
- Attachments
-
- iconoverlay_c0.7z
- Far2/3 x86/64
- (13.38 KiB) Downloaded 212 times
-
- Posts: 6
- Joined: Wed 21 Jul, 2010 17:35
Re: Замена оверлейных иконок символами в отдельном колумне
CyberShadow
Супер, спасибо! Это уже что-то!
Есть ли какой-то способ обычному пользователю определять хеш оверлеев, чтобы самому дописать в инишник, для тех же cvs или dropbox?
Супер, спасибо! Это уже что-то!
Есть ли какой-то способ обычному пользователю определять хеш оверлеев, чтобы самому дописать в инишник, для тех же cvs или dropbox?
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Re: Замена оверлейных иконок символами в отдельном колумне
Если нет описания - отображается хеш. Хеш копируйте в ини и добавляйте описание
-
- Posts: 6
- Joined: Wed 21 Jul, 2010 17:35
Re: Замена оверлейных иконок символами в отдельном колумне
Вообще отлично
Выяснил пока что для DropBox, доберусь до работы - выясню и для CVS
; Dropbox
777AAEE5=Normal
2EBC8E8F=Syncing
72C386F2=Error
Выяснил пока что для DropBox, доберусь до работы - выясню и для CVS
; Dropbox
777AAEE5=Normal
2EBC8E8F=Syncing
72C386F2=Error
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: Замена оверлейных иконок символами в отдельном колумне
Работает, но тупит чтение каталога страшно
Причём даже те, где никак не могут быть оверлейные иконки (FAR 3.0 build 2534 x86).
Причём даже те, где никак не могут быть оверлейные иконки (FAR 3.0 build 2534 x86).
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Re: Замена оверлейных иконок символами в отдельном колумне
Да, для каждого файла нужно запросить иконку. MSDN рекомендует это делать асинхронно, но я так понимаю что FAR API это делать не позволяет.
Впрочем, если просто спрашивать у разных VCS статус как было предложено выше, думаю выйдет не лучше, так как у Tortoise* есть доработанные механизмы кеширования (этим занимаются процессы TSVNCache/TGitCache/TortoiseHgOverlayServer).
Впрочем, если просто спрашивать у разных VCS статус как было предложено выше, думаю выйдет не лучше, так как у Tortoise* есть доработанные механизмы кеширования (этим занимаются процессы TSVNCache/TGitCache/TortoiseHgOverlayServer).