Я использую Word 2007 и ввожу код в документ. У меня есть стиль со шрифтом фиксированной ширины и светло-серым фоном и всеми, и я использую Блокнот ++ для подсветки синтаксиса.
Моя проблема со строками кода, которые являются слишком длинными для отображения. Они автоперенесены, но затем не очевидно видеть, как точно строки предназначены, чтобы быть, т.е. где новая строка на самом деле.
Существует ли способ автовставить символ стрелки в начале таких перенесенных строк, чтобы указать, что это - та же строка (отчасти как запись через дефис, за исключением длинных линий вместо длинных слов)?
Так, чтобы, например, это:
public static void foo(String abcdefg, Boolean 123, String xyz)
(при условии, что page/box/column/... достаточно широк для показа текста до "123"), был бы отображен как это:
общедоступное статическое пустое нечто (Представляют abcdefg в виде строки, булевская переменная 123,
→String xyz)
Я не полагаю, что это - функция в Microsoft Word, однако я предполагаю, что Вы могли эмулировать это при наличии отрицательного выступа и затем установке фонового изображения на абзац, таким образом, что первое 12pts ценность пространства является пробелом, и затем следующей 120pts является стрелка 12 ПБ высотой, размещенная рядом 10 раз. Это позволило бы Вам повреждать более чем 11 строк.
Возможно, не ответ, который Вы искали, но Вы могли написать некоторой последующей обработке код VBA, который сканирует для длинных линий и вставляет символ, который Вы хотите.
Этот код мог бы получить Вас, запустился (это - готовая вставка копии):
Sub FixCodeLines()
Dim p As Word.Paragraph
Dim c As Word.Range
Dim charcount As Integer
Dim MaxLineLen As Integer
Dim txt As String
Dim styname As String
MaxLineLen = 68 ' number of characters on one line
txt = " --> " ' symbol/text to insert
styname = "Code" ' name of style to process
For Each p In ActiveDocument.Paragraphs
If p.Style = styname Then
charcount = 0
For Each c In p.Range.Characters
charcount = charcount + 1
If (charcount Mod MaxLineLen = 0) Then
c.InsertAfter Chr(11) & txt ' Chr(11) = soft enter
End If
Next
End If
Next
End Sub
Код, для всех разработанных Кодом абзацев, вставит shift-enter и текст по Вашему выбору после каждой длинной линии (на основе количества символов)
Как использовать:
Примените стиль "Код" ко всем Вашим абзацам исходного кода (хорошая идея так или иначе для не использования форматирования руководства). Удостоверьтесь, что Ваш шрифт Стиля кода является шрифтом фиксированной ширины, таким как Курьер.
Вставка копии код в редакторе Visual Basic Word (вводят ALT-F11, нажмите Insert> Module и вставьте код),
В Вашем документе Word рассчитайте, максимальное количество символов на одной строке Вашего кода кода и изменяют значение в макросе к тому значению (в настоящее время 68)
Для выполнения макроса, назад в документе Word нажимают ALT-F8, выбирают FixCodeLines и тираж.
Обратите внимание, что можно только применить этот макрос только однажды, нет никакой аналитики для обнаружения абзацев, которые были уже 'исправлены'. Таким образом, необходимо выполнить его в самом конце подготовки документа.
Кроме того, если у Вас есть более поздняя версия Office (2003 и т.д.), Вы могли бы испытать некоторые затруднения при сохранении/выполнении документа/макроса из-за безопасности blabla. Считайте все потенциальные диалоговые окна Word с осторожностью, чтобы не терять Ваш код.