Вставка различий в Microsoft Outlook с подсветкой синтаксиса - PullRequest
1 голос
/ 09 мая 2009

Как мне скопировать вывод diff (diff old-version.cpp new-version.cpp) в электронное письмо Outlook, чтобы я мог отправить его другим людям с подсветкой синтаксиса ?

Я бы хотел либо направить вывод diff в программу, которая скопирует его в буфер обмена с форматированием (p4 diff file.cpp | rtfpatch), либо иметь плагин для Outlook, который позволяет мне выбрать какой-либо текст, нажать кнопку, и он будет раскрашен .

Я использую Windows (XP и Vista), Perforce, Visual Studio, Beyond Compare 3, Outlook 2007. Все, что использует комбинацию этих инструментов, будет работать отлично (я не собираюсь менять основную программу сравнения и т. Д.) .).

Ответы [ 5 ]

2 голосов
/ 10 мая 2009

Вы можете использовать команду Beyond Compare «Text Compare Report» в меню Session для этого. Используйте стиль макета «Чередование», стиль вывода «Отчет HTML» и команду «Копировать в буфер обмена», и он скопирует его в буфер обмена в виде цветного HTML. У меня нет Outlook для тестирования, но он, безусловно, работает, вставляя его в Word.

1 голос
/ 28 мая 2010

Другое приличное решение, которое я нашел, это плагин vim. cliphtml.vim дает вам команду :ClipHtml ex, которая скопирует весь файл или выбранную область в буфер обмена с подсветкой vim.

Требуется питон.

0 голосов
/ 09 мая 2009

Я нашел решение для создания командного файла, который отличает файлы от Perforce, с помощью программы p4diff.exe.

Проблема в том, что p4diff выводит весь файл, а не только измененные разделы (я бы также предпочел унифицированный diff). Кроме того, для изменения определенных ревизий требуется вызвать rtfdiff из командной строки (пользовательский инструмент просто сравнивает с HEAD).

p4v custom tool определение (запишите это в tool.xml и затем импортируйте его в меню p4v Manage Custom Tools):

<CustomToolDef>
  <Definition>
    <Name>RTF Diff</Name>
    <Command>c:\scripts\rtfdiff.bat</Command>
    <Arguments>%f</Arguments>
  </Definition>
  <AddToContext>true</AddToContext>
</CustomToolDef>

, где rtfdiff.bat равен

:: Use p4diff to get copy-pasteable diff output.

:: setlocal so we use the default after script terminates
setlocal
set P4DIFF=c:\Perforce\p4diff.exe
:: Diff all inputs to allow multiple revisions (must be in increasing order)
p4 diff %*

Это позволит вам щелкнуть правой кнопкой мыши файл и выбрать «RTF Diff» или вызвать rtfdiff.bat через командную строку (rtfdiff.bat file.txt#1 file.txt#2).

0 голосов
/ 09 мая 2009

Чтобы вставить html в outlook, вы должны попробовать вставить его в источник сообщения. Щелкните правой кнопкой мыши тело сообщения HTML и выберите «Просмотр источника», а затем вставьте в него HTML-код.

Другим способом было бы написать сценарий в командном файле с использованием и установить тело HTML-сообщения, равное вашему тексту HTML и отправить. Есть довольно много примеров отправки электронной почты через скрипт на stackoverflow. Есть несколько способов сделать это в зависимости от того, что вы установили и т. Д. Один пример
Отправка почты из скрипта Windows
используя CDO

0 голосов
/ 09 мая 2009

Многие редакторы имеют возможность экспортировать выделенные синтаксисом файлы в виде HTML. Оттуда вы можете вставить HTML в Outlook. Например, чтобы экспортировать файл в HTML в Vim, используйте :TOhtml.

Это дополнение для Visual Studio также предлагает функцию "экспорта в HTML". Стоит попробовать.

...