Книга описывает базовые понятия программирования применительно к языку макросов Datamine. На основе реальных примеров объясняются разновидности алгоритмов, основы хорошего стиля и рассматриваются некоторые хитрости написания универсальных макросов. Книга ориентирована на геологов, работающих с Datamine и желающих увеличить свою продуктивность. Книга сопровождается большим количеством примеров и заданий, основанных на геологических задачах.
Приведённый ознакомительный фрагмент книги «Макросы Datamine. Ресурсный геолог» предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
Инструменты разработки
На данный момент мы уже знаем, что макрос — это текстовый файл. Чем можно создавать и редактировать текстовый файл? Очевидно, текстовым редактором. Каким? Да хоть бы и штатным «Блокнотом». И в родном учебнике Datamine все скриншоты макросов приведены именно с использованием этого бессмертного редактора.
Учебник по макросам
Однако «можно» — не значит «нужно». Вообще, рекомендовать использовать «Блокнот» для написания макросов можно только злейшему врагу. Никому другому «Блокнот» для этих целей рекомендовать не стоит. Поскольку мы не питаем столь сильных чувств к читателям данной книги, то и рекомендовать использовать «Блокнот» не будем. А что будем? А будем любой из перечисленных ниже:
— Sublime Text;
— Visual Studio Code;
— Notepad++.
Выбор инструмента для работы — штука сугубо интимная, и никого ни к чему принуждать не собираемся. Далее кратко опишем упомянутые инструменты.
Sublime Text
Текстовый редактор для написания программного кода на различных языках программирования, а также верстки веб-документов. Распространяется по платной лицензии, но имеет абсолютно бесплатную ознакомительную версию, которая покрывает 146% потребностей специалиста, работающего с макросами Datamine.
Ключевые возможности редактора
Этот текстовый редактор изначально создавался с ориентацией на программистов и веб-разработчиков. Отсюда и соответствующий функционал, большую часть которого использовать в работе над макросами мы не будем. Ниже описаны только те возможности, которые нам интересны и которыми мы будем пользоваться.
Настраиваемый интерфейс. Внешний вид можно адаптировать под конкретные задачи. Например, для работы с несколькими файлами макросов одновременно можно настроить режим, при котором сразу будут показываться до 4 окон. Данную функцию мы будем использовать, когда захотим скопировать у кого-нибудь (да даже и у себя) кусок кода и вставить в свой макрос (естественно, с указанием авторства). Также можно просматривать разные фрагменты одного и того же файла макроса.
Работа с двумя файлами одновременно
В дополнение к этому можно настраивать визуальную часть интерфейса — для этого предусмотрены встроенные темы и возможность загрузки дополнительных.
Различные темы и цветовые стили
Для удобства работы также есть настраиваемые комбинации командных клавиш1, палитра часто используемых команд и т. д.
Множественный ввод. Эта функция позволяет с помощью указателей, расставленных в различных частях макроса, одновременно редактировать сразу несколько фрагментов. Можно, например, написать имя файла одновременно в поле выходного файла для одного процесса и в поле входного файла для другого процесса.
Автоматическое заполнение. При написании макроса редактор предлагает несколько вариантов окончания записи. Это не только ускоряет написание кода, но и снижает вероятность ошибок.
Подсветка синтаксиса. Основные элементы синтаксиса выделяются различными цветами, что не только улучшает их визуальное восприятие, но и делает макрос более понятным всем, кто его читает. По умолчанию синтаксис Datamine, естественно, не предустановлен. Но ничто не запрещает вам создать свою личную, подходящую вам, подсветку, либо же воспользоваться подсветкой2, созданной одним из автором данной книги для себя.
Подсветка синтаксиса
Заготовки (сниппеты). При написании макроса часто применяются одни и те же команды. Чтобы не нужно было тратить время на их повторный набор, можно сохранить такие команды для повторного использования, а также ключевые слова для их запуска.
Автосохранение в памяти. При закрытии программы в ее памяти остается все, что там было на момент закрытия — вне зависимости от того, сохранили ли вы это явным образом или нет.
Подключение плагинов. С помощью подключаемых модулей можно серьезно расширять базовый функционал редактора. Плагины используются как для работы с различными языками программирования, так и для получения дополнительных возможностей, таких как совместная работа над одним проектом в нескольких редакторах (не обязательно Sublime), организация рабочих задач, подключение к системам управления версиями и т. д. Некоторые плагины абсолютно бесплатные, другие требуют регистрации, третьи полностью платные.
Преимущества
— Широкая функциональность. За счет достаточно разнообразного набора встроенных возможностей редактора, а также подключаемых расширений, редактор представляет собой, по сути, упрощенную среду разработки, а не просто инструмент для написания макроса. Помимо написания макросов, в нем можно писать скрипты, а также создавать интерфейс для запуска скриптов и макросов, т. к. редактор позволяет работать с HTML-разметкой.
— Быстродействие. Благодаря оптимизации собственного кода, а также выделения плагинов в отдельный процесс, редактор запускается и работает быстро даже с документами, состоящими из миллионов строк кода. Хотя на практике вряд ли вам встретятся такие объемные макросы. Авторы данной книги не встречали, да и сами не писали, макросы, в которых было бы больше 10000 строк.
— Простой и понятный интерфейс. Рабочая область в редакторе организована максимально удобно. Благодаря этому можно выполнить настройку под конкретные задачи, применять визуальное выделение, разграничивать на отдельные зоны для параллельной работы с несколькими файлами, часто используемые команды вывести на отдельную панель и т. д. Это не только облегчает работу уже опытному «макросописцу», но и снижает порог вхождения для новичков. Кроме того, минималистичный интерфейс редактора не перегружен ненужными функциями и легко воспринимается пользователем.
— Широкая поддержка. Редактор постоянно развивается основным разработчиком — компанией Sublime HQ. Для него выпущена подробная официальная документация, различные справочные и вспомогательные материалы. Также вокруг этого редактора сложилось достаточно широкое сообщество, представители которого пишут разнообразные плагины и помогают в решении возникающих проблем.
— Portable-версия. Если у вас нет прав администратора и вам запрещено устанавливать на компьютер программное обеспечение, то вы всегда можете скачать portable-версию с официального сайта и пользоваться ею.
Недостатки
— Нет готовых сниппетов.
Итог
Удобный, многофункциональный редактор кода, предоставляющий специалисту, который пишет макросы Datamine, широкие возможности. Он подойдет как профессионалу, так и начинающему макрописателю за счет гибко настраиваемого и минималистичного интерфейса, большого числа вспомогательных функций, упрощающих и ускоряющих написание макросов.
Visual Studio Code
Редактор Visual Studio Code (давайте дальше его для краткости именовать VSCode) распространяется свободно, то есть даром, компанией Microsoft. Скачивается с официального сайта3.
Ключевые возможности редактора
VSCode является «штатным» текстовым редактором для интегрированной среды программирования Visual Studio4, распространяемой Microsoft. Извлеченный из этой IDE, он сохранил многие полезные особенности «старшей сестры» (из которых, правда, далеко не все будут полезны при макрописательстве):
— Многоязычный интерфейс (русский в комплекте). Если у вас русскоязычная Windows, редактор при установке, скорее всего, это поймет и включит русский интерфейс по умолчанию.
— Поддерживаются темы оформления. Темная есть в базовой поставке. Создать свою тоже большой сложности не представляет.
Различные темы и цветовые стили
— Присутствует подсветка синтаксиса многих языков программирования по умолчанию (как-никак в «прошлой жизни» это была IDE). Правда, для подсветки языка макросов Datamine необходимо скачать и установить плагин.
— Поддерживается автозавершение слов: редактор по первым буквам вводимого слова пытается угадать, что хочет ввести пользователь, и предлагает варианты. Предлагаемые варианты автозавершения зависят от того, на каком языке программирования вы сейчас работаете. Например, VSCode не будет предлагать варианты автозавершения из Python или JavaScript после того, как догадается, что вы пишете макрос под Datamine. Также в списке вариантов автозавершения присутствуют слова, которые в активном документе уже есть.
— Поддерживает сниппеты (в русскоязычном варианте интерфейса они названы «пользовательские фрагменты кода»). Штука крайне полезная, позволяющая «вместо тысячи слов» набрать одно, которое будет заменено заготовкой, например, для запуска процесса или организации того или иного фрагмента вашего алгоритма (цикла, подпрограммы и т. д.). Можно создать свой файл сниппетов, можно скачать с репозитория, а можно воспользоваться списком сниппетов5, созданным одним из автором данной книги для себя.
— Если в один прекрасный день вам вдруг нестерпимо захочется написать код на каком-либо распространенном языке программирования — типа того же Python, VSCode позволит вам выполнять запуск и отладку вашего кода непосредственно в редакторе (правда, для этого тоже нужен отдельный плагин).
— Официальный репозиторий (хранилище плагинов и тем). Среди них встречаются и весьма полезные — как уже было сказано, например, с подсветкой синтаксиса и сниппетами для макросов Datamine.
Плагин подсветки синтаксиса макросов Datamine
— Если вы пользуетесь Git, редактор позволит вам контролировать версии с его помощью. Если это страшное слово вам ни о чем не говорит, сильно не расстраивайтесь — в конце концов, и мы и вы как бы не совсем программисты.
— Поддерживается работа со вкладками и разделение окна: как по горизонтали, так и по вертикали, что позволяет работать одновременно с разными фрагментами вашего документа или с разными файлами.
— Поддерживается уже известный нам множественный ввод.
— Присутствует автосохранение вкладок. При закрытии программы в ее памяти остается все, что там было на момент закрытия — вне зависимости от того, сохранили ли вы это явным образом или нет.
Разбиение рабочего окна на части. Приведенный пример, конечно, непрактичен, но при наличии крайне широкого монитора или нескольких не крайне широких — почему бы и нет?
— Редактор официально поддерживает переносной режим. Как его использовать, подробно объясняется здесь6 (да, надо немного владеть языком Вильяма нашего Шекспира… ну или онлайн-переводчиком на худой конец). Очень полезное свойство, которое позволяет пользоваться удобствами VSCode, даже если вам на работе запретили самостоятельно ставить новое ПО. Ну или как вариант — если вам придется работать на чужом компьютере.
— У редактора есть официальная онлайн-версия7 со всеми удобствами, что позволяет вам ваять макросы хоть бы и на планшете под «андроидом» (пробовали, получается).
VSCode довольно популярен среди любителей что-нибудь напрограммировать, поэтому решение большинства проблем и задач несложно найти на просторах Всемирной сети.
Notepad ++
Свободный текстовый редактор с открытым исходным кодом. Распространяется по лицензии GNU 3.0+ (General Public License), скачать можно на официальном сайте8. Данное лицензирование можно отнести как к плюсам — полностью бесплатное использование для любых нужд, так и к минусам — не использует платные инструменты и решения. Но для работы с макросами Datamine базовые функции Notepad++ сполна покрывают все необходимые потребности.
Ключевые возможности редактора
Данный редактор является одним из стандартов де-факто для разработки ПО на огромном количестве языков программирования, в том числе поддерживает синтаксисы нескольких достаточно редких языков программирования. Позволяет открывать, редактировать, сохранять файлы в более чем ста форматах. По умолчанию редактор поддерживает подсветку и автодополнение кода нескольких десятков языков программирования.
Так же редактор поддерживает множество видов кодировок, в том числе Windows-1251, и позволяет проводить преобразование кодировок для документа.
Настраиваемый интерфейс. Есть возможность настройки внешнего вида интерфейса программы, позволяет настроить и дополнить контекстное меню под конкретные задачи. Присутствует возможность работы в двух окнах для одновременного редактирования файлов (но, к сожалению, поддерживает только два окна), включение «карты» файла.
Присутствует возможность выбора и настройки визуальных стилей, загрузка готовых стилей, которые в огромном количестве созданы пользователями.
Работа с двумя файлами одновременно
Множественный ввод. Как и в редакторах, описанных ранее, Notepad++ поддерживает функцию множественного ввода.
Автоматическое заполнение. Также поддерживается автоматическое окончание записи.
Автосохранение в памяти. При закрытии программы в ее памяти остается все, что там было на момент закрытия — вне зависимости от того, сохранили ли вы это явным образом или нет. Также при редактировании файла визуально подсвечиваются строки, в которые были внесены изменения (в примере: оранжевая полоса напротив номера строки).
Подсветка синтаксиса. Редактор поддерживает и имеет готовые настройки подсветки синтаксиса для множества языков. Еще больше готовых вариантов можно скачать из сети. К сожалению, подсветки синтаксиса языка макросов Datamine нет, но редактор без проблем позволяет создать свой собственный набор для подсветки.
Заготовки (сниппеты). К сожалению, Notepad++ изначально не поддерживает функцию сниппетов. Но при желании можно добавить данный функционал, используя плагины.
Подключение плагинов. К редактору можно найти большое количество плагинов, которые значительно расширяют возможности при редактировании файлов. Все плагины полностью бесплатны и находятся в свободном доступе.
Portable-версия. Редактор официально поддерживает переносной режим. Скачать версию Portable можно с официального сайта, ссылка на который была приведена ранее.
$ Задание 2.1
Запустится ли данный макрос?
A) Да
B) Конечно нет. Datamine — уважаемое ПО и не запускает макросы, написанные в «Блокноте»
C) Нет. Datamine не понимает код без подсветки синтаксиса
Приведённый ознакомительный фрагмент книги «Макросы Datamine. Ресурсный геолог» предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других