Комментарии 32
А как быть с
Смысл в том, что в отличие от «красивостей» в примерах, в некоторых проектах (GNOME) принято писать как в моем примере.
int a;
char *b;
char **c;
?Смысл в том, что в отличие от «красивостей» в примерах, в некоторых проектах (GNOME) принято писать как в моем примере.
0
Ну если глобально задачу ставить, то можно найти еще 100500 случаев где оно не сработает.
Проект с открытым исходным кодом, можно доработать под конкретные случаи, если уж прямо так. Например для вашего случая можно ввести спецсимвол, который выравнивал бы вот так как у вас в примере.
Проект с открытым исходным кодом, можно доработать под конкретные случаи, если уж прямо так. Например для вашего случая можно ввести спецсимвол, который выравнивал бы вот так как у вас в примере.
+5
Да собственно я давно нашёл решение для себя, оно попроще:) Смысл в том, что многие современные IDE умеют по хоткею запустить внешнюю программу. Она принимает stdin и выплевывает stdout, и не нужно убивать выходной на простой парсер. Даже плагин писать не нужно.
Меня терзают смутные сомнения насчет кроссплатформенности — как там с Linux и Mac?
Delphi
Меня терзают смутные сомнения насчет кроссплатформенности — как там с Linux и Mac?
+1
Не думаю что сходу можно было бы адаптировать решение и под линукс и под мак, и тут не Delphi виновата, а то, что текущее решение тесно работает с буфером обмена, с эмулированием нажатий клавиш и т.п.
0
Подумал. Может действительно на досуге вынесу консольной программой редактор. Для любителей прикручивать напрямую к некоторым IDE.
p.s. Мне просто самому нужно это для MSVS + NetBeans + Delphi и хотелось еще Notepad++ покрыть. Поэтому вот так вот сделал.
p.s. Мне просто самому нужно это для MSVS + NetBeans + Delphi и хотелось еще Notepad++ покрыть. Поэтому вот так вот сделал.
0
Вот бы в виде плагина к TypeAndRun…
0
За Delphi, походу будет много минусов, но проект хороший и полезный. Спасибо :)
-2
Если кто-то не знает как тоже самое сделать в IDEA:
Затем, выделение текста (если нужно отформатировать конкретный участок кода) и Alt+Cmd+L
Затем, выделение текста (если нужно отформатировать конкретный участок кода) и Alt+Cmd+L
+5
+1
Для PHP чуток по-другому, но смысл тот же и спасибо вам за эту приятность.
P.S. Почему то картинка не вставляется. Что я делаю не так? take.ms/UJAJL
P.S. Почему то картинка не вставляется. Что я делаю не так? take.ms/UJAJL
-1
Здорово.
И все-таки в самом NPP было бы еще вкуснее. Не хотите сделать плагин?
И все-таки в самом NPP было бы еще вкуснее. Не хотите сделать плагин?
+2
А какое ограничение для буфера?)
А то при обработке файла в 22 кб (около 800 строк) не работает(((
а маленькими кусками не удобно…
А то при обработке файла в 22 кб (около 800 строк) не работает(((
а маленькими кусками не удобно…
0
Ого, я и не ожидал что такие объемы будут.
Вообще ограничений нет. Просто редактор при потере фокуса прячется и отменяет редактирование. Поскольку код, выравнивающий текст написан не оптимально (много реаллокаций и конкатенаций) + все это дело отображается в memo, то для такого большого буфера он выполняется несколько секунд. В этот момент винда решает что приложение не отвечает, и снимает с него фокус… и редактирование отменяется.
В общем соптимизирую я это дело в следующие выходные наверое.
p.s. А это реально удобно было бы, по 22кб и больше выравнивать?
Вообще ограничений нет. Просто редактор при потере фокуса прячется и отменяет редактирование. Поскольку код, выравнивающий текст написан не оптимально (много реаллокаций и конкатенаций) + все это дело отображается в memo, то для такого большого буфера он выполняется несколько секунд. В этот момент винда решает что приложение не отвечает, и снимает с него фокус… и редактирование отменяется.
В общем соптимизирую я это дело в следующие выходные наверое.
p.s. А это реально удобно было бы, по 22кб и больше выравнивать?
0
Имхо, не помешало бы в стандартный функционал включить возможность выбора положения «popup-а» (выбор из девяти типичных положений на экране), и возможность вот такого выравнивания:
При, например, указании разделителя с выбранным ключевым символом. Т.е. если выравниваем по ":" — обычное; при указании "~:" — как на изображении выше
При, например, указании разделителя с выбранным ключевым символом. Т.е. если выравниваем по ":" — обычное; при указании "~:" — как на изображении выше
0
Реквестирую в качестве дополнительной фичи автовыравнивание (скобки, отступы) для популярных языков, как это сделано в IDE, например, PHPStorm Ctrl+Alt+L (Reformat Code).
Для использования везде, где это надо, не задумываясь (Sublime, Notepad++).
Для использования везде, где это надо, не задумываясь (Sublime, Notepad++).
-1
Bug report:
Some Text As Example
Тест Тест
To translit:SomeATextAAsAExample
TestATest
0
Действительно, спасибо. Домой приду — пофикшу.
0
Продолжаем тему багов:
Switch language: ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Switch language: ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
А теперь сравниваем первый (вход) и третий (выход) пример — жук очевиден
А а Б б В в Г г Д д Е е Ё ё
Ж ж З з И и Й й К к Л л М м
Н н О о П п Р р С с Т т У у
Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ
Ы ы Ь ь Э э Ю ю Я я
Switch language: ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
F f < , D d U u L l T t ~ `
: ; P p B b Q q R r K k V v
Y y J j G g H h C c N n E e
A a { [ W w X x I i O o } ]
S s M m " ' > . Z z
Switch language: ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
А а Б ? В в Г г Д д Е е Ё ё
^ $ З з И и Й й К к Л л М м
Н н О о П п Р р С с Т т У у
Ф ф Х х Ц ц Ч ч Ш ш Щ щ Ъ ъ
Ы ы Ь ь @ э Ю / Я я
А теперь сравниваем первый (вход) и третий (выход) пример — жук очевиден
0
Интересная особенность. Возьмем например символ б
На русской раскладке ему соответствует запятая. При этом на английской раскладке запятой соответствует знак вопроса. Таким образом нужны две таблицы, одна для переключения RU-ENG если исходное слово русское, и такая же таблица для английского исходного слова.
Посмотрел как ведет себя Punto Switcher. Если ввести на англйиской раскладке символ Б:
,
затем вручную переключить раскладку, выделить символ и попробовать перевести, то будет
?
а если не переключать раскладку, то будет
б
Что интересно, если написать «б браво», и провернуть тот же трюк, то увидим:
? браво
т.е. пунто свитчер анализирует еще каждое слово.
В общем то я пока добавлю логику для анализа текущей раскладки, думаю этого будет достаточно.
На русской раскладке ему соответствует запятая. При этом на английской раскладке запятой соответствует знак вопроса. Таким образом нужны две таблицы, одна для переключения RU-ENG если исходное слово русское, и такая же таблица для английского исходного слова.
Посмотрел как ведет себя Punto Switcher. Если ввести на англйиской раскладке символ Б:
,
затем вручную переключить раскладку, выделить символ и попробовать перевести, то будет
?
а если не переключать раскладку, то будет
б
Что интересно, если написать «б браво», и провернуть тот же трюк, то увидим:
? браво
т.е. пунто свитчер анализирует еще каждое слово.
В общем то я пока добавлю логику для анализа текущей раскладки, думаю этого будет достаточно.
0
Fixed
+1
> 4. Ждет появления в буфере обмена текста (постоянно проверяя его раз в 10мс, и так в течение одной секунды)
С помощью функции SetClipboardViewer можно подписать свое приложение на изменение буфера обмена, тогда не придется долбать его опросами
С помощью функции SetClipboardViewer можно подписать свое приложение на изменение буфера обмена, тогда не придется долбать его опросами
+1
Оу, спасибо. Значит поставлю сегодня. ;)
0
В общем SetClipboardViewer — устраевшая функция. Описано в msdn. Почему — тоже описано.
Теперь православно использовать AddClipboardFormatListener.
Так же есть GetClipboardSequenceNumber, которая инкрементит глобальный счетчик обновления буфера.
В общем переделал ожидание на GetClipboardSequenceNumber (на sourceforge пока не заливал)
Теперь православно использовать AddClipboardFormatListener.
Так же есть GetClipboardSequenceNumber, которая инкрементит глобальный счетчик обновления буфера.
В общем переделал ожидание на GetClipboardSequenceNumber (на sourceforge пока не заливал)
+2
В редакторе FAR срабатывает, но при закрытии окна приложения «залипает» Ctrl
0
Я правильно понял из кода, что Вы сохраняете и восстанавливаете только текстовое содержимое клипбоарда? Если там будет, например, картинка или файл, то они потеряются?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вертикальное выравнивание кода + немного Punto