Sublime Text makes the most sense for heavy coders. These developers will enjoy the shortcut functionality and the high level of customization. The cross-platform abilities are also nice for launching the same text editor on all machines. With Atom, you gain access to an open source text editor with developers in mind. Main tells Atom how to render NotebookEditor and registers as an Opener for.ipynb files; dispatcher is a singleton flux.Dispatcher which contains the list of valid actions; notebook-editor is the Store and handles all of the business logic. It loads the file in, creates a state, then receives Actions and updates the state accordingly.
PlatformIO IDE is the next-generation integrated development environment for IoT.
Cross-platform build system without external dependencies to the OS software:
- 800+ Boards
- 35+ Development Platforms
- 20+ Frameworks
C/C++ Intelligent Code Completion
C/C++ Smart Code Linter for rapid professional development
Library Manager for the hundreds popular libraries
Multi-projects workflow with multiple panes
Themes support with dark and light colors
Serial Port Monitor
Built-in Terminal with PlatformIO Core (CLI) and CLI tool (
pio
,platformio
)Built-in PlatformIO Home.
Atom is a text editor that’s modern, approachable,yet hackable to the core—a tool you can customize to do anything but also useproductively without ever touching a config file.
Contents
- Installation
- Quick Start
- Known issues
- Smart Code Linter is disabled for Arduino files
- Frequently Asked Questions
- Uninstall Atom with PlatformIO IDE
Note
Please note that you do not need to install PlatformIO Core (CLI) separatelyif you are going to use PlatformIO IDE for Atom. PlatformIO Core (CLI) is built intoPlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.
Also, PlatformIO IDE allows one to install PlatformIO Core (CLI) Shell Commands(pio
, platformio
) globally to your system viaMenu:PlatformIO>InstallShellCommands
.
- Download and install GitHub’s official Atom text editor. PlatformIO IDE is built on top of it.
- Open Atom Package Manager
- Mac OS X,
Menu:Atom>Preferences>Install
- Windows,
Menu:File>Settings>Install
- Linux,
Menu:Edit>Preferences>Install
- Search for the official
platformio-ide
package - Install PlatformIO IDE.
PlatformIO IDE uses Clang for the Intelligent CodeCompletion. To check that clang
is available in your system, pleaseopen Terminal and run clang--version
. If clang
is not installed,then install it and restart Atom:
Mac OS X: Install the latest Xcodealong with the latest Command Line Tools(they are installed automatically when you run
clang
in Terminal for thefirst time, or manually by runningxcode-select--install
Windows: Download Clang 3.9.1 for Windows.Please select “Add LLVM to the system PATH” option on the installation step.
Warning
PLEASE DO NOT INSTALL CLANG 4.0. TEMPORARILY, WE SUPPORT ONLY CLANG 3.9.
If you see a
FailedtofindMSBuildtoolsetsdirectory
error inthe installation console, please ignore it and press any key to closethis window. PlatformIO IDE uses only the Clang completion engine, whichshould work after that without any problems.Linux: Using package managers:
apt-getinstallclang
oryuminstallclang
.Other Systems: Download the latest Clang for the other systems.
Warning
If some libraries are not visible in PlatformIO IDE for Atom and Code Completion orCode Linting does not work properly, please perform Menu:PlatformIO>RebuildC/C++ProjectIndex(Autocomplete,Linter)
Atom Text Editor Windows Download
This tutorial introduces you to the basics of PlatformIO IDE workflow and showsyou the creation process for a simple “Blink” example. After finishing, you willhave a general understanding of how to work with projects in the IDE.
After installation, launch PlatformIO IDE by opening Atom. Once Atom isopened, the PlatformIO IDE auto installer will continue to install dependent packagesand PlatformIO Core (CLI). Please be patient and let the installation complete. Once finished,PlatformIO IDE will ask you to reload the Atom window to applyinstalled components. Please click on ReloadNow
. After that, PlatformIO IDE isready for use. Happy coding!
- Click on the “PlatformIO Home” button on the PlatformIO Toolbar
- Click on “New Project”, select a board and create a new PlatformIO Project
- Open the
main.cpp
file in thesrc
folder and replace its contents withthe following:
Warning
The code below only works with Arduino-based boards. Pleasevisit the PlatformIO Project Examples repository for other pre-configured projects.
PlatformIO IDE proposes different ways to process the project (build, clean,upload firmware, run other targets) using:
- Building / Uploading / Targets and hotkeys
- Run
Build
and you should see a green “success” result in the buildpanel:
To upload firmware to the board, run Upload
.
- What is more, you can run specific target or process project environmentusing
Menu:PlatformIO>Runothertarget...
or call targets list from the status bar (bottom, left corner):
And select desired target:
- To launch the built-in terminal interface, choose
Menu:PlatformIO>Terminal
orpress the corresponding icon in the PlatformIO toolbar:
This provides you fast access to a set of powerful PlatformIO Core (CLI) CLI commands:
- To run the built-in “Serial Monitor”, choose
Menu:PlatformIO>SerialMonitor
or press the corresponding icon in the PlatformIO toolbar:
The monitor has several settings to adjust your connection:
It also allows you to communicate with your board in an easy way:
platformio-ide package adds to Atomnew menu item named Menu:PlatformIO
(after Menu:Help
item).
PlatformIO IDE Toolbar contains quick access buttons for the popular commands.Each button contains a hint (leave the mouse on it for a moment).
- PlatformIO: Build
- PlatformIO: Upload
- PlatformIO: Clean
- Run other target (Build environments, Unit Testing)
- Toggle build panel
- ||
- Find in Project…
- PlatformIO Terminal
- Serial Monitor
- ||
- Atom Settings
cmd-alt-b
/ctrl-alt-b
/f9
builds project without auto-uploading.cmd-alt-u
/ctrl-alt-u
builds and uploads (if no errors).cmd-alt-c
/ctrl-alt-c
cleans compiled objects.cmd-alt-t
/ctrl-alt-t
/f7
run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries).cmd-alt-g
/ctrl-alt-g
/f4
cycles through causes of build error.cmd-alt-h
/ctrl-alt-h
/shift-f4
goes to the first build error.cmd-alt-v
/ctrl-alt-v
/f8
toggles the build panel.escape
terminates build / closes the build window.
More options: Menu:PlatformIO>Settings>Build
.
PlatformIO IDE uses clang for the Intelligent Code Completion.To install it or check if it is already installed, please follow see the stepII. Clang for Intelligent Code Completion from Installation guide.
Warning
The libraries which are added/installed after the initializing process willnot be reflected in the code linter. You need Menu:PlatformIO>RebuildC/C++ProjectIndex(Autocomplete,Linter)
.
PlatformIO IDE uses PlatformIO’s pre-built GCC toolchains for Smart Code Linterand rapid professional development.The configuration data are located in .gcc-flags.json
. This file will beautomatically created and preconfigured when you initialize project usingMenu:PlatformIO>InitializenewPlatformIOProjectorupdateexisting...
.
Warning
If some libraries are not visible in PlatformIO IDE for Atom and Code Completion orCode Linting does not work properly, please perform Menu:PlatformIO>RebuildC/C++ProjectIndex(Autocomplete,Linter)
Please navigate to PlatformIO Core Install Shell Commands.
Smart Code Linter is disabled by default for Arduino files(*.ino
and .pde
) because they are not valid C/C++ basedsource files:
- Missing includes such as
#include<Arduino.h>
- Function declarations are omitted.
There are two solutions:
Recommended! See Convert Arduino file to C++ manually.
To force Smart Code Linter to use Arduino files as C++ please
- Open
.gcc-flags.json
file from the Initialized/Imported project and add-xc++
flag at the beginning of the value ofgccDefaultCppFlags
field:
- Perform all steps from Convert Arduino file to C++ manually(without renaming to
.cpp
).
Warning
Please do not modify other flags here. They will be removed on a next“Project Rebuild C/C++ Index” stage.Please use build_flags for “platformio.ini” (Project Configuration File) instead.
Please read this article Installing PlatformIO on Arch Linux.
PlatformIO IDE hides build panel on success by default. Nevertheless, you cankeep it visible all time. Please follow toMenu:PlatformIO>Settings>Build
and set PanelVisibility
toKeepVisible
.
Key-bindings (toggle panel):
cmd+alt+v
- Mac OS Xctrl+alt+v
- Windows/Linux
If you want automatically save all edited files when triggering a build, please follow toMenu:PlatformIO>Settings>Build
and check Automaticallysaveonbuild
.
Click on a function/include, press F3
and you will be taken directly tothe declaration for that function.
You need to install atom-beautifypackage and C/C++ Uncrustify Code Beautifier.
Here’s how to uninstall the PlatformIO IDE for multiple OS.
See Uninstall PlatformIO Core and dependent packages, if you do not need it in a system.
- Uninstall Atom using “Start > Control Panel > Programs and Features > Uninstall”
- Remove
C:Users<username>.atom
folder (settings, packages, etc…) - Remove
C:Users<username>AppDataLocalatom
folder (application itself) - Remove
C:Users<username>AppDataRoamingAtom
folder (cache, etc.) - Remove registry records using
regedit
:- HKEY_CLASSES_ROOTDirectoryBackgroundshell
- HKEY_CLASSES_ROOTDirectoryshell
- HKEY_CLASSES_ROOT*shell
Run these commands in system Terminal
Run these commands in system Terminal
- Mar, 31, 2017 - Robin Reiter - A little guide to PlatformIO. As an Arduino developer, you may want to check that out! (video review)
- Dec 13, 2016 - Dr. Patrick Mineault - Multi-Arduino projects with PlatformIO
- Nov 10, 2016 - PiGreek - PlatformIO the new Arduino IDE ?!
- Aug 18, 2016 - Primal Cortex - Installing PlatformIO on Arch Linux
- Jul 26, 2016 - Embedded Systems Laboratory - แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai)
- May 30, 2016 - Ron Moerman - IoT Development with PlatformIO
- May 01, 2016 - Pedro Minatel - PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese)
- Apr 23, 2016 - Al Williams - Hackaday: Atomic Arduino (and Other) Development
- Apr 16, 2016 - Sathittham Sangthong - [PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let’s play together with PlatformIO IDE [alternative to Arduino IDE], Thai)
- Apr 11, 2016 - Matjaz Trcek - Top 5 Arduino integrated development environments
- Apr 06, 2016 - Aleks - PlatformIO ausprobiert (Tried PlatformIO, German)
- Apr 02, 2016 - Diego Pinto - Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese)
- Mar 30, 2016 - Brandon Cannaday - Getting Started with PlatformIO and ESP8266 NodeMcu
- Mar 12, 2016 - Peter Marks - PlatformIO, the Arduino IDE for programmers
- Mar 05, 2016 - brichacek.net - PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech)
- Mar 04, 2016 - Ricardo Vega - Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish)
- Feb 28, 2016 - Alex Bloggt - PlatformIO vorgestellt (Introduction to PlatformIO IDE, German)
- Feb 25, 2016 - NutDIY - PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai)
See a full list with Articles about us.
Contents
- 1 3 Steps to Setup ATOM Code Editor
- 2 2. Installation of Packages in ATOM
Here are the 3 Steps to Setup ATOM Code Editor for React Native Development. To know more about the code editors for React Native Development please visit Choosing Code Editor for React Native Development.
ATOM code editor is a modern, approachable, yet hackable editor made for the 21st century. Atom is widely used by developers for all major technologies. It has a huge active community hence there are always enhancements/plugins available for everything.
- Platform: Windows, Mac, Linux.
- Features:
- Cross-platform editing
- Built-in package manager
- Smart auto-completion
- File system browser
- Multiple panes
- Find and replace
3 Steps to Setup ATOM Code Editor
Here are the 3 steps to Setup ATOM Code Editor for React Native development
1. Installation of ATOM Code Editor
To start working with ATOM go to https://atom.io and download the ATOM setup as per your OS.
1.1. Windows User:
To install ATOM code editor in Windows you can download the executable file and follow the installer instructions to install the editor.
1.2. Linux Users:
To install ATOM code editor in Linux operating system you can download the .deb file (atom-amd64.deb) and can run the following command on the terminal to install it in your Linux machine.
For Example, my .deb file is in the Downloads directory so the command will become
After running the above command run the following command
This will install the Atom code editor in your machine. Now you can search for the Atom from the search menu or in your program files.
Click on the icon and here we go.
2. Installation of Packages in ATOM
ATOM IDE is a set of optional packages (You can find them here) to bring IDE like functionality to ATOM and improve language integrations.
Let’s see how to install a package in ATOM.
2. 1. Installation of Packages (From Code Editor’s Setting)
Atom Text Editor Download Mac
In order to install a new package, you can use the Install tab in the now familiar Settings View. Open up the Settings View using Ctrl+,
click on the “Install” tab and type your search query into the box under Install Packages.
You can also find other options here like basic editor settings, theme, updates, shortcut etc.
All of the packages will come up with an “Install” button. Clicking that will download the package and install it. Your editor will now have the functionality that the package provides.
Once a package is installed in Atom, it will show up in the Settings View under the “Packages” tab, along with all the preinstalled packages that come with Atom. To filter the list in order to find one, you can type into search box directly under the “Installed Packages” heading.
Clicking on the “Settings” button for a package will give you the settings screen for that package specifically. Here you have the option of changing some of the default variables for the package, seeing what all the command keybindings are, disabling the package temporarily, looking at the source code, seeing the current version of the package, reporting issues and uninstalling the package.
If a new version of any of your packages is released, Atom will automatically detect it and you can upgrade the package from either this screen or from the “Updates” tab. This helps you easily keep all your installed packages up to date.
2.2. Installation of Packages (From Command Line Interface)
You can also install packages or themes from the command line using apm
(atom package manager).
Check that you have apm installed by running the following command in your terminal:
You can also install packages by using the apm install command:
You can also use apm to find new packages to install. If you run apm search, you can search the package registry for a search term.
You can use apm view to see more information about a specific package.
You can search and install as many packages as you can but here are the must-have packages which will help you a lot:
- React React.js (JSX) language support, indentation, snippets, autocomplete, reformatting
- atom-react-native-autocomplete package – It is a package for React-Native autocomplete for Atom text editor
- atom-react-native-css – It is a package to style React-Native components with built-in support for SASS/SCSS. React-native-css turns valid CSS/SASS into the Facebook subset of CSS
- react-native-snippets – It is a package for React Native snippets for Atom
- zenchat-snippets – It is a collection of snippets for react-native, redux and ES6
- atom-xcode – This package bridges the gap between Mac Xcode and atom. Once installed, the iOS simulator can be controlled from within the atom itself
- language-babel – This package includes Language grammar for all versions of JavaScript including ES2016 and ESNext, JSX syntax as used by Facebook React, Atom’s etch and others
We will see the further installations and the usefulness of all this stuff in the upcoming post. If you have any doubt about the topic you can comment below or contact us here.
Hope you liked it. 🙂