Настройка горячих клавиш в DreamWeaver CS4
на вставку угловых кавычек, тире и других символов Unicode

30.10.2005
переработано: 30.10.2009 Новиков М.Г.


В ожидании DreamWeaver CS5

Содержание:

Вступление

Из всех систем разработки сайтов редактор DreamWeaver, пожалуй, самый удобный. Всем он хорош, но, как и в других аналогичных системах, не хватает в нем возможности оперативно вставлять в текст страницы сайта такие важные символы, как, например, тире () или угловые кавычки («»), а также другие полезные символы, имеющиеся в кодировке Unicode. Добраться до некоторых из этих знаков можно, но это отнимает несколько драгоценных секунд и сильно отвлекает внимание от набора текста. Тем не менее, DreamWeaver построен таким образом, что позволяет дополнять себя новыми функциями, что мы и используем для решения нашей задачи.

Сначала мы создадим новые функции вставки нужных нам символов, написав их на Javascript, а затем подкорректируем файл конфигурации меню, включив туда новые команды вызова этих функций и присвоив им удобные сочетания клавиш.

[Вернуться в начало]

Этап 1. Создание личного профиля меню.

  1. Запустим DreamWeaver и откроем Edit Keyboard Shortcuts...
  2. Задублируем текущую конфигурацию, нажав кнопку Duplicate Set, введя произвольное название и нажав ОК.
  3. Нажмём ОК в основном окне настроек. Создастся файл личной конфигурации меню menus.xml.

Теперь откроем папку:

c:\Documents and Settings\Имя Пользователя\Application Data\Adobe\
  Dreamweaver CS4\en_US\Configuration\

и создадим в этой папке новую папку — «CommandsMy». На этом подготовительный этап 1 завершён, переходим к этапу 2.

[Вернуться в начало]

Этап 2. Создание файлов команд.

Файл команды вставки символа пишется в «Блокноте» в виде пустой web-странички, которая при загрузке вызывает функцию на языке Javascript. Функция состоит из 3 действий. Сначала проверяется доступность текста, в который должен быть вставлен символ, затем следует собственно команда вставки, а затем подается команда нажатия стрелки вправо, чтобы снять установленное на вставленном символе выделение и установить курсор после вставленного символа:

<HTML>
    <HEAD>
        <SCRIPT LANGUAGE="javascript">
        <!--
            function runCommand()
            {
                if (dw.getFocus() != 'browser' && dw.getDocumentDOM() != null && 
                    dw.getDocumentDOM().getParseMode() == 'html')
                {
                    dw.getDocumentDOM().insertHTML('&#xAB;');
                    dw.getDocumentDOM().arrowRight();
                }
            }
        // -->
        </SCRIPT>
    </HEAD>
    <BODY onLoad="runCommand()">
    </BODY>
</HTML>

Создадим в папке «CommandsMy», скажем, 10 таких файлов вставки наиболее часто встречающихся символов. Файлы должны различаться кодом вставляемого символа (выделенный фрагмент). Имена файлам можно дать, исходя, например, из шестнадцатеричных кодов вставляемых символов. Расширение файлов должно быть «htm», например:

x00AB.htm

Левая угловая кавычка «ёлочка»
x00BB.htm Правая угловая кавычка «ёлочка»
x201C.htm Правая кавычка „лапка“
x201E.htm Левая кавычка „лапка“
x2013.htm Короткое тире –
x2014.htm Тире —
x2026.htm Многоточие …
x2190.htm Стрелка влево ←
x2192.htm Стрелка вправо →
x2212.htm Знак минус −
x2116.htm Номер №

Важные примечания:

  1. В HTML-код страницы будет вставляться не сам символ, а т.н. символьный примитив, то есть числовая подстановка — код символа. Благодаря этому обозреватель будет понимать, что данный символ он должен взять именно из Unicode. Однако, если код символа попадает в запрещённый диапазон управляющих кодов Unicode — 80–9F, обозреватель подставляет символ из текущей 1-байтовой кодировки.
  2. Хотя символы угловых кавычек (а также параграфа, градуса и т.п.) имеются в русской кодировке windows-1251, и даже не попадают в запрещённый диапазон управляющих кодов 80–9F, непосредственно использовать их в HTML-коде не следует. Из-за особенностей трансляции кодировок и использования других шрифтов на других платформах они могут выглядеть некорректно. Вдобавок, эти символы могут потеряться при переводе текста в другую кодировку даже в пределах windows-систем. Парадоксально, но, например, в официальной русской кодировке ISO 8859-5 вообще нет символов угловых кавычек. Поэтому необходимо использовать смвольные примитивы (подстановки), которые будут вытаскивать эти символы именно из Unicode, даже если их коды совпадают с кодами тех же символов текущей кодировки.
  3. При кодировании символов я использую шестнадцатеричные числа, поскольку считаю их более уместными (официальная документация символов Unicode использует именно такой формат), однако вы можете использовать и десятичную нотацию. Тогда десятичное число надо записывать без буквы «x». Также, вместо числовых подстановок можно использовать мнемонические, которые по умолчанию вставляет Dreamweaver при вставке специальных символов. Тогда из символьного примитива убирается и символ «#». Но, на мой взгляд, мнемоника только запутывают, да и может не поддерживаться некоторыми старыми обозревателями.

[Вернуться в начало]

Этап 3. Настройка конфигурационного файла меню.

Откроем в «Блокноте» созданный DreamWeaver'ом ещё на первом этапе файл:

c:\Documents and Settings\Имя Пользователя\
  Application Data\Adobe\Dreamweaver CS4\en_US\Configuration\Menus\menus.xml

и в самый конец раздела

<menu name="_Commands" id="DWMenu_Commands">

</menu>

перед закрывающим тегом добавим:

<separator />
<menuitem name="— Тире (x2014)"
file="CommandsMy/x2014.htm" id="DWMenu_Insert_x2014" key="Cmd+Opt+-" />
<menuitem name="– Короткое тире (x2013)"
file="CommandsMy/x2013.htm" id="DWMenu_Insert_x2013" key="Cmd+Opt+Shift+-"/>
<menuitem name="− Минус (x2212)"
file="CommandsMy/x2212.htm" id="DWMenu_Insert_x2212" key="Cmd+Opt+Shift+M" />
<menuitem name="« Левая угловая кавычка (x00AB)"
file="CommandsMy/x00AB.htm" id="DWMenu_Insert_x00AB" key="Cmd+9" />
<menuitem name="» Правая угловая кавычка (x00BB)"
file="CommandsMy/x00BB.htm" id="DWMenu_Insert_x00BB" key="Cmd+0" />
<menuitem name="„ Левая кавычка лапка (x201E)"
file="CommandsMy/x201E.htm" id="DWMenu_Insert_x201E" key="Cmd+Opt+9" />
<menuitem name="“ Правая кавычка лапка (x201C)"
file="CommandsMy/x201C.htm" id="DWMenu_Insert_x201C" key="Cmd+Opt+0" />
<menuitem name="… Многоточие (x2026)"
file="CommandsMy/x2026.htm" id="DWMenu_Insert_x2026" key="Cmd+." />
<menuitem name="<— Стрелка влево (x2190)"
file="CommandsMy/x2190.htm" id="DWMenu_Insert_x2190" key="Cmd+Opt+Shift+9" />
<menuitem name="—> Стрелка вправо (x2192)"
file="CommandsMy/x2192.htm" id="DWMenu_Insert_x2192" key="Cmd+Opt+Shift+0" />
<menuitem name="№ Номер (x2116)"
file="CommandsMy/x2116.htm" id="DWMenu_Insert_x2116" key="Cmd+Opt+Shift+3" />

и сохраним в кодировке UTF-8.

Примечание: В приведенном выше фрагменте строчки тега <menuitem> переносятся на другую строчку, поскольку не помещаются на страничке целиком. В конфигурационном файле строчки не должны переноситься.

Как вариант сохранению в кодировке UTF-8, можно сохранить и в кодировке по умолчанию (ANSI), но тогда в самое начало файла придётся добавить строку:

<?xml version="1.0" encoding="windows-1251"?>

и не использовать символ «Минус» в тексте названия пункта меню. Остальные использованные в названиях символы DreamWeaver находит в однобайтовой кодировке. Замечу, что символы стрелок DreamWeaver почему-то в меню не отображает даже при сохранении файла конфигурации меню в кодировке UTF-8, поэтому мы их заменим на два символа, дающих вместе изображение стрелки.

После сохранения файла конфигурации заставим DreamWeaver перечитать его. Для этого или просто перезагрузим его, или найдём панель вставки «Insert», и при нажатой клавише «Ctrl», щёлкаем левой кнопкой мыши по кнопке выбора группы. В открывшемся меню выбираем отсутствовавший при обычном нажатии пункт «Reload Extensions».

Теперь переключаемся на латинскую раскладку и снова откроем Edit → Keyboard Shortcuts... и найдём наши новые команды. Нам надо отменить все изначальные горячие клавиши, использующие цифру 0 (правая скобка), поскольку они конфликтуют с нашими горячими клавишами. Для этого удалим и снова попытаемся создать наши горячие клавиши. Возникнет предупреждение, что такая комбинация уже используется, но мы подтверждаем переопределение и сохраняем настройки.

[Вернуться в начало]

Заключение

Итак, в меню «Commands» у вас появилось 11 новых пунктов, позволяющих вставлять в текст страницы нужные нам символы. Эти же символы можно набирать и с клавиатуры нажатием на горячие клавиши, указанные справа от названий пунктов меню.

Более подробно о продвинутых методах настройки старой версии DreamWeaver MX можно прочитать тут:

http://flash-ripper.com/articles/dreamweaver/2002_08_17_customizing_dwmx_contents.htm

Официальная страница программы:

http://www.adobe.com/products/dreamweaver/

[Вернуться в начало]
[Оставить отзыв в гостевой]