Вы можете добавить новый драйвер ZPL ZebraDesigner в систему и использовать файл в качестве порта. Затем, когда вы «распечатаете» документ, он запишет в файл код ZPL.
Обратите внимание, что перед первым ^XA
он может иметь некоторую информацию заголовка, которая вам может не понадобиться.
ОБНОВЛЕНИЕ: (Как добавить локальный порт в драйвере)
Printer Properties
Ports
Add Port
Local Port
и нажмите New port
C:\output.zpl
C:\output.zpl
Выберите строки, которые вы хотите поменять местами, Ctrl + H, затем замените:
{:i}:b*=:b*{:i};
на:
\2 = \1;
на «Искать в:», установленное на «Выбор»
Это только обрабатывает идентификаторы стиля C / C ++ (через «: i»). Замените это на:
{.*}:b*=:b*{.*};
, чтобы заменить что-либо по обе стороны от «=».
Кроме того, поскольку вы упомянули в комментарии, что используете ReSharper, вы можете просто выделить «=», Alt + Enter и «Reverse» присвоение ».
К сожалению, у меня нет Visual Studio, поэтому я не могу попробовать в целевой среде, но если он использует стандартные регулярные выражения, вы, вероятно, могли бы сделать это следующим образом:
Найдите « (: Al) = (: Al);
» и замените его на « \ 2 = \ 1
». (\ 1 и \ 2 - это ссылки на первую и вторую группы захвата, в данном случае скобки вокруг \ w: s)
EDIT
Хорошо, не \ w ... Но согласно MSDN , мы можем вместо этого использовать: Al. Отредактировано выше, чтобы использовать это вместо этого.
Кроме того, со страницы MSDN я понял, что это должно работать, поскольку ссылки работают как обычно.
как насчет замены всего (CTRL-H)
, вы можете заменить, например, "i = j;" by "j = i;"
вы можете использовать регулярные выражения в этом диалоге. Однако я не совсем уверен в том, как вы должны отображать всплывающую справку о них. В этом диалоговом окне нажмите F1, а затем найдите на этой странице дополнительную информацию о регулярных выражениях.
Мне нравится этот диалог, потому что он позволяет вам выполнять каждую замену. Поскольку вероятность взлома высока, я думаю, что это более безопасное решение
См. Этот вопрос: Есть ли способ поменять местами левую и правую части набора выражений в Visual Studio?
В моем ответе на этот вопрос есть макрос который можно использовать для замены назначений блоку кода.
Надежный способ сделать это - использовать инструмент рефакторинга . Они знают синтаксис языка, поэтому понимают концепцию «оператора присваивания» и могут правильно выбрать все выражение по обе стороны от оператора присваивания, а не ограничиваться одним идентификатором, как я думаю, все регулярные выражения пока накрыли. Инструменты рефакторинга обрабатывают ваш код как структурированный код, а не просто текст. Я нашел упоминание о двух надстройках Visual Studio, которые могут это сделать:
(Инверсия присваивания не является технически рефакторингом, поскольку изменяет поведение программы, но большинство инструментов рефакторинга расширяют возможности означает включение других подобных модификаций общего кода.)
Вы можете выполнять поиск и замену с помощью регулярных выражений в Visual Studio, но было бы безопаснее просто выполнить обычный поиск и замену для каждого назначения, которое вы хотите изменить, а не массового изменения.