Плагины для форматирования исходных кодов для Windows Live Writer
By: Date: 09.10.2011 Categories: !RUS,Blog,WEB,WordPress Метки:

Все плагины основанные на Syntax Highlighter перестали работать. Скорее всего это связано с тем, что версия Syntax Highlighter изменилась, а разработчики плагинов не спешат обновлять их, а многие из них вообще брошены разработчиками.

Поэтому статья несколько устарела и публиковать исходные коды лучше вручную, прямо в веб-редакторе WordPress.

Остальные плагины работают как нужно. На этой странице, далее, на примерах, видно что еще работает и как, а что не работает.

—————————————————————————————

На страничке Windows Live Writer Plug-ins есть куча плагинов для Windows Live Writer Plug-ins в том числе в разделе Formatting / clipboard плагины для форматирования исходных текстов.

Очень хочется какой-нибудь качественный плагин для работы получить. Э-хе-хе придется пробовать все. Как говориться перелопатить тонны навоза, чтобы найти жемчужину.

ВНИМАНИЕ! После публикации вид форматируемого текста может радикально измениться. Т.е. код может выглядеть совсем по разному в WLW и после публикации. Это повлияло на отбор.

Тестирую на WLW версия 2011 build 15.4.3538.513

По результатам копаний я выбрал 7 плагина:

Paste from Visual Studio

image

Paste As Visual Studio Code

image

Clipboard Live (только за вставку таблиц Excel в виде картинок)

image

Syntax Higlighter 2.0 for Windows Live Writer

image

Paste From Console (только вставка из CMD)

image

Syntax4Writer For Alex Gorbatchev’s SyntaxHighlighter

image

Code Formatter for Windows Live Writer

image

Вот сводная таблица испытаний

lerfpj0u

Выводы:

Paste from Visual Studio и Paste As Visual Studio Code работают только с reach text, т.е. копировать нужно прямо из VS иначе не будет работать подсветка синтаксиса. Paste As Visual Studio Code обладает наибольшей функциональностью из этих двух плагинов.

Syntax Higlighter 2.0 for Windows Live Writer, Syntax4Writer For Alex Gorbatchev’s SyntaxHighlighter и Code Formatter for Windows Live Writer основаны на знаменитом движке от Горбачева и поэтому обладают сходной функциональностью. Из трёх плагинов Syntax4Writer For Alex Gorbatchev’s SyntaxHighlighter поддерживает наибольшее количество опций движка. Единственное неудобство работы этого плагина, если вставил код, то потом нельзя изменить опции (только удалив код и заново вставив).

Далее по каждому плагину отдельно описание

——————————————————————————————-

Insert Code for Windows Live Writer

Есть три опции. Если включить только Embed StyleSheet то исходник форматируется нормально, но только в WLW. После публикации всё ломается.

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

Но если включить две другие опции «нумерацию строк» и «выделение чередующихся строк» — всё ломается.

 1: public override void Stop()
 2:         {
 3:             State = ServiceState.Stopping;
 4:             SaveConfig(false);
 5:             base.Stop();
 6:         }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, «Courier New», courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Code Snippet plugin for Windows Live Writer

Куча опций. Всё отлично работает в WLW, но после публикации всё форматирование слетело.

public override void Stop()        {            State = ServiceState.Stopping;            SaveConfig(false);            base.Stop();        }

Есть возможность использовать или нет контейнер:

Не использовать контейнер

 1: public override void Stop()
 2:         {
 3:             State = ServiceState.Stopping;
 4:             SaveConfig(false);
 5:             base.Stop();
 6:         }

Использовать контейнер

 1: public override void Stop()
 2:         {
 3:             State = ServiceState.Stopping;
 4:             SaveConfig(false);
 5:             base.Stop();
 6:         }

 Paste from Visual Studio

Очень простой плагин. Просто копируешь из VS и вставляешь в WLW. Но копирование работает только из VS. Если скопировать из текстового редактора — подсветка не работает.

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

Insert Formatted Clipboard

Подсветка работает только на RTF текстах, т.е. из VS, Word, Excel , если скопировать из текстового редактора — подсветка не работает. Таблица из Excel скопировалась очень примитивно, в виде таблицы HTML при этом всё форматирование исчезло.

public override void Stop()        {            State = ServiceState.Stopping;            SaveConfig(false);            base.Stop();        }
Нумерация строк Выделение чередующихся строк Правка CSS Управление контейнером Копирование из текстового редактора Выделение части кода Языки
Insert Code for Windows Live Writer + + + 6
Code Snippet plugin for Windows Live Writer + + + + + 13

Source Code Formatter

Очень много возможностей, но когда их включаешь всё ломается — как жаль

  1: public override void Stop()
  2:         {
  3:             State = ServiceState.Stopping;
  4:             SaveConfig(false);
  5:             base.Stop();
  6:         }

Paste As Visual Studio Code

Копирование ТОЛЬКО из VS

  1. public override void Stop()
  2.         {
  3.             State = ServiceState.Stopping;
  4.             SaveConfig(false);
  5.             base.Stop();
  6.         }

возможен еще такой стиль

  1. public override void Stop()
  2.         {
  3.             State = ServiceState.Stopping;
  4.             SaveConfig(false);
  5.             base.Stop();
  6.         }

всё отключено

public override void Stop()
{
State = ServiceState.Stopping;
SaveConfig(false);
base.Stop();
}

 

Clipboard Live

Форматирует только RTF clipboart. Зато умеет вставлять таблицы из Excel в виде картинки

public override void Stop()        {            State = ServiceState.Stopping;            SaveConfig(false);            base.Stop();        }

s4mz253e

SyntaxHighlighter for Windows Live Writer

Весьма своеобразно

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

EzMceWriter for Live Writer

Плагин не загрузился из-за критической ошибки.

Syntax Higlighter 2.0 for Windows Live Writer

Куча опций, но форматирование видно только после публикации

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

Типограф

Может я чего не понял. Но при нажатии на кнопку плагина вообще ничего не произошло.

Paste From Console

Специально для копирования консоли (cmd). Прикольно, можно конечно делать снимки экранов, но здесь можно копировать текст из копии.

Слеш () вот только почему-то вставляется каким-то псевдосимволом в WLW. После публикации всё в порядке.

c:>dir
 Volume in drive C has no label.
 Volume Serial Number is 243D-C254

 Directory of c:

24.09.2011  15:17    <DIR>          #SYS#
11.06.2009  01:42                24 autoexec.bat
05.12.2010  19:43    <DIR>          Backup
12.04.2010  07:53           134 376 bar.emf
11.06.2009  01:42                10 config.sys
14.07.2009  06:37    <DIR>          PerfLogs
03.10.2011  23:02    <DIR>          Program Files
24.09.2011  14:58    <DIR>          Temp
02.10.2011  11:57    <DIR>          TOR
28.09.2010  10:22    <DIR>          Users
03.10.2011  21:06    <DIR>          Windows
               3 File(s)        134 410 bytes
               8 Dir(s)  30 385 094 656 bytes free

c:>

BlogMyCode VS2005 PlugIn

Этот плагин только для VS 2005, т.е. если нет VS2005 он работать не будет

Clipboard Capture

Для вставки картинок

Code Prettify for Windows Live Writer

Ничего особенного. Подсветка синтаксиса будет работать только при использовании google-code-prettify на сайте

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

I’m Feeling Lucky

Плагин вставляет гиперссылки, которые ведут в поиск. Используется какой-то сервис от Google — I’m Feeling lucky. Интересно, но мне это не нужно.

http://plugins.live.com/writer/detail/wlw-paste-as

лампочка

паровоз

WLW Scrubber

Вроде как должен удалять некий мусор из HTML текста сообщения блога. Но на деле из всего этого поста удалил всего лишь один какой-то тэг div. Короче в топку.

Syntax Highlighter Plugin

Плагин основан на некой JavaScript библиотеке, которая должна быть установлена на сайте. В WLW форматирования не будет видно, только на сайте.

Кроме того он вызывает ошибку и ничего не делает.

Paste Code

Имеет дополнительное окно, где можно обрамить код в различные теги, по умолчанию предлагает <pre>

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

GeSHi — Generic Syntax Highlighter

GeSHi Server Blocks

Некий проект в интернете, который переехал на другой сайт и плагина для WLW я там не нашел

Small tag Plugin

Вставляет тег small. А зачем? Я и сам могу это сделать руками

 

public override void Stop()
{
State = ServiceState.Stopping;
SaveConfig(false);
base.Stop();
}

 

CBEnhancer LW Plugin

Фигня какая-то. Так и не понял как это работает.

Syntax4Writer For Alex Gorbatchev’s SyntaxHighlighter

Опций много но все просто

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }

CodeArea

При запуске ничего не происходит. Но на самом деле вставляется тэг <div class=»mycode»></div> к которому нужно еще и CSS стиль «.mycode» добавить в свой блог. А нафига такой геморрой? По моему мнению плагин должен это всё делать.

Code Formatter for Windows Live Writer

В режиме ActiPro

1 publicoverridevoid Stop() 2 { 3 State = ServiceState.Stopping; 4 SaveConfig(false); 5 base.Stop(); 6 }

 

В режиме ActiPro (как рисунок)

В режиме Syntax Highlighter

public override void Stop()
        {
            State = ServiceState.Stopping;
            SaveConfig(false);
            base.Stop();
        }