# Artistic Style Links

### Information

The following links contain general information on coding and coding styles.

Indent Style at Wikipedia discusses the common indent styles used in programming. The basic criteria for most Artistic Style predefined styles were taken from this discussion.

Programming style at Wikipedia is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers to read and understand source code conforming to the style, and help to avoid introducing errors.

Programming with Style describes popular indent styles. Its purpose is to provide enough information to help people decide on which indent style to use.

Chromium style guide generally follows the Google Style Guide but has extensions beyond the Google style guide. There is interesting information on common C++ Dos and Don'ts.

Google style guides have Google's standards for several programming languages along with a python program to verify the style and an Emacs script for using the style.

LLVM coding standards describes a few coding standards that are being used in the LLVM source tree.

Mozilla’s style guide explains the basic styles and patterns that are used in the Mozilla codebase.

### Graphical User Interfaces

Artistic Style is a command line program and, as such, does not give you a chance to review the effect of different options before formatting the source code. The following Graphical User Interface program will allow you to review the changes before the code is updated. They allow you to select the options you want without actually updating the source.

Artistic Style for Windows is an Artistic Style GUI program for Windows. It uses an unmodified Artistic Style program in a Windows GUI. It will work under Linux using WINE. Everything done in the editor is undo-able, including formatting of the entire document. Documents can be reviewed and reformatted using different options. It can be executed from most development environments and will open the currently selected document.
Here are the links for downloading version 2.05.1 of AStyleWin and AStyleWinD. The website has been having problems and I have not been able to update it. The downloads contain Windows executables and documentation.

Universal Indent Gui is a cross platform GUI that supports several code formatters. The main feature is a live preview to show how the selected formatting options affect the source code. This allows review and testing of the various options before formatting a file. It can be used with a sample file or with your actual source code. It is a good way to try out the options from various indentation programs. This program is not always kept up to date. Be sure to check the AStyle release before relying on the results.

### Programs Using AStyle

The following development environments use Artistic Style as a contributed add-on. It is either embedded in the application or called as a command line program.

AStyle Extension is an extension for Visual Studio, AVR Studio and Atmel studio to format C/C++ and C# documents using Artistic Style as the engine. It is written in C# and uses the AStyle dll. It can be installed in Visual Studio (except Express editions) using the "Tools" > "Extensions and Updates" menu. Search the "Online" entry for "astyle". The source code is available on GitHub.

CodeBender is a browser-based IDE for programming and uploading to Arduino boards. It includes built-in libraries for code sharing. Artistic Style is used as the code formatter.

CodeBlocks is a multi-platform, open source, C++ development environment based on wxWidgets. It has support for multiple compilers and plug-ins for wxWidgets development.

CodeLite is an open source, cross platform development environment for C++. It has support for wxWidgets and includes a class generator and a unit test program generator. Code completion is based on Ctags.

KDevelop is a multi-platform, integrated development environment for building KDE applications. It supports many programming languages and can be used to develop applications other than KDE.

Monkey Studio is a cross platform IDE written in C++/Qt. Its primary goal was to be a Qt only IDE, but it evolved into a way to support Qt development and any kind of project.

SciTE is a Scintilla based source code editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is currently available for Windows, Linux, and Mac OS X operating systems. The Linux and Mac versions are based on GTK+.

Sublime Text is a is a sophisticated text editor for code, markup and prose that includes Artistic Style as a plug-in. Nearly everything in Sublime Text is customizable with simple JSON files.The plug-ins are Python based. Sublime Text is available for OS X, Windows and Linux.

tIDE is a full featured open source Java integrated development environment. It is a small, powerful, quick, efficient, easy and open framework to create 100% Java applications.

### Other Programs

These programs were mentioned in previous versions of the News or other documentation. They are included here for reference.

Google Test and Google Mock are frameworks for writing C++ tests on a variety of platforms. Based on the xUnit architecture it supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, value- and type-parameterized tests, various options for running the tests, and XML test report generation. Google Mock is a library for writing and using C++ mock methods.

Highlight converts source code to formatted text with syntax highlighting. Output is in several formats including HTML. It supports over 160 programming languages and includes 80 color themes. Highlight is used for the examples in the "Developer Information" section.

Python Tools for Visual Studio is a free, open source plug-in that turns Visual Studio into a Python IDE. It can be switched between Python versions or different Python interpreters. It uses the Visual Studio integrated debugger that enables you to set break points, step through functions, change the current statement, inspect local variables, and perform other operations while debugging.

Visual Leak Detector for Visual C++ is leak finder program for Visual Studio. It can be downloaded from the website for Express editions or installed for standard editions from the "Tools" > "Extensions and Updates" menu. When you run a program under the Visual Studio debugger, Visual Leak Detector will output a memory leak report at the end of the debugging session.

### Other Links

These links were mentioned in previous versions of the News. They are included here for reference.

Install Instructions for .NET Framework SDK are instructions for adding x64 platforms to Visual Studio Express 2010. Express editions after 2010 have the x64 platforms already installed. Visual Studio 2010 is the last edition that will work on Windows XP (platform toolset v100). Visual Studio 2012 (platform toolset v110) and higher contains dependencies on Windows API functions that exist only on Windows Vista, Windows 7, and Windows 8. This means that applications built with Visual Studio 2012 and higher would fail to load and execute on Windows XP.

Survey General Information and Survey Options are the results of an Artistic Style survey from May 2011. There is a commentary on the survey in the May 2011 News under the heading "Survey Results".