pxt-core-own
Version:
Microsoft MakeCode, also known as Programming Experience Toolkit (PXT), provides Blocks / JavaScript tools and editors
113 lines (74 loc) • 4.51 kB
Markdown
# Microsoft MakeCode
* [Try out the editors in your browser...](https://makecode.com)
[](https://travis-ci.org/microsoft/pxt)
[](https://aka.ms/makecodecommunity)
Microsoft MakeCode is based on the open source project [Microsoft Programming Experience Toolkit (PXT)](https://github.com/Microsoft/pxt). ``Microsoft MakeCode`` is the name in the user-facing editors, ``PXT`` is used in all the GitHub sources.
PXT is a framework for creating special-purpose programming experiences for
beginners, especially focused on computer science education. PXT's underlying
programming language is a subset of TypeScript (leaving out JavaScript dynamic
features).
The main features of PXT are:
* a Blockly-based code editor along with converter to the text format
* a Monaco code editor that powers [VS Code](https://github.com/Microsoft/vscode), editor's features are listed [here](https://code.visualstudio.com/docs/editor/editingevolved).
* extensibility support to define new blocks in TypeScript
* an ARM Thumb machine code emitter
* a command-line package manager
More info:
* [About](https://makecode.com/about)
* [Documentation](https://makecode.com/docs)
Examples of Editors built with PXT:
* https://makecode.microbit.org
* https://makecode.adafruit.com
* https://makecode.chibitronics.com
* https://minecraft.makecode.com
* More editors at https://makecode.com/labs
## Branches
* ``master`` is the active development branch, currently ``v3.*`` builds
* ``v0`` is the servicing branch for ``v0.*`` builds
## Running a target from localhost
Please follow the [instructions here](https://makecode.com/cli).
## Linking a target to PXT
If you are modifying your own instance of PXT and want a target (such as pxt-microbit) to use your local version, cd to the directory of the target (pxt-microbit, in our example, which should be a directory sibling of pxt) and perform
```
npm link ../pxt
```
If you have multiple checkouts of pxt, you can do the following:
* run `npm i` in pxt and the target
* in the target, run `pxt link ..\some-other-pxt` (you may need to update your CLI first by running `npm install -g pxt`)
If you run `npm i` afterwards (in either the target or pxt), you might need to repeat these steps.
## Build
First, install [Node](https://nodejs.org/en/): minimum version 8.
To build the PXT command line tools:
```
npm install
npm run build
```
Then install the `pxt` command line tool (only need to do it once):
```
npm install -g pxt
```
After this you can run `pxt` from anywhere within the build tree.
To start the local web server, run `pxt serve` from within the root
of an app target (e.g. pxt-microbit). PXT will open the editor in your default web browser.
### Icons
There are a number of custom icons (to use in addition
to http://semantic-ui.com/elements/icon.html) in the `svgicons/` directory.
These need to be `1000x1000px`. Best start with an existing one. To see available icons go to
http://localhost:3232/icons.html (this file, along with `icons.css` containing
the generated WOFF icon font, is created during build).
If you're having trouble with display of the icon you created, try:
```
npm install -g svgo
svgo svgicons/myicon.svg
```
## Tests
The tests are located in the `tests/` subdirectory and are a combination of node and
browser tests. To execute them, run `npm run test:all` in the root directory.
## License
[MIT License](https://github.com/Microsoft/pxt/blob/master/LICENSE)
## Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## Contact Us
[Get in touch](https://makecode.com/contact)
## Trademarks
MICROSOFT, the Microsoft Logo, and MAKECODE are registered trademarks of Microsoft Corporation. They can only be used for the purposes described in and in accordance with Microsoft’s Trademark and Brand guidelines published at https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general.aspx. If the use is not covered in Microsoft’s published guidelines or you are not sure, please consult your legal counsel or MakeCode team (makecode@microsoft.com).