Настройка notepad для 1с

Обновлено: 06.07.2024

Не будем перечислять все его и без того известные функции, вместо этого остановимся на тех, которые могут пригодиться именно 1С-Программисту.

Подсветка синтаксиса встроенного языка

Может пригодиться, если, например, нужно написать код в режиме Предприятия. Штатно этой функции в Notepad++ нет, всё-таки заграницей про 1С «ни слухом, ни духом» (сама фирма 1С активно борется с этой безинвестностью). Однако, редактор позволяет добавлять свои варианты синтаксиса. Прилагаю xml , который поможет это сделать.

Подсветка языка запросов


Обычная ситуация, когда может пригодиться такая функция — Вам нужно проанализировать большой запрос без использования конструктора. Делается аналогично предыдущему пункту. Xml так же прилагаю.

Сравнение модулей


Очень удобный инструмент, позволяющий сравнить 2 исходных кода с отображением карты различий и синхронизацией прокрутки. Вызывается командой « Плагины » — « Compare » — « Compare «. Перед этим необходимо один из кодов поместить в боковое окошко. Для этого кликаем по корешку файла и в контекстном меню выбираем " Переместить в другую область" .

Редактирование исходных кодов на других «сопутствующих» языках


Поскольку 1С имеет достаточно широкие возможности интеграции (а кое-где и кастомизации), 1С-программисту приходится иметь дело не только с привычным русскоязычным фреймворком, но и уметь писать/анализировать код на некоторых более «классических» языках. Здесь могут быть JavaScript, php, ini, VBA. Особенно хочется отметить удобный редактор xml-файлов в notepad++.

Макросы


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


«Горячие» заметки

Номер телефона клиента, код элемента справочника с ошибкой, вырезка статьи из браузера, «безмолвное» общение в режиме удаленного управления, обрывки исходного кода и т.д. Просто открываете notepad++, двойным кликом создаете новую вкладку и пишете туда свои заметки. Не нужно держать для этого «тяжелый» Word или десятки окон классического блокнота. Всё в одном месте, и занимает минимум машинных ресурсов. Впоследствии можно решить, которые из этих заметок нужно сохранить, а какие — удалить безвозвратно. Кстати, в последних версиях npp, открытые файла сохраняются автоматически при выходе из программы.

В данной статье кратко затрону сразу несколько тем по языку программирования РусскийФокс. Более подробно можно почитать в руководстве по РусскийФокс и попробывать примеры во вложении к данной статье. Особо интересно будет почитать про создание объектов в РусскийФокс, так как я декларирую РусскийФокс, как пока единственный русскоязычный объектно-ориентированный язык программирования.

Кратко расскажу, как настроить Notepad++ для работы (подробное описание в руководстве по РускийФокс см.вложение). В настройках перечислены все основные операторы и функции. Я умышлено 1С-подобные функции и операторы выделил в отдельную группу, так как их описание и метод работы вы можете изучать по документации и учебникам 1С. При желании 1С-подобные операторы и функции вы можете выделять особым цветом. Умышлено не предлагаю закачать готовую настройку, так как полезней научиться настраивать NotePad++ под свои нужды. Лично я не нашел в интернете нормального описания для самостоятельной настройки последней версии.

Для настройки выделения цветом в NotePad++ следует выбрать меню «Синтаксисы» - «Задать свой синтаксис». Назовем его «RusFox».

Начнем с последней вкладки «Операторы и разделители». Разделитель 1 ставим символ двойные кавычки в поле «Открытие» и в поле «Закрытие». Разделитель 2 аналогично ставим одинарные кавычки. Для строковых значений вы можете применять одинарные или двойные кавычки. По кнопке «Стиль» настраиваем шрифт и цвет фона и символов. В Операторы один заносим строку «- " ( ) * , ; [ \ ] + < = > %» и настраиваем стиль.

На вкладке «Комментарии и числа» Комментарий строки в поле «Открытие» заносим «//» и настраиваем стиль.

Больше всего настроек на вкладке «Ключевые слова». 1-ая группа включить Префикс режим и копируем туда 1С-подобные операторы:

Список 1С-аналогов ключевых операторов (24 оператора);

КОНЕЦЕСЛИ; ЕСЛИ ИНАЧЕ КОНЕЦПРОЦЕДУРЫ КОНЕЦФУНКЦИИ ТОГДА ПРОЦЕДУРА ФУНКЦИЯ ВОЗВРАТ ДЛЯ ПО КОНЕЦЦИКЛА; ЦИКЛ И ИЛИ НЕ ПЕРЕМ ПОКА КОНЕЦПОКА; ПРЕРВАТЬ; ПРОДОЛЖИТЬ; ПОПЫТКА ИСКЛЮЧЕНИЕ КОНЕЦПОПЫТКИ;

Настраиваем стили для всех групп с 1-ой по 6-ую.

2-ая группа включить префикс режим и скопировать те же операторы, только в привычном для 1С-ников виде, которые поддерживаются РусскийФоксом:

КонецЕсли; Если Иначе КонецПроцедуры КонецФункции Тогда Процедура Функция Возврат Для По КонецЦикла; Цикл Пока Мин( Макс(

3-я группа и далее префикс режим выключен, в нее копируем список 1С-подобных функций, которые понимает РусскийФокс. Я их выделяю синим цветом. Список аналогов функций 1С (44 функции):

СокрЛП Сообщить СтрНачинаетсяС СтрЗаканчиваетсяНа Строка Вопрос Число ВРег НРег КодСимвола Символ ТекущийКаталог ФайлСуществует ЗакрытьФайл СтрНайти ТекущаяДата ДобавитьМесяц ДеньНедели ДеньГода НеделяГода Год Месяц День Дата Час Минута Секунда НачалоГода НачалоКвартала НачалоМесяца НачалоНедели НачалоДня НачалоЧаса НачалоМинуты КонецГода КонецКвартала КонецМесяца КонецНедели КонецДня КонецЧаса КонецМинуты ВвестиЗначение Цел Окр

4-ая группа — это операторы, которые не имеют аналогов в 1С. Пояснения по данным операторам см.в руководстве «РусскийФокс»

НАБОР_УСЛОВИЙ ЛПЕРЕМ ПАРАМЕТРЫ ЛОЖЬ ИСТИНА ОПИСАНИЕ_МАССИВА КАК ЗАЩИЩЕННОЕ_СВОЙСТВО ОПРЕДЕЛИТЬ_ОБЪЕКТ ЭТОТ_ОБЪЕКТ КОНЕЦ_ОПРЕДЕЛЕНИЯ_ОБЪЕКТА БАЗОВЫЙ_ОБЪЕКТ _ПРИ_ПОЛУЧЕНИИ_ЗНАЧЕНИЯ_СВОЙСТВА _ПРИ_ИЗМЕНЕНИИ_ЗНАЧЕНИЯ_СВОЙСТВА КОНСТАНТА ОТМЕНИТЬ_КОНСТАНТУ МЕТОД_РОДИТЕЛЯ СКРЫТОЕ_СВОЙСТВО ПРИ_ИНИЦИАЛИЗАЦИИ_ОБЪЕКТА ПРИ_УДАЛЕНИИ_ОБЪЕКТА

5-ая и 6-ая группа — это функции, которые не имеют аналогов в 1С. Пояснения по данным операторам см.в руководстве «РусскийФокс»

ОбратнаяСтрока СтрокуМеждуРазделителями СтрЧислоВхождений СравнитьСтрокуПоМаске ОткрытьФайлДляЧтения ЧитатьСтрокуИзФайла ВернутьКоличествоДнейВМесяце НазваниеМесяца СтрокаЗаПериод ПолучитьТекущуюРазрядностьЧисел УстановитьРазрядностьЧисел ГрадРад РадГрад Тангенс Арктангенс Арксинус Синус Косинус Арккосинус Экспонента ЧислоПи ПсевдоСлучайноеЧисло КоличествоВМассиве КоличествоСтрокВМассиве КоличествоКолонокВМассиве ВставитьСтрокуВМассив СодержимоеМассиваВСтроку СортироватьМассив УдалитьСтрокуИзМассива ВыборИзМассива СписокФайловВМассив НовыйМассив

НовыйОбъект УдалитьОбъект КонецФайла ПоследняяЗапись

На вкладке «Стандартный» можно настроить сворачивание строк, а так же указать расширение «rus», чтоб при открытии файлов с таким расширением подключался стиль «RusFox».

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

Множество более редких функций РусскийФокса содержатся в объектах, но этот список будет слишком обширным потому смотрите его в руководстве «РусскийФокс».

Методы работы с массивами в РусскомФоксе отличаются от 1С.

А теперь я расскажу, как создавать и наследовать объекты на языке программирования РусскийФокс.

Описание объекта начинается с оператора ОПРЕДЕЛИТЬ_ОБЪЕКТ , а заканчивается оператором КОНЕЦ_ОПРЕДЕЛЕНИЯ_ОБЪЕКТА

ОПРЕДЕЛИТЬ_ОБЪЕКТ Объект1 КАК БАЗОВЫЙ_ОБЪЕКТ

ЗАЩИЩЕННОЕ_СВОЙСТВО Свойство2 // К этому совойству нельзя обратиться извне, но можно из потомков

СКРЫТОЕ_СВОЙСТВО Свойство4 // К этому совойству нельзя обратиться извне и нельзя из потомков

Свойство1 = 'Любой текст'

Свойство2 = 2 // Это защищенное свойство

Свойство4 = 4 // Это скрытое свойство

КОНЕЦФУНКЦИИ "Это Объект1"

КОНЕЦФУНКЦИИ 'Это простая функция'

ФУНКЦИЯ Свойство3 _ПРИ_ПОЛУЧЕНИИ_ЗНАЧЕНИЯ_СВОЙСТВА

Сообщить ( 'Это особая функция, которая вызывается, если вы пытаетесь получить значение свойства Свойство3' )

ВОЗВРАТ ЭТОТ_ОБЪЕКТ . Свойство3 // вы можете не возвращать свойство и его значение извне нельзя будет получить

ФУНКЦИЯ Свойство3 _ПРИ_ИЗМЕНЕНИИ_ЗНАЧЕНИЯ_СВОЙСТВА (Значение)

Сообщить ( 'Это особая функция, которая вызывается, если вы пытаетесь присвоить значение свойству Свойство3' )

ЭТОТ_ОБЪЕКТ . Свойство3 = Значение // Вы можете не присваивать, тогда изменить свойство извне будет невозможно

ЭТОТ_ОБЪЕКТ . Свойство2 = Значение

КОНЕЦФУНКЦИИ ЭТОТ_ОБЪЕКТ . Свойство2

КОНЕЦ_ОПРЕДЕЛЕНИЯ_ОБЪЕКТА

Оператор ЗАЩИЩЕННОЕ_СВОЙСТВО запрещает доступ и изменение перечисленных после него свойств за пределами класса, сам класс и потомки доступ имеют.

Оператор СКРЫТОЕ_СВОЙСТВО запрещает доступ вне класса даже потомкам.

Оператор _ПРИ_ПОЛУЧЕНИИ_ЗНАЧЕНИЯ_СВОЙСТВА вынуждает вызывать данную функцию для свойства, которое названо вначале названия функции (в данном случае Свойство3). Когда кто-то извне пытается прочитать значение свойства, будет вызвана данная функция.

Оператор _ПРИ_ИЗМЕНЕНИИ_ЗНАЧЕНИЯ_СВОЙСТВА вынуждает вызывать данную функцию для свойства, если кто-то извне пытается записать значение в свойство.

Для защищенного свойства2 мы вынуждены написать функции доступа, иначе к нему нельзя будет обратиться извне.

Создадим потомка объекта «Объект1»

ОПРЕДЕЛИТЬ_ОБЪЕКТ Объект2 КАК Объект1

Сообщить ( "При создании объекта вызывается данная функция" )

КОНЕЦФУНКЦИИ "Это Объект2, который создан от " + МЕТОД_РОДИТЕЛЯ()

Сообщить ( "При удалении объекта вызывается данная функция" )

КОНЕЦ_ОПРЕДЕЛЕНИЯ_ОБЪЕКТА

В объекте потомке мы переопределили метод КтоЭто(), но внутри его вызвали метод родителя оператором МЕТОД_РОДИТЕЛЯ()

В объекте потомке мы создали функцию ПРИ_ИНИЦИАЛИЗАЦИИ_ОБЪЕКТА (), которая будет вызываться всякий раз при создании объекта2. Еще мы создали функцию ПРИ_УДАЛЕНИИ_ОБЪЕКТА (), которая будет вызываться при удалении объекта.

Возможно, когда в 1С или в 1Script можно будет создавать объекты, то разработчики воспользуются моим синтаксисом, чтоб мне не переписывать свой синтаксис под них ; -)

image

Вообщем качаем и нажимаем установить. Выбираем папку для установки, а в слудующем окне выберем галочки: «Don`t use %APP», что позволит не исспользовать «Application Data» что более удобно. А также галочку на «Create Shortcut», что позволит установить ярлык на рабочий стол.

Остальный галки стоят по умолчанию.
Далее завершаем установку и запускаем программу.

1. Шаг Настройка окна

Идем в Опции -> Настройки -> Резерв/Автозавершение.

image

В подпункте «Автозавершение» ставим галку «Включить для каждого ввода» -> «завершение функции», а также галочку на «Подсказка при вводе функции».

image

Эта манипуляция позволит вам корректно включать автозавершение функций при нажатии комбинации «Ctrl + Space»
Для того что NPP помогал вам закрывать скобки при открытии необходимо проставить 3 галочки в пункте TextFx->TextFx Settings

image

Далее переходим на вкладку «Новый документ». В нем ищем пункт «Кодировка». Выбираем «UTF без метки BOM» — для того, чтобы в дальнешенм небыло проблем с кодировкой в создаваемых файлах.

image

Лично я часто исспользую файлы Drupal, а они имеют расширение *.module а также *.inc. Для того, что бы эти расширения NPP понимал как PHP необходимо в «Опции» -> «Определение стилей» найти язык PHP и дописать в «Польз. расширения» — module inc

image

Последний штрих по настройке окон. Добавляем новую вкладку, нажимая на первую пиктограму свеху. В новой вкладке вызываем контекстное меню и выбираем пункт «В другое окно» NPP разобъет рабучую область на два вертикальных окна.
Для удобства вызовем контекстное меню на разделители и выберем пунк меню «Rotate to right».

Документ станем в две горизонтальные полоски. Перетаскиваем ползунка можно будет изменить размер отдаваемое под определенную часть. Теперь вкладки можно будет Добавлять как сверху так и снизу. А также можно открыть один документ и просматривать и изменнять его одновременно и сверху и снизу, для этого необходимо в конртекстном меню ссылки выбрать «Дублировать в другое меню».

2. Дополнительные Плагины

Основным дополнительным плагином является NppFTP. Он позвозяет соединяться по FTP а также при необходимости по SFTP. Для добавления своего сайта необходимо нажать на пиктограму,

которая вызовет справа панель управления проектами NppFtp. Далее необходимо добавить Новый проект нажав на пиктограмме «Profile settings»

Вводин сервер, логин и пароль. Остальные настройки по умолчанию.

image

Еще одним полезным плагином является WebEdit. Для его установки идем в пункт «Плагины» -> «Plugin Manager» -> «Show plugin manager»

Внизу находим WebEdit Данный плагин позволит добавить необходимые теги и тем самым ускорить верску, а также и отладку кода.


Лично я к имеющимся тегам добавил пару своих.
Вот они

символ "|" — означает где будет находиться курсор после нажатия по соответствующей пиктограмме.

Для корректности в разделе "[Toolbar]" нужно указывать номер и название *.bmp файлика.

Необходимая вещь для написании документации с сохранением разметки (синтаксиса) языка 1С.

Копировать в текстовые редакторы можно встроенным в Notepad макросом NPPExport - CopyRTFToClipboard

Добавлена совместимость с Notepad++ 7.9.x

Для работы синтаксиса необходимо перевести текст в кодировку utf -8

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Вот ещё сюда бы ссылку на сам Notepad++ - было б совсем хорошо. А для SciTE случаем нету?
А как вставляется в Word? Копипастом из Ноутпада? Копируется из Notepad Меню-NPPExport-CopyRTFToClipboard, вставляешь просто Paste Плюс авансом - давно было желание иметь в нпп++ этот синтаксис И какие же вещи вы пишите в отдельном НП++ ?
ИМХО неудобно - нет проверки синтаксиса хотя бы в объеме 1С, нельзя менять метаданные, нет подсказки по метаданным. (7) это уже описывать API нужно, впринципе Notepad++ и это поддерживает.

СПАСИБО, плюсую!
Сам хотел сделать, но все руки не дойдут, NP++ супер блокнот.
(7) Писать с нуля код в нем, конечно смысла мало, но как для разборки кода, множественных вставок, замен, поиск по регулярным выражениям и т.д. тут NP++ на несколько голов выше стандартного редактора 1С.

Если доделаете подсветку ключевых слов ( Тогда ), группировки по условным операторам, Если КонеЦесли, Пока Цикл и т.д., а так же директивы препроцессора, и вроде можно как то сделать независимость к регистру т.е. что бы эквивалентными считались Тогда и тогда и ТоГда - будет просто супер!

(7) когда исследуешь исходники от v8Unpack очень приятно будет видеть
знакомую расцветку :D

а так для реальной работы одной подсветки синтакиса маловато

однако плюс поставил - потому что пригодитЦо

knight2007, планы по развитию данной фичи есть, или это уже финал? (12) Расширяю потихоньку количество операторов. По мере работы с документацией по 1С. Буду периодически обновлять.
Можно сделать еще и Autocomplete, но как то странно работает. При добавлении "Стр" и нажатии на Ctrl+Space добавляет СтрСтрДлина, т.е. не затирает уже набранное. Думаю больше раздражать будет, чем помогать :(
(13) Да такие грешки водятся в NP++ (если не ошибаюсь такие проблемы есть и в редакторе E, а он крутейший из крутейших ;) ) при объявлении доп. языков, на мой взгляд Autocomplete не так важно, как полное соответствие ключевых слов и группировки конструкций.
Типов, функций, процедур и т.д. предостаточно в 1С 8.х поэтому их сложно все прописать, но даже если осилишь эту задачу, народ захочет Autocomplete свойх объявлений хранящихся в конфигурации, а это уже совсем космос!
Жду новых версий! Реально пользуюсь своей разметкой в нпаде++ уже 4 года, но не знал, что это необходимо такому количеству пользователей.
Плюс за опережение,распостранение и популяризацию нп++ Расскажите поподробней: как и куда записывать эти файлы, что бы воспользоваться этой надстройкой в блокнот++?
Что-то не могу понять, как же ею пользоваться.
Заранее спасибо. Перепробовал кучу вариантов- не получается. (21) присоединяюсь - перепробовал много способов - не могу подключить никак. Опишите пожалуйста подробно инструкцию по подключению. пардон скачал более новую версию блокнота - получилось. видимо был глюк в старой версии. Заметил недочет - некорректно закрываются процедуры и функции. Когда в конце добавляешь точку с запятой "КонецПроцедуры;" вроде начинает понимать. Видимо как-то надо ; по особому обрабатывать Спасибо за файл разметки.
Подскажите, пожалуйста, как его прикрутить к Notepad++? Прикрепленная инструкция как-то непонятно написано. Заранее спасибо! (24) Можете прочитать на сайте
Пункт "Файлы для Языка определенного пользователем" Интересно. У меня зарезервированные слова не выделяет. Весь текст синий, комментарии зелёные.
Noteoad 5.7 Unicode
Windows 7 Всё, разобрался.
У меня дефолтовая кодировка была установлена UTF8, переключил на ANSI, заработало.
(29) Там со шрифтом критично. Один самый большой минус, что большие и маленькие буквы для Notepad отличаются в русском языке :( (33) Прикольная штука ) Там все завязано на программировании в 7-ке. Плюс нужно OpenConf ставить.
Мне нужен был только синтаксис 7/8. OpenConf для этого ставит круто )

подскажите плиз поподробней как подружить это с Notepad++

я что-то не понял ничего в инструкции

"1. Скачайте файл языка определенного пользователем на ваш компьютер"
что это за файл такой "языка определенного пользователем"

3. Нажмите Пуск, Выполнить, наберите (или скопируйте) %APPDATA%\Notepad++ и нажмите ok
это действие приводит к открытию папки C:\Documents and Settings\tolik\Application Data\Notepad++
какой в нем смысл?

(43) Открываете в редакторе файл
%APPDATA%\Notepad++\userDefineLang.xml или %ProgramFiles%\Notepad++\userDefineLang.xml и вставляете в конец его содержимое файла из сабжа или просто замещаете содержимое, если он у вас пустой.

If you don't have an userDefineLang.xml file already, you can drop this file among your other configuration file, in the Notepad++ Install Folder. It should be named userDefineLang.xml.
Otherwise, open both the existing and new file.
Select all of the new file, copy, and paste at the end of the current file.
This will have created a spurious </Notepad_Plus><Notepad_plus> pair i the middle, each tag on a line by itself. Remove these two consecutive lines.
Close Notepad++.

файла userDefineLang.xml у меня нет ни в %APPDATA%\Notepad++\ ни в %ProgramFiles%\Notepad++\

Но в пункте меню "Синтаксис" у меня присутствуют кодировки по J, С и др.

Если просто скопировать userDefineLang.xml скачанный отсюда, то в код в кодировках 1С не появляется

подскажите плиз что еще можно проверить

(45)
Файла там вначале такого нет.
При добавление файла userDefineLang.xml в путь %APPDATA%\Notepad++\, %ProgramFiles%\Notepad++\
добавится подменю в меню Синтаксис "1С".
Есстественно после перезапуска Notepad++

Для Vista/7 это путь C:\Users\[Имя пользователя]\AppData\Roaming\Notepad++

Файлы будут подсвечиваться с расширением .onec или.onec.txt

Спасибо автору. Сразу не разобрался куда бросать файл userDefineLang.xml. Сначала положил файл в %ProgramFiles%\Notepad++\, а оттуда он не работает. Заработало, когда скопировал файл в %APPDATA%\Notepad++\. Оказывается при инсталяции Notepad++ есть опция использовать папку %APPDATA% или не использовать.

Не раскрашивает файл сохраненный из 1с 8, т.е. в кодировке UTF-8, раскраска появляется только после преобразования в кодировку ANSI (меню Encoding\Convert to ANSI)

Читайте также: