Расширение файла json

Содержание:

Типы данных, синтаксис и пример

Основными типами данных JSON являются:

Число: десятичное число со знаком, которое может содержать дробную часть и может использовать экспоненциальную нотацию E, но не может включать не-числа (например, NaN). Формат не делает различий между целыми и числами с плавающей запятой. JavaScript использует формат двойной точности с плавающей запятой для всех своих числовых значений, но другие языки, реализующие JSON, могут кодировать их по-разному.

  • Строка: последовательность из нуля или больших символов Unicode. Строки разделяются знаками двойных кавычек и поддерживают синтаксис обратной косой чертой.
  • Литералы: любое из значений true или false.
  • Массив: упорядоченный список из нуля или более значений, каждый из которых может быть любого типа. Массивы используют квадратные скобки с запятыми.
  • Объект: неупорядоченный набор пар имя/значение, где имена (также называемые ключами) являются строками. Поскольку объекты предназначены для представления ассоциативных массивов, рекомендуется (хотя и не обязательно), чтобы каждый ключ был уникальным внутри него. Объекты разделяют фигурными скобками и используют запятые для разделения каждой пары, в то время как внутри каждой из них символ двоеточия отделяет ключ или имя от его значения.
  • Null: Пустое значение, использующее слово null.

Ограниченные пробелы разрешены и могут быть выставлены вокруг или между синтаксическими элементами (значения и пунктуации, но не в пределах строкового значения). Для этой цели только четыре специальных символа считаются пробелами: пробел, горизонтальная вкладка, перевод строки и косая черта. В частности, метка байтового порядка не должна генерироваться соответствующей реализацией (хотя она может быть принята при синтаксическом анализе JSON). Запрос в формате JSON не предоставляет синтаксиса для комментариев.

Ранние версии (например, указанные в RFC 4627) требовали, чтобы действительный документ состоял только из объекта или типа массива, который мог содержать другие типы внутри них. Такой JSON-формат, пример которого можно найти на устаревших веб-страницах, в настоящее время не используется.

Сериализация типа Дата

Данные типа Дата сериализуются в JSON автоматически, а вот обратное преобразование (десериализация) может быть выполнено не всегда. JSON не содержит типа Дата, значения даты представляются в нём строкой. Конечно, существуют некоторые форматы представления дат, но вообще говоря, внешний вид такой строки может быть самым разнообразным.

Для сериализации типа Дата в JSON у метода ЗаписатьJSON() вы можете использовать параметр НастройкиСериализации. Это объект встроенного языка, который позволяет указать, в каком варианте будет записана дата (UTC, локальная дата или локальная дата со смещением) и в каком формате (ISO, JavaScript или Microsoft).

Код 1С:Предприятия:

Текст JSON:

При чтении даты из JSON всё обстоит сложнее. В параметре ИменаСвойствСоЗначениямиДата вы можете перечислить те свойства JSON, значения которых нужно преобразовать в дату 1С:Предприятия (тип Дата). А в параметре ОжидаемыйФорматДаты вам нужно указать, в каком формате эти данные содержатся в JSON (ISO, JavaScript или Microsoft).

Текст JSON:

Код 1С:Предприятия:

Однако если окажется, что в какой-то момент формат данных JSON не совпадает с ожидаемым форматом, будет вызвано исключение.

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

Устранение неполадок при открытии файлов JSON

Общие проблемы с открытием файлов JSON

Mozilla Firefox не установлен

Дважды щелкнув по файлу JSON вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено Mozilla Firefox для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

Совет: Если вам извстна другая программа, которая может открыть файл JSON, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.

Установлена неправильная версия Mozilla Firefox

В некоторых случаях у вас может быть более новая (или более старая) версия файла Mozilla Firefox Bookmarks Backup, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО Mozilla Firefox (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла JSON, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов JSON, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.

Даже если на вашем компьютере уже установлено Mozilla Firefox или другое программное обеспечение, связанное с JSON, вы все равно можете столкнуться с проблемами во время открытия файлов Mozilla Firefox Bookmarks Backup. Если проблемы открытия файлов JSON до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Использование JSON в HTTP интерфейсах приложений

Автоматически генерируемый REST интерфейс прикладных решений

При обращении к REST интерфейсу прикладного решения вы можете получать ответ в формате JSON. Для этого в адресной строке вам нужно указать параметр $format=json. Либо указать MIME тип «application/json» в заголовке Accept HTTP запроса. Например:

Запрос:

GET /TestInfobase/odata/standard.odata/СправочникДляТестов?$format=json HTTP/1.1
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json
Accept-Charset: UTF-8
User-Agent: Microsoft ADO.NET Data Services

Ответ:

HTTP/1.1 200 OK
Content-Length: 9429
Content-Type: application/json;charset=utf-8
Server: Microsoft-IIS/7.5
DataServiceVersion: 3.0
X-Powered-By: ASP.NET
Date: Mon, 12 Aug 2013 09:44:07 GMT
    
{
"odata.metadata":"http://host/svc/$metadata#СправочникДляТестов",
"value":[
{
	"Ref_Key":guid'cc6a7df3-8cfe-11dc-8ca0-000d8843cd1b',
	"DataVersion":"AAAAAQAAAAE",	
	"DeletionMark":false,
	"Parent_Key":guid'bbb079ae-8c51-11db-a9b0-00055d49b45e',
	"IsFolder":false,
	"Code":000000025,
	"Description":"Пинетки",
	"Поставщик_Key":guid'd1cb82a7-8e8b-11db-a9b0-00055d49b45e',
	"Поставщик@navigationLinkUrl":"СправочникДляТестов(guid'cc6a7df3-8cfe-11dc-8ca0-000d8843cd1b')/Поставщик",
	"РеквизитХранилище_Type": "image/jpeg",
	"РеквизитХранилище_Base64Data@mediaReadLink": "Catalog_ДемоСправочник(guid'cf2b1a24-1b96-11e3-8f11-5404a6a68c42')/РеквизитХранилище_Base64Data",
	"РеквизитХранилище_Base64Data": <строка с закодированными данными>
	…
},
{…},
{…}
]
}

Вы можете управлять объёмом передаваемой информации за счёт изменения детальности представления метаданных в выгрузке. Существуют три уровня: Nometadata, Minimalmetadata и Fullmetadata. По-умолчанию (на примере вверху) используется средний уровень — Minimalmetadata. На уровне Nometadata объём передаваемой информации минимальный, а на уровне Fullmetadata — максимальный. Однако при этом нужно понимать, что сокращение объёма передаваемой информации приводит к более интенсивным вычислениям на клиенте. И наоборот, когда вся информация включается в выгрузку, объём вычислений на клиенте будет минимальным.

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

Сведения о метаданных не передаются:

GET /TestInfobase/odata/standard.odata/СправочникДляТестов/?$format=application/json;odata= minimalmetadata

Вся информация о метаданных включается в выгрузку:

GET /TestInfobase/odata/standard.odata/СправочникДляТестов/?$format=application/json;odata=fullmetadata

HTTP-сервисы прикладного решения

HTTP-сервисы, реализованные в прикладном решении, также могут возвращать ответ в формате JSON. Для этого вам проще всего сформировать тело ответа в JSON, получить его как строку, а затем установить из этой строки тело HTTP ответа сервиса. При этом желательно указать, что BOM (Byte Order Mark, метка порядка байтов) использоваться не должна.

Последний параметр (ИспользованиеByteOrderMark.НеИспользовать) вы можете и не указывать, если режим совместимости конфигурации не установлен, или он больше чем Версия8_3_5. Потому что в этом случае BOM автоматически будет использоваться только для кодировок UTF-16 и UTF-32, а для UTF-8, UTF-16LE/UTF-16BE, UTF-32LE/UTF-32BE и других она использоваться не будет.

Взаимодействие со сторонними HTTP сервисами

При взаимодействии со сторонними HTTP интерфейсами у вас также может возникнуть необходимость формирования запросов к ним в формате JSON. В этом случае алгоритм ваших действий будет аналогичным. Формируете тело запроса в JSON. Получаете тело в виде строки. Из этой строки устанавливаете тело HTTP запроса. BOM не используете.

Дальнейшее развитие

Мы думаем над тем, чтобы предоставить вам возможность сериализации в JSON прикладных типов 1С:Предприятия: ссылок, объектов, наборов записей и т.д. Поэтому есть вероятность появления ещё одного, третьего уровня средств работы с JSON. Этот уровень позволит вам преобразовывать в JSON любые типы 1С:Предприятия, для которых поддерживается XDTO-сериализация в XML.

История создания

Первоначально формат JSON разработал Дуглас Крокфорд в начале нулевых, и в последующем два конкурирующих стандарта (RFC 7159 и ECMA-404) определили его в 2013 году. Стандарт ECMA описывает только допустимый синтаксис, в то время как RFC охватывает некоторые основы безопасности и взаимодействия.

Кроме того, существует стандарт RFC 7493, который определяет ограниченный профиль, известный как I-JSON (сокращение от «Internet JSON»). Он стремится преодолеть некоторые проблемы взаимодействия. Каждый такой документ является действительным документом JSON.

Необходимость в создании этого формата выросла из потребности в реальном протоколе связи между сервером и браузером, осуществляемой в реальном времени без использования плагинов (таких, как Flash или Java-апплеты).

«Коммерческий автор» от TexTerra

Авторы: Константин Рудов (главный редактор ТекстТерра), Константин Ивлев (контент-стратег ТекстТерра), Елена Столетова (редактор отдела контента) и др.

Описание. Данный онлайн-курс создан специально для тех, кто хочет получить навыки написания текстов для бизнеса. Помимо создания статей вы научитесь искать потенциальных заказчиков и правильно оценивать свой труд.

Курс включает в себя 10 занятий по 1,5 часа, на которых тщательно разбирается тема лекции и проверяются домашние задания. Вы получите развернутые ответы на все интересующие вопросы по теме занятий.

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

Лучшие ученики получат рекомендательные письма и диплом от TexTerra.

Стоимость. Пройти обучение можно по одному из трех тарифов.

  1. Самостоятельное обучение за 16 000 рублей.
  2. Тариф “Оптима” за 22 000 рублей. За эти деньги вы получите проверку домашних заданий и обратную связь с преподавателем.
  3. Тариф “Премиум” за 26 000 рублей. Вам будет доступно индивидуальное обучение и 2 онлайн-консультации с преподавателем.

Ссылка на курс

Функции преобразования и восстановления при сериализации

Не всегда сериализация может быть выполнена полностью автоматически. В жизни встречаются самые разные ситуации. Поэтому мы добавили возможность использовать «самописную» функцию обработки значений при записи в JSON и при чтении из JSON.

В методе ЗаписатьJSON() она называется Функция преобразования и описывается с помощью трёх параметров:

  • ИмяФункцииПреобразования;
  • МодульФункцииПреобразования;
  • ДополнительныеПараметрыФункцииПреобразования.

В методе ПрочитатьJSON() она называется Функция восстановления и для неё есть аналогичные параметры:

  • ИмяФункцииВосстановления;
  • МодульФункцииВосстановления;
  • ДополнительныеПараметрыФункцииВосстановления.

При записи в JSON эта функция полезна потому, что позволяет самостоятельно преобразовать в JSON те типы, которые не подлежат автоматическому преобразованию. Или даже совсем отказаться от их сериализации.

Например, так оказалось, что в записываемой структуре одно из значений — это ссылка на элемент справочника ПодразделенияОрганизаций. Такое значение (ссылка на объект 1С:Предприятия) не может быть автоматически сериализовано средствами платформы. Тогда, используя функцию преобразования, мы можем получить для этого значения его строковое представление в удобном виде. Например, в виде строки «ИП Петров: Отдел рекламы».

Результат выполнения примера:

{
	"Фамилия": "Иванов",
	"Имя": "Иван",
	"Отчество": "Иванович",
	"Подразделение": "ИП Петров: Отдел рекламы",
	"Телефоны": 
}

При чтении из JSON функция восстановления может использоваться для того, чтобы преобразовать данные JSON в типы 1С, которые не могут являться результатом автоматического преобразования, или для того, чтобы самостоятельно (не автоматически) преобразовать даты JSON в даты 1С:Предприятия.

Использование в JavaScript

Поскольку формат JSON был получен из JavaScript и его синтаксис (в основном) является подмножеством языка, для анализа данных JSON можно использовать функцию JavaScripteval. Из-за проблемы с разбором терминаторов строк Unicode, рассмотренных в предыдущем разделе, функция eval должна выполнить их замену.

Это небезопасно, если строка не проверена надлежащим образом. Вместо этого для чтения и записи JSON следует использовать библиотеку парсера JSON или его поддержку на JavaScript.

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

С 2010 года в таких веб-браузерах как Firefox и Internet Explorer включена поддержка анализа и выгрузка в JSON-формат.

Замена графического чипа

Как же самому провести замену – спрашивают любители самостоятельно поковыряться в железе. Все очень просто – ноутбук нужно разобрать и добраться до видеокарты

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

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

Как проверить телефон на вирусы

Телефон, снабженный операционной системой Android (лучшего плацдарма для вирусов не придумать), можно проверить следующими способами:
 Через компьютер, но только microSD-карту и встроенную карту памяти смартфона. Саму систему Андроид не проверить, не пустят, 🙂 но и проверка памяти может быть вполне эффективной, вирусы есть везде.
 Антивирусом — установите на телефон антивирус и сделайте полную проверку на вирусы.  Антивирусными спец-приложениями можно полностью проверить телефон. Они не такие многофункциональные как антивирусники, работают в роли сканера, больше по конкретным видам вирусов и вредоносным программам.

Malwarebytes-Anti-Malware — поможет выявить шпионажное ПО.

Trojan Killer — от компании Cheetah Mobile (CM), очистит телефон от троянцев и не только.

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

Настройки > Приложения > Работающие приложения > Хранилище > Очистить кеш.

Перезагружаем телефон следим за изменениями, поведением телефона, дальше обязательно устанавливаем антивирус и спим спокойно 🙂

(!) Удалить без промедления неизвестные вам, подозрительные приложения если началось несанкционированное списание денег со счёта, за якобы активированную «ВАМИ» подписку, такого вида смс >

Настройки > Приложения > Сторонние (Закаченные)

 Проверить онлайн, без установки соответствующего приложения в отличии от компьютера, пока к сожалению не представляется возможным

Нужно установить антивирусную программу, обновить вирус-базы по интернет (что важно), а дальше можно сканировать устройство независимо уже, подключен интернет или нет

Для защиты мобильного телефона

существуют антивирусы как платные (в платных версиях в основном тот же антивирус, плюс приложения такие как : антивор, антиспам, URL-фильтр и т.д.), так и бесплатные есть с приложениями и без них. Из бесплатных антивирусов для Android, изначально хотелось бы выделить два самых скачиваемых антивируса:
CM Security — антивирус от разработчиков всемирно известного Clean Master. Сканирование телефона таким антивирусом длится всего 5 секунд, весит программа в двое меньше других. Число скачиваний, положительные отзывы превосходят остальные антивирусы по Google Play.
360 Mobile Security — небольшая комплексная антивирусная программа, включает в себя не только антивирус имеет функцию очистки и оптимизации системы. Тоже имеет отличные отзывы практически не уступает по числу скачивания.
По прежнему, на хорошем счету остается Avast Free Mobile Security — антивирус плюс ряд бесплатных приложений таких как: фаервол, фильтр СМС звонков, веб-защита, анти-вор …
Многие используют бесплатную версию Dr.Web Light — без дополнительных инструментов и рекламы, работает как обычный антивирус (сканер). Превосходно обнаруживает любой вирус в телефоне и тот который прячется глубоко в Android системе.

Из платных :
Dr.Web Security Space — полный антивирус включает в себя ряд необходимых приложений для выполнения более качественной защиты Android антиспам, антивор, облачный URL-фильтр Cloud Checker, … Кстати, подходит для современных телевизоров и игровых консолей.
Kaspersky Internet Security — антивирус имеет все необходимые приложения для полной защиты смартфона или планшета.
AVG AntiVirus Pro — при имеющемся, довольно-таки самом стандартном наборе функций защиты сумел занять место среди наиболее-скачиваемых в Google Play.

Почти у всех платных антивирусов имеется своя бесплатная версия. Просто обычный антивирус без каких либо крутых приложений и спец-функций. У таких оплачивается (по желанию) только доп. функции, защита от вируса не нуждается в оплате.
Представленные здесь антивирусы для Андроид, собраны от лучших (по отзывам пользователей) разработчиков антивирусных программ и утилит, способны надежно защитить ваш телефон или планшет от злоумышленников.

Что делать с ошибкой Video tdr failure, появившейся на Windows 10

Проблемка может возникнуть всегда, когда в работу вступает видеокарта. Конечно, она работает всегда, но, например, вы запустили игру, видеоролик, изображение, любую программу. Обычно ошибка может сопровождаться упоминанием файла, который является виновником, например, atikmpag.sys, либо igdkmd 64.sys.

Как я уже сказал, ошибка появляется при любой непонятной ситуации. Если сегодня все работало, то завтра, запустив в проигрывателе музыкальный файл, вы тут же можете схватить данную ошибку. Есть еще проблемка с файлом nvlddmkm.sys, который связан с видеокартами NVIDIA, и чаще возникает на Windows 10.

Сериализация примитивных типов и коллекций в JSON

Вторая группа средств работы с JSON хороша тем, что избавляет вас от рутинной работы по чтению/записи каждого отдельного значения или свойства. При чтении документы JSON отображаются в фиксированный набор типов платформы: Строка, Число, Булево, Неопределено, Массив, ФиксированныйМассив, Структура, ФиксированнаяСтруктура, Соответствие, Дата. Соответственно, в обратную сторону, композиция объектов этих типов позволяет сформировать в памяти и быстро записать в файл структуру JSON. Таким образом, чтение и запись небольшого объема JSON заранее известной структуры можно производить немногими строчками кода.

Основное назначение этих средств мы видим в обмене информацией с внешними системами, чтении конфигурационных файлов в формате JSON.

Сериализацию вы можете выполнять с помощью методов глобального контекста ПрочитатьJSON() и ЗаписатьJSON(). Они работают в связке с объектами ЧтениеJSON и ЗаписьJSON.

В качестве примера десериализации JSON можно рассмотреть чтение массива из двух объектов:

Код 1С:Предприятия, выполняющий десериализацию, может выглядеть следующим образом:

А пример сериализации (записи) в JSON может выглядеть так:

Результат записи:

{
	"Фамилия": "Иванов",
	"Имя": "Иван",
	"Отчество": "Иванович",
	"Возраст": 40,
	"Женат": true,
	"Телефоны": 
}

Практическое использование

Веб-сайт JSON.org был запущен в 2002 году. В декабре 2005 года Yahoo! начал предлагать некоторые из своих веб-сервисов в этом формате. Google стал применять фиды JSON для своего веб-протокола GData только в декабре 2006 года.

Первоначально формат файла JSON предназначался для подмножества языка сценариев JavaScript (в частности, Standard ECMA-262 3rd Edition-December) и обычно использовался вместе с ним. Однако это не зависящий от языка данных формат. Код для разбора и генерации данных JSON доступен на многих языках программирования. На веб-сайте JSON перечислены все библиотеки.

Несмотря на то, что JSON-формат online изначально рекламировался и считался строгим подмножеством JavaScript и ECMAScript, он периодически допускает некоторые символы, не экранированные в строках, которые являются недопустимыми в строках JavaScript и ECMAScript.

Сам по себе JSON стал международным стандартом ECMA в 2013 году как стандарт ECMA-404, который в том же году использовался в RFC 7158 в качестве ссылки. В 2014 году RFC 7159 стал основной ссылкой на использование JSON в Интернете (например, MIME application/json).

Типы файлов JSON

Ассоциация основного файла JSON

.JSON

Формат файла: .json
Тип файла: Mozilla Firefox Bookmarks Backup

JSON расширение файла используется Mozilla Firefox для резервного копирования файлов, чтобы заменить сохраненные закладки в случае, если оригинал один поврежден. Он автоматически генерируется браузером Firefox. Вы можете увидеть файл, как правило, с именем bookmarks.bak.

Создатель: Mozilla
Категория файла: Архивные файлы
Ключ реестра: HKEY_CLASSES_ROOT\.json

Программные обеспечения, открывающие Mozilla Firefox Bookmarks Backup:

Mozilla Firefox, разработчик — Mozilla

Совместимый с:

Windows
Mac
iOS
Android
Linux
Solaris
illumos

Ассоциации других файлов JSON

.JSON

Формат файла: .json
Тип файла: JavaScript Object Notation File

JavaScript нотации Object File (JSON) представляет собой файл, который упаковывает простые структуры данных и объектов. Он содержит данные в стандартном формате обмена (ECMAScript языка программирования), что делает его легким, основанный на тексте, и для чтения человеком.

Создатель: Douglas Crockford
Категория файла: Веб-файлф

Программы, открывающие файлы JavaScript Object Notation File :

Microsoft Notepad, разработчик — Microsoft Corporation

Совместимый с:

Windows
Mac
Linux

Notepad++, разработчик — Don Ho

Совместимый с:

Windows
Mac
Linux

Microsoft Visual Studio, разработчик — Microsoft Corporation

Совместимый с:

Windows

Vim, разработчик — Bram Moolenaar

Совместимый с:

Windows
Mac
Linux
Unix
OS X El Capitan

Microsoft WordPad, разработчик — Microsoft Corporation

Совместимый с:

Windows

GNU Emacs, разработчик — GNU Project

Совместимый с:

Windows
Mac
Linux
GNU

Gedit, разработчик — GNOME

Совместимый с:

Linux

Apple TextEdit, разработчик — Apple

Совместимый с:

Mac

ES-Computing Edit Plus, разработчик — ES-Computing

Совместимый с:

Windows

Sublime Text, разработчик — Sublime HQ Pty Ltd

Совместимый с:

Windows
Mac
Linux

CodeLobster, разработчик — Peak Technologies

Совместимый с:

Windows

BBEdit, разработчик — Bare Bones Software

Совместимый с:

Mac

Pico, разработчик — Open Source

Совместимый с:

Unix

Atom, разработчик — GitHub, Inc.

Совместимый с:

Windows
Mac
Linux

XMLSpy, разработчик — Altova

Совместимый с:

Windows

TextWrangler, разработчик — Bare Bones Software

Совместимый с:

Mac

MacVim, разработчик — Open Source

Совместимый с:

Mac

Bean, разработчик — James Hoover

Совместимый с:

Mac

Notepad2, разработчик — Open Source

Совместимый с:

Windows

Geany, разработчик — Geany Authors

Совместимый с:

Windows
Mac
Linux
Solaris
FreeBSD
NetBSD
OpenBSD
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector