Atom C++ Mac

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

Note

The Superior Lisp Interactive Mode for Atom. This package allows you to interactively develop Common Lisp code, helping turn Atom into a full-featured Lisp IDE. SLIMA uses the same Swank backend as Emacs's SLIME to control the Lisp process. This is a fork of atom-slime. Install a Common Lisp if you. قم بنتزيل Atom1.55.0 لـ Mac مجانا، و بدون فيروسات، من Uptodown. قم بتجريب آخر إصدار من Atom2021 لـ Mac. + A simple but useful package to compile-run C/C files - Cannot customize run arguments - On windows the cmd console just flash then close after the C/C program ends! The closest that I want, thus mine is a remake with enhancements. Rgbkrk/atom-script + Support many languages + Customizable compile and run flags - Does not support C/C on. It is a desktop text editor for writing C programs. It consists of an integrated package manager, which allows creating your own package, or installing new ones. HTML, JavaScript, CSS, and Node.js integration is being used to create it. Moreover, the Atom runs on Electron. Atom helps you write code faster with a smart and flexible autocomplete. File system browser Easily browse and open a single file, a whole project, or multiple projects in one window.

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.

  1. Download and install GitHub’s official Atom text editor. PlatformIO IDE is built on top of it.

  2. Open Atom Package Manager

  • Mac OS X, Menu:Atom>Preferences>Install

  • Windows, Menu:File>Settings>Install

  • Linux, Menu:Edit>Preferences>Install

  1. Search for the official platformio-idepackage

  2. 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 running xcode-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 or yuminstallclang.

  • 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)

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!

  1. Click on the “PlatformIO Home” button on the PlatformIO Toolbar

  1. Click on “New Project”, select a board and create a new PlatformIO Project

  1. Open the main.cpp file in the src 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.

Learn to code using the C programming language on your Mac

PlatformIO IDE proposes different ways to process the project (build, clean,upload firmware, run other targets) using:

  • Building / Uploading / Targets and hotkeys

  1. Run Build and you should see a green “success” result in the buildpanel:

To upload firmware to the board, run Upload.

  1. 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:

  1. 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:

  1. To run the built-in “Serial Monitor”, choose Menu:PlatformIO>SerialMonitoror press the corresponding icon in the PlatformIO toolbar:

The monitor has several settings to adjust your connection:

See full list on 9to5mac.com

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.

Atom C++ Mac

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:

  1. Missing includes such as #include<Arduino.h>

  2. Function declarations are omitted.

C Atom Mac

There are two solutions:

Recommended! See Convert Arduino file to C++ manually.

To force Smart Code Linter to use Arduino files as C++ please

  1. Open .gcc-flags.json file from the Initialized/Imported project and add-xc++ flag at the beginning of the value of gccDefaultCppFlags field:

  1. 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 X

  • ctrl+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.

Other Tools | PyMDMix - SourceForge

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.

  1. Uninstall Atom using “Start > Control Panel > Programs and Features > Uninstall”

  2. Remove C:Users<username>.atom folder (settings, packages, etc…)

  3. Remove C:Users<username>AppDataLocalatom folder (application itself)

  4. Remove C:Users<username>AppDataRoamingAtom folder (cache, etc.)

  5. 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.

Integrates SLIME (the Superior Lisp Interaction Mode for Emacs) with Atom! This package allows you to interactively develop Common Lisp code, helping turn Atom into a full-featured Lisp IDE.

Current features of this package:

  • Read-eval-print-loop (REPL) for interactive Lisp development
  • Integrated debugger (work in progress on stack trace)
  • Jumping to a method definition
  • Autocomplete suggestions based on your code
  • 'Compile this function'
  • Function method argument order documentation
  • Integrated profiler

Future features:

  • Interactive object inspection
  • Stack trace in debugger
  • 'Compile this file' command
  • 'Who calls this function' command

Note: This package is still in beta and in active development! Contributions and bug reports are welcome.

Guide to setting up Atom as your main Lisp editor!

By following these instructions, you can use Atom very effectively as your Lisp editor.

  1. Install this atom-slime package, as well as the language-lisp package (syntax highlighting) and the lisp-paredit package (proper idiomatic lisp indentation and parenthesis editing)

  2. Install a lisp if you don't already have one (such as SBCL)

  3. Download the slime code, which exists in a separate repository. Place it somewhere safe (you'll need it's location in the following step). Note that if you've used Emacs before, you may already have slime somewhere on your computer. Otherwise, you can download it here:https://github.com/slime/slime.git

  4. After installing the atom-slime package, go to its package preferences page within Atom. Under the 'Lisp Process' field, enter the executable for your lisp (ex. sbcl. Note that on some platforms you may need the full pathname, such as /usr/bin/sbcl). Under the 'Slime Path' field, enter the path where you have slime on your computer from the above step.

  5. (Optional) Consider adding the following to your Atom keymap file:

This will allow the tab key to trigger automatic, correct indentation of your Lisp code (unless there's an autocomplete menu active).

Atom C++ Machinery

  1. (Optional) In Atom's autocomplete-plus package, consider changing the 'Keymap For Confirming A Suggestion' option from 'tab and enter' to just 'tab'. This makes autocomplete more amenable when using the REPL, so that pressing enter will complete your command rather than triggering autocomplete.

  2. (Optional) In Atom's bracket-matcher package, consider unchecking the 'Autocomplete Brackets' option. The lisp-paredit package above will take care of autocompleting parenthesis when you're editing a lisp file. Unchecking this option will prevent single quotes from being autocompleted in pairs, allowing you to define lisp symbols easier (for example, (setf x 'some-symbol)).

All done!

How to Edit Lisp code with Atom

Shortcuts

Once you've followed the above steps, you should have:

  • Syntax highlighting if you open a file ending in .lisp
  • Proper lisp indentation when you hit tab
Browser

To start a REPL (an interactive terminal where you can interact with Lisp live), run the Slime: Start command from the command pallet. A REPL should then pop up. Note that if this is your first time using atom-slime, or you've updated your lisp process, you may get some warning messages about not being able to connect. This is normal; wait a minute or so, restart Atom, and try again and it should work. (This happens because your lisp is compiling the swank server and isn't ready before this package times out).

With the REPL, you can type commands, see results, switch packages, and more. It's a great way to write Lisp code! A debugger will come up if an error occurs. You can also use the up & down arrows to scroll up through your past commands. type Ctrl+C to interrupt lisp (if it's in an infinite loop, for example).

If you've compiled your lisp code, placing the cursor over a method will cause a documentation string to appear at the bottom of the atom window, showing you the function arguments and their order.

If you want to jump to where a certain method is defined, go to it and press alt + . (Mac: ctrl + cmd + .)or use the Slime: Goto Definition function in Atom. A little pop up window will come up and ask you which method you'd like to go to (since methods could be overloaded). Use the keyboard to go up and down, and press enter to jump to the definition you choose.

To compile a single method in a Lisp file, place the cursor somewhere in that file and press alt+c (Mac: ctrl + cmd + c). The function should glow momentarily to indicate it's compiling, and from then on you can use it in the REPL.

To use the integrated profiler, run Slime: Profile. You should see a menu appear at the bottom of Atom, where you can select what you'd like to profile. For example, click 'Function' and type the function name at the dialog to begin profiling. You may then click 'Report' to print a report to the REPL with profiling information.

How it works

This package makes use of the superb work from the slime project. Slime started as a way to integrate Lisp with Emacs, a popular text editor for Lisp. It works by starting what is known as a swank server, which is code that runs in Lisp. Emacs then runs separately and connects to the swank server. It's able to make remote procedure calls to the swank server to compile functions, lookup function definitions from your live code, and much more thanks to the fact that Lisp is such a dynamic language.

This package uses the swank server from the slime project unchanged. This package allows Atom to speak the same protocol as Emacs for controlling the swank server and integrating Lisp into the editor.