Git Product home page Git Product logo

vscode-blitz3d's Introduction

Language support for Blitz3D

This extension enables language support for the BlitzBasic language and extends the usage of the Blitz3D program and its blitzcc compiler. The ability to run programs and detect errors is supported on Windows only. Cross-platform Blitz3D versions are not supported yet, though most of the functionality is available on all platforms.

Note: This extension is in alpha phase. Bug-free experience cannot be guaranteed.

Release Notes

This update contains lots of bug fixes.

To see all the changes, check the changelog or the GitHub repository.

Features

The extension provides the following functionalities:

  • Syntax highlighting
  • Semantic highlighting
  • Basic IntelliSense suggestions
  • Document symbols tree
  • Signature help
  • Usage of the built-in debugger GUI
  • Added functionality for documentation
  • Ability to set the default file to run in launch.json
  • First compile error can be seen on every save
  • Command for browsing the builtin code examples
  • Basic document formatting

Note: The extension uses the Blitz3D default compiler for Windows. Due to its limitations, information of runtime errors cannot be extracted. This is not a loss of functionality as the default IDE behaves similarly.

BBDoc: javadoc-like documentation utilities

BBDoc helps to write code more efficiently with some added keywords, without affecting compatibility.

Function documentation

The following keywords can be used in lines preceding function declarations:

  • ;; followed by the documentation of the function
  • ;;param followed by the name of a parameter and its description
  • ;;author followed by the author of the function
  • ;;return followed by the return value of the function
  • ;;since followed by the version when the function was created

These keywords are interpreted as comments in standard blitz3d, but within vscode they are used to provide information on mouse hover or code completion. If there is no bbdoc for a function and the preceding line contains just a comment, that is parsed as description.

Manage tasks with TODOS

Use ;;TODO anywhere in the code to create a link for a task in vscode's problems window. This can be disabled in the extension settings.

Information interpreted without keywords

Comments following global, local, const or field declarations are interpreted as descriptions, which are shown in code completion windows.

Extension Settings

See contributed settings in the Feature Contributions tab.

Known Issues

  • Variables might not be recognized when no explicit declaration is present
  • Include files might not be recognized when filename is not explicitly specified or after using changedir
  • Functions defined in userlibs without a decorated name are not highlighted in decls files
  • Hangs and unexpected behaviour (without code loss) can be experienced rarely

vscode-blitz3d's People

Contributors

denesfilotas avatar ziyuecommentary 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.