Coder Social home page Coder Social logo

atom-agk's Introduction

AppGameKit for Atom

Use Atom to develop games with AppGameKit! This plugin adds support for the AppGameKit Tier 1 (BASIC) language and all the utilities you'd expect from a modern editor, such as syntax highlighting, intellisense, on-demand compilation, and a REPL-oriented debugger.

Demo GIF

Features at a glance

  • Syntax highlighting
  • Autocomplete for functions, types, constants, globals and variables
  • Go To Definition for user-defined functions
  • Compile and run
  • Debugger using breakpoints and REPL
  • Most common snippets
  • Open help when pressing F1 in a built-in function
  • New project generator

Installation

Install it like any other Atom package, just ctrl-,, go to Install, search for atom-agk, and that's it!

You'll most likely need to customize the path to your AGKCompiler.exe file:

Settings window

Default key bindings

These bindings only apply when editing AGK (.agc) files, and can be changed in the package configuration. By default:

  • F1: Open documentation for built-in function under cursor, or documenation home if the function was not found (atom-agk:open-help)
  • F2: Go to function definition for function under cursor (atom-agk:go-to-definition)
  • F3: Go to include for #include or #insert in current line (atom-agk:go-to-include)
  • F4: Toggle debugger breakpoint in current line (atom-agk:toggle-breakpoint)
  • F5: Compile project and run (atom-agk:compile-and-run)
  • F6: Compile project and run in debug mode (atom-agk:debug)
  • F7: Compile project (atom-agk:compile)
  • F8: Toggle the debugger terminal (atom-agk:toggle-terminal)
  • F9: Toggle symbol explorer (atom-agk:toggle-symbol-explorer)

Generating a new project

Simply ctrl-shift-p (cmd-shift-p on macOS) and run generate-project from there. That will create a new folder at your specified location with a basic AGK project skeleton so you can start hacking right away!

Snippets

This package comes bundled with the most common snippets. To use a snippet, just type the snippet and then press tab. That's it! Continue pressing tab to navigate to the different positions within the snippet.

Snippets GIF

Some built-in snippets are func, type, if, for, while, repeat, select, case, and dim.

You can always implement your own! Find out how here.

Go To Definition

You can press F2 (or bind atom-agk:go-to-definition to any key combination you want) while stepping on a function to go to it's definition!

Go To Definition GIF

Symbol Explorer

You can press F9 (atom-agk:toggle-symbol-explorer) to toggle the symbol explorer:

Symbol Explorer

Symbols from the current file will be showed on top. All other symbols will be sorted alphabetically.

Notes

This is beta-quality software. Pull requests, bug reports and suggestions are welcome. Some things to note:

  • Only been tested in Windows, it will most likely break on other platforms
  • Only works with AGK Classic, as Studio doesn't expose the compiler executable

Thanks

Particular thanks to the guys at TheGameCreators forums and in particular MadBit for all the help running the debugger and using the compiler from the CLI.

atom-agk's People

Contributors

gosukiwi avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.