Клуб Punto Switcher

Работа в Microsoft Visual Studio 2008

18 сентября 2008, 18:29

Замечательно, что Яндекс начал поддерживать такую замечательную программу - Punto Switcher.

Но, к сожалению, есть и некоторые проблемы. Например, при работе с Microsoft Visual Studio 2008.

Punto Switcher иногда конфликтует со средством Intellisence. При выборе предлагаемого Intellicence варианта и подстановки его в набираемый текст путем набора первых букв нужного слова и нажатия Enter, если Punto Switcher считает сочетание неправильным, он его переводит в другую раскладку. При этом также подставляется и сочетание перевода строки, эквивалентное нажатию Enter для выбора варианта.

Исправлять вставленный перевод строки жутко неудобно!

В предыдущей версии такой проблемы не было.Если в настройках  Punto 2.95 было отключено переключение по TAB и Enter, все проблемы с Intellisence решались. И уж тем более не вставлялся перевод строки.

 

Для воспроизведения проблемы нужно сделать следующее.
1. Открыть в Microsoft Visual Studio 2008 какой-нибудь проект на языке C#.
2. Создать в проекте переменные какого-либо класса, имеющего свойство Value (Punto Switcher реагирует и на другие своства, это приведено для примера). Например, подойдет объект класса NumericUpDown.
3. Набрать название переменной, поставить точку, набрать первую букву (заглавную V). Выбрать свойство Value нажатием Enter.
4. Нажать пробел.
После этого Punto Switcher переведет начальные буквы в другую раскладку, а также добавит символы перевода строки.
Ошибка почему-то повторяется не каждый раз, но один раз из двух или трех раз это происходит. Чтобы устранить ошибку, приходится много раз нажимать Ctrl+Z или стирать и набирать все заново (а Punto при этом опять может поменять раскладку). Лично для меня сводит на нет все преимущества использования Punto Switcher в VS 2008,а совсем отключать его при работе с этой программой тоже не хочется.

Стандартными средствами, имеющимися в меню программы, решить проблему не удалось.
Предлагаю для решения проблемы добавить в настройки программы, в раздел "Устранение проблем", в группу "Не переключать раскладку, если перед вводом были нажаты" ещё и клавишу Enter.

16 комментариев
Подписаться на комментарии к посту
Такая же штука и в Дельфях. Только я не отменял переключение по Энтеру. Да, надо как-то подумать, что с этим делать.
После очередного глюка мне это надоело. Какие преимущества у Punto Switcher 3? Поддержка висты, поддержка 64 бит, возможность назначать "горячие клавиши". Я работаю на XP, поэтому ни виста ни 64 бит мне ни к чему. Горячие клавиши по умолчанию тоже меня вполне устраивали. К тому же, отключение смены раскладки по F12 в новой версии убрано так, что не зная - не найдешь. Зачем вообще в новой версии сделано F12 - непонятно. В старой версии F12 было вроде как для пользователей ноутбуков, у которых нет Break. Но в старой версии сменить Break было нельзя. А в новой пользователь ноутбука сам может поставить себе F12 или любую другую клавишу - так зачем усложнять программу, вынося F12 отдельно? Непонятно. В общем, конкретно для меня - улучшений мало, а вот недоработки очень значительные. Это явные показания к откату на стабильную предыдущую версию. От версии к версии программа должна улучшаться, а не ухудшаться. Очень радуюсь, что не удалил установочный файл версии 2.96
Кстати поддержка висты в 2.96.3 уже была. Не знаю, насколько хорошо она была реализована - висты у меня нет и ставить в ближайшее время не собираюсь. Но при установке программы выводилось сообщение о том, что можно работать и в висте тоже. Поиск выделенного текста в яндексе сочетанием клавиш тоже был. "Обновленные правила транслитерации и автопереключения раскладки " лично для меня вместо улучшений принесли только кучу неустранимых сложностей. Возможность назначать клавиши частично уже была реализована, кроме жестко заданных сочетаний. Так какие улучшения в итоге? Поддержка висты 64 бит и возможность назначить несколько клавиш. И при этом такие глюки. Перевод слова после Enter при отключенном переводе по Enter, с добавлением "перевода строки-возврата каретки". Удаление всех ярылков из меню пуск при установке (до выпуска сборки 54). Страшно подумать, какие глюки будут, если будет меняться что-то кардинальное. Наверное, жесткий диск будет форматироваться при первом запуске
А мне нравится новая версия. Она и приятнее, и глючит меньше. Если встречаете какие-то баги - так сообщайте о них, разработчики здесь отзывчивые, примут к сведению))
По части внешнего оформления - да, вроде красивее. Но это вопрос личных предпочтений. И в любом случае лично я предпочитаю менее красочно оформленную, но более стабильную и функциональную программу. По части меньшего количества глюков - у меня другое мнение. По крайней мере, в версии 2.96.3 проблемы с Intellisence у меня не было. Точнее, была, но полностью решилась отключением перевода по Tab и Enter. А в новой - вообще никак не решилась, только путем отката на старую версию. Других глюков в старой версии не видел пока. Отзывчивые разработчики - мне начинает уже казаться, что это фантастика :( Вот вчера написал сообщение на этот форум - ни один разработчик пока не отозвался. До этого пару дней назад написал через форму обратной связи про глюк - никакой реакции. С неделю назад опять же через форму обратной связи написал про глюк - до сих пор никакой реакции. Хотя бы сказали, получили они мое сообщение, или нет. И собираются ли что-нибудь делать, или считают, что это вовсе даже не глюк, а особенность функционирования программы. Если нужна какая-то дополнительная информация (скриншоты, более подробное описание, как воспроизвести ошибку) - я мог бы предоставить. Но что-то разработчиков совершенно не заинтересовала моя проблема.
Выход простой: поставьте приложения в список исключений, тогда PS будет работать лишь принудительно по нажатию горячей клавиши. ВСЕ!!!!
Нет, не ВСЕ. Для данного выхода простота - единственное преимущество. Потому что одно из основных достоинств Punto Switcher - это автоматическое переключение раскладки клавиатуры. И автоматический перевод в правильную раскладку неправильно набранного слова. Подчеркну ещё раз - АВТОМАТИЧЕСКИЙ. А поскольку основная работа для меня идет как раз в VS2008, то Punto Switcher при работе с этой программой очень мне нужен. И предыдущая версия очень даже неплохо работала без занесения VS2008 в исключения. Да, бывало и немало ошибок, но для их исправления достаточно было нажать кнопку отмены перевода - Break. Всего одну кнопку. А вот в новой версии это не прокатывает ни в какую. Потому что новая версия в переведенное сочетание вставляет "перевод строки", и по отмене исправляет только то, что было ей изменено после этого самого "перевода строки". А то, что до - оставляет. И приходится стирать вручную, раз пять-шесть нажимая Ctrl+Z, или стирая все и набирая заново. А если заносить все проблемные программы в список исключений - зачем тогда вообще Punto Switcher? Можно и вообще деинсталлировать и раскладку вручную переключать. Это ещё проще. Но - я не ищу простых путей :) И потому пока что вернулся к версии 2.96.3. Необходимость добавлять программу в список исключений отпала. Все прекрасно работает. P.S. Вот и ещё три дня прошло. И снова никакой реакции разработчиков на проблему. Наверное, пользователи Microsoft Visual Studio 2008 (а судя по предыдущим сообщениям, и Delphi) для разработчиков - мелочь, не стоящая внимания.
волнует, просто зачем повторятся. Сами, надеюсь, они программят не в блокноте должны понимать как это удобно...(я лично PS отрубаю иногда в VS) Хотя для пользователей мог бы кто-нить из комманды отписаться, что проблема понята, тем более в разделе, где вопрос последовал от программистов кот. не будут лашить ибо понимают... P.S. Тебе еще повезло, что только глючило в VS, у меня вот при установке все ярлыки из пуска при установке PS удалило в том числе и от VS и плагинов к ней же, теперь если что с 0 пишу запускаю старый проджект или салюшн :) В общем культура в наших странах и отношения к массе пока не оч :(
Вот про отписку-то я и имел в виду. Понимаю, конечно, что глюки в любых программах бывают, и решаются они не за пять минут. Кто знает, сколько уйдет на исправление алгоритма - час или два месяца. Но ведь совсем не трудно написать что-нибудь вроде - "проблема зарегистрирована, принимаются меры". А то - пишешь, пишешь, никакой реакции. Обидно. Впрочем, вчера ответ разработчиков на мою почту все-таки пришел. Так что есть надежда, что проблема будет решена.
Есть ещё такой вариант: большинство "пользователей" VS не строчат в ней тексты на русском ;)
Для тех, кто "не строчит текстов на русском", конечно, проблем нет. Занес программу в список исключений - и все. Но лично я комментарии предпочитаю писать именно на русском. И комментариев у меня много. А потому переключение раскладки в VS мне нужно. И версия 2.96.3 вполне это обеспечивает.
А опция не переключать по клавиши Tab и Enter, разве не подходит? У меня с ней все нормально работает. Да и 2.95 себя так же ведет, как и 3.0. У Вас какая сборка пунты 3.0?
Пунто 3.0 сборка 54. Была... сейчас уже снова стоит 2.96.3. Опция "не переключать по Tab и Enter" включена и там, и там. Работает и в одной версии, и в другой - по Tab и Enter действительно не переключает. Проблема в другом. Когда я выбираю вариант в Intellisense нажатием Enter, PS раскладку не переключает. Но вот версия 3.0.54, когда я нажимаю пробел уже после выбора варианта нажатием Enter и подставления Intellisense этого варианта в текст, переводит набранный текст в другую раскладку. А самая главная проблема, что при переводе версия 3.0.54 учитывает не тот текст, который образовался после выбора варианта, а тот, который я непосредственно набрал с клавиатуры. Включая и нажатие Enter. В итоге, если без перевода раскладки должно получаться что-то вроде "SomeObject.Value", то после перевода получается "SomeObjectюМфalue", а курсор оказывается на другой строке. Это не представляло бы проблемы, если бы по нажатию Break все отменялось - но после нажатия Break на второй строке, куда переместился курсор, просто появляется ".Va", а "SomeObjectюМфalue" на предыдущей строке остается без изменений. И как бы я не исхитрялся, по-любому приходится вручную убирать то, что наляпал PS. Версия 2.96.3 таким не страдает. Не знаю, может, у других и проявляется - но у меня все проблемы после включения опции "не переключать по Tab и Enter" исчезли. PS просто никак не реагирует на выбор варианта Intellisense и ничего никуда не переводит - что мне и надо. А вот когда я комментарий латинскими буквами набирать начинаю, или идентификатор русскими - тогда реагирует. И прекрасно все исправляет. Что мне и нужно. Поэтому и получается, что на глючную новую версию переходить со вполне стабильной (по крайней мере для меня) старой версии совсем не хочется.
imho Intellisence, как и автозавершение прочих программ в принципе несовместимо с автопереключением раскладки.
Вопрос в том, что называть "совместимостью". Конечно, если названия переменных русскими буквами набирать - не переведет. А вот уже даже названия типов замечательно переводятся. И если русские слова в комментариях латиницей набирать - тоже прекрасно переводит в нужную раскладку. То, что подставляет Intellisence, конечно, не переводится. Но его и не надо переводить - подставляется-то все по определению правильно. Так где же несовместимость? Проблема конечно есть, но это не принципиальная несовместимость, а всего лишь глюк одной конкретной версии, который вполне реально исправить. Если не созданием новой версии - то откатом на предыдущую. После этого все совмещается.
Punto не в курсе - что там приложение самостоятельно напродолжало. А на обрывках слов ложные срабатывания происходят чаще, потому что переключение основано на статистике нормального языка. Можно "подкрутить", чтобы чуть реже такое случалось, но заметно сократить количество ошибок всё равно не получится. Конечно, результативность работы PS во всяких интеллектуальных IDE зависит от самого разработчика - как он именует переменные и как работает с автозавершением. У кого PS лажает до раздражения регулярно, у кото-то только чуть чаще, чем в обычном тексте.