Укажите на обертывание длинных строк кода в Word 2007

Я использую Word 2007 и ввожу код в документ. У меня есть стиль со шрифтом фиксированной ширины и светло-серым фоном и всеми, и я использую Блокнот ++ для подсветки синтаксиса.

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

Существует ли способ автовставить символ стрелки в начале таких перенесенных строк, чтобы указать, что это - та же строка (отчасти как запись через дефис, за исключением длинных линий вместо длинных слов)?

Так, чтобы, например, это:

public static void foo(String abcdefg, Boolean 123, String xyz)

(при условии, что page/box/column/... достаточно широк для показа текста до "123"), был бы отображен как это:

общедоступное статическое пустое нечто (Представляют abcdefg в виде строки, булевская переменная 123,
→String xyz)

3
задан 10.07.2012, 18:36

2 ответа

Я не полагаю, что это - функция в Microsoft Word, однако я предполагаю, что Вы могли эмулировать это при наличии отрицательного выступа и затем установке фонового изображения на абзац, таким образом, что первое 12pts ценность пространства является пробелом, и затем следующей 120pts является стрелка 12 ПБ высотой, размещенная рядом 10 раз. Это позволило бы Вам повреждать более чем 11 строк.

0
ответ дан 08.12.2019, 04:26

Возможно, не ответ, который Вы искали, но Вы могли написать некоторой последующей обработке код 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 и текст по Вашему выбору после каждой длинной линии (на основе количества символов)

Как использовать:

  1. Примените стиль "Код" ко всем Вашим абзацам исходного кода (хорошая идея так или иначе для не использования форматирования руководства). Удостоверьтесь, что Ваш шрифт Стиля кода является шрифтом фиксированной ширины, таким как Курьер.

  2. Вставка копии код в редакторе Visual Basic Word (вводят ALT-F11, нажмите Insert> Module и вставьте код),

  3. В Вашем документе Word рассчитайте, максимальное количество символов на одной строке Вашего кода кода и изменяют значение в макросе к тому значению (в настоящее время 68)

  4. Для выполнения макроса, назад в документе Word нажимают ALT-F8, выбирают FixCodeLines и тираж.

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

Кроме того, если у Вас есть более поздняя версия Office (2003 и т.д.), Вы могли бы испытать некоторые затруднения при сохранении/выполнении документа/макроса из-за безопасности blabla. Считайте все потенциальные диалоговые окна Word с осторожностью, чтобы не терять Ваш код.

0
ответ дан 08.12.2019, 04:26

Теги

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