Направление присвоения инвертирования в Visual Studio [дубликат]

Вы можете добавить новый драйвер ZPL ZebraDesigner в систему и использовать файл в качестве порта. Затем, когда вы «распечатаете» документ, он запишет в файл код ZPL.

Обратите внимание, что перед первым ^XA он может иметь некоторую информацию заголовка, которая вам может не понадобиться.

ОБНОВЛЕНИЕ: (Как добавить локальный порт в драйвере)

  1. Перейти к Printer Properties
  2. Нажмите на вкладку Ports
  3. Нажмите Add Port
  4. Выберите Local Port и нажмите New port
  5. Введите имя файла, например C:\output.zpl
  6. Убедитесь, что он отмечен в списке портов
  7. Теперь все выходные данные печати должны идти в C:\output.zpl
23
задан Alan Moore 19 June 2009 в 00:57
поделиться

6 ответов

Выберите строки, которые вы хотите поменять местами, Ctrl + H, затем замените:

{:i}:b*=:b*{:i};

на:

\2 = \1;

на «Искать в:», установленное на «Выбор»

Это только обрабатывает идентификаторы стиля C / C ++ (через «: i»). Замените это на:

{.*}:b*=:b*{.*};

, чтобы заменить что-либо по обе стороны от «=».

Кроме того, поскольку вы упомянули в комментарии, что используете ReSharper, вы можете просто выделить «=», Alt + Enter и «Reverse» присвоение ».

31
ответ дан 29 November 2019 в 01:27
поделиться

К сожалению, у меня нет Visual Studio, поэтому я не могу попробовать в целевой среде, но если он использует стандартные регулярные выражения, вы, вероятно, могли бы сделать это следующим образом: Найдите « (: Al) = (: Al); » и замените его на « \ 2 = \ 1 ». (\ 1 и \ 2 - это ссылки на первую и вторую группы захвата, в данном случае скобки вокруг \ w: s)

EDIT
Хорошо, не \ w ... Но согласно MSDN , мы можем вместо этого использовать: Al. Отредактировано выше, чтобы использовать это вместо этого.
Кроме того, со страницы MSDN я понял, что это должно работать, поскольку ссылки работают как обычно.

1
ответ дан 29 November 2019 в 01:27
поделиться

как насчет замены всего (CTRL-H)

, вы можете заменить, например, "i = j;" by "j = i;"

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

Мне нравится этот диалог, потому что он позволяет вам выполнять каждую замену. Поскольку вероятность взлома высока, я думаю, что это более безопасное решение

1
ответ дан 29 November 2019 в 01:27
поделиться

См. Этот вопрос: Есть ли способ поменять местами левую и правую части набора выражений в Visual Studio?

В моем ответе на этот вопрос есть макрос который можно использовать для замены назначений блоку кода.

1
ответ дан 29 November 2019 в 01:27
поделиться

Надежный способ сделать это - использовать инструмент рефакторинга . Они знают синтаксис языка, поэтому понимают концепцию «оператора присваивания» и могут правильно выбрать все выражение по обе стороны от оператора присваивания, а не ограничиваться одним идентификатором, как я думаю, все регулярные выражения пока накрыли. Инструменты рефакторинга обрабатывают ваш код как структурированный код, а не просто текст. Я нашел упоминание о двух надстройках Visual Studio, которые могут это сделать:

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

2
ответ дан 29 November 2019 в 01:27
поделиться

Вы можете выполнять поиск и замену с помощью регулярных выражений в Visual Studio, но было бы безопаснее просто выполнить обычный поиск и замену для каждого назначения, которое вы хотите изменить, а не массового изменения.

0
ответ дан 29 November 2019 в 01:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: