--- title: Написание кода brief: В этом руководстве кратко описано, как работать с кодом в Defold. --- # Написание кода Хотя Defold позволяет создавать большую часть игрового контента с помощью визуальных инструментов, таких как редакторы тайловых карт и эффектов частиц, игровая логика по-прежнему создается с помощью редактора кода. Игровая логика пишется с использованием [языка программирования](https://www.lua.org/), при этом расширения для самого движка пишутся с использованием нативного для целевой платформы языка (языков). Defold имеет встроенный текстовый редактор, который позволяет открывать и редактировать файлы Lua (.lua), файлы сценариев Defold (.script, .gui_script и .render_script), а также любые другие файлы с расширением, не поддерживаемым редактором. Кроме того, редактор обеспечивает подсветку синтаксиса для файлов Lua и скриптов. ## Написание Lua-кода Defold использует Lua 5.1 и LuaJIT (в зависимости от целевой платформы), и необходимо следовать спецификации языка для этих конкретных версий Lua при написании игровой логики. За подробностями о работе с Lua в Defold обращайтесь к руководству [Lua в Defold](/manuals/lua). ## Написание нативного кода Defold позволяет расширять игровой движок нативным кодом для доступа к функциональности, специфичной для конкретной платформы и не предоставляемой самим движком. Нативный код также можно использовать, когда производительности Lua недостаточно (ресурсоемкие вычисления, обработка изображений и т.д.). За подробностями обращайтесь к [руководству по нативным расширениям](/manuals/extensions/). ## Использование внешнего редактора кода Редактор кода в Defold обеспечивает базовую функциональность, необходимую для написания кода, но для более сложных случаев использования или для опытных пользователей с любимым редактором кода можно позволить Defold открывать файлы с помощью внешнего редактора. В окне Preferences на вкладке Code можно определить внешний редактор, который будет использоваться при редактировании кода. Сообщество Defold создало плагины автозаполнения для популярных редакторов, таких как [Atom](https://atom.io/packages/defold-ide), [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=selimanac.defold-vsc-snippets) и [Sublime](https://forum.defold.com/t/full-autocomplete-defold-api-for-sublime-text-3/10910). Кроме того, существуют также пакеты справочников API для [Dash и Zeal](https://forum.defold.com/t/defold-docset-for-dash/2417).