Как скопировать код с номерами с помощью UltraEdit?
Когда вы быстро делитесь кодом с членами команды, было бы неплохо вставить код с номерами строк в электронное письмо / документ.
Кто-нибудь знает, как это сделать с UltraEdit?
Текущая проблема: выбранный код ниже
1 PRINT 'WHAT IS YOUR NAME?'
2 INPUT NAME
3 PRINT 'HELLO':NAME
Нет возможности копировать / вставлять с номерами строк, поэтому вставка выглядит так:
PRINT 'WHAT IS YOUR NAME?'
INPUT NAME
PRINT 'HELLO':NAME
Заранее спасибо.
2 ответа
UltraEdit не имеет встроенной команды для копирования выбранных строк с номерами строк в буфер обмена.
Но можно запустить скрипт UltraEdit, чтобы добавить номера строк в текст, скопированный до этого в буфер обмена, прежде чем вставлять блок в приложение электронной почты.
// Get content of clipboard as an array of lines assuming that the
// clipboard contains text data and the lines have carriage return
// plus line-feed as line termination.
if (UltraEdit.clipboardContent.length)
{
var asLines = UltraEdit.clipboardContent.split("\r\n");
// Remove the last string from array if being empty because
// the text in clipboard ends with a line termination.
if (!asLines[asLines.length-1].length) asLines.pop();
// Convert the number of lines to a string using decimal
// system and replace each digit in string by character 0.
var sLeadingZeros = asLines.length.toString(10).replace(/./g,'0');
// Insert at beginning of each line a number with
// leading zeros according to maximum number of lines.
for (var nLine = 0; nLine < asLines.length; nLine++)
{
var sLineNumber = (nLine+1).toString(10);
sLineNumber = sLeadingZeros.substr(sLineNumber.length) + sLineNumber;
if (asLines[nLine].length)
{
asLines[nLine] = sLineNumber + " " + asLines[nLine];
}
else // For an empty line just add the line number without spaces.
{
asLines[nLine] = sLineNumber;
}
}
// Append an empty string to array of lines to have finally the
// block in clipboard terminated with carriage return and line-feed.
asLines.push("");
// Join the modified lines back to a block in clipboard.
UltraEdit.clipboardContent = asLines.join("\r\n");
}
Скопируйте и вставьте этот код скрипта в новый файл ANSI и сохраните его, например, с именем файла Add Line Numbers.js
, Затем добавьте этот сценарий в список сценариев без горячей клавиши для выполнения из списков сценариев после копирования блока в буфер обмена или с помощью горячей клавиши или аккорда (назначение нескольких клавиш) для быстрого выполнения по клавише.
Конечно, также возможно, что сам скрипт создает копию выбранного текста.
И также возможно использовать реальные номера строк в активном файле, когда слегка измененная версия этого скрипта выполняется для выделенного текста в активном файле вместо содержимого буфера обмена.
Я получил ответ на этот вопрос от IDM Computer Solutions (производитель UltraEdit):
Спасибо за ваше сообщение. Сожалею, что эта функция в настоящее время недоступна.
Но это было запрошено ранее, и мы рассматриваем это. Я добавил ваши контактные данные в наш журнал по теме, и мы сообщим вам, когда будет выпущена обновленная сборка, включающая эту возможность.