My Sublime Text Setup for PHP
Tags: productivity, php, webdev
Published: 2018-06-03 17:14:44

---
title: My Sublime Text Setup for PHP
published: true
description: My favorite settings, plugins and themes for coding in PHP in Sublime Text
tags: productivity, php, webdev 
---
I have been using Sublime Text for coding in PHP for several months now and over that time have accumulated several useful plugins and editor settings. I have not seen many recent articles about setting up Sublime Text, especially for PHP, so I want to share how my setup works and what has been most helpful for me to write code productively.

### Preferences 
Sublime Text has a preferences area where you can tweak the layout of the editor using JSON. Here are my favorite settings:
```json
{
	"font_face": "Fira Code Retina",
	"font_size": 14,
	"line_padding_bottom": 2,
	"line_padding_top": 2,
	"highlight_line": 14
	"bold_folder_labels": true,
	"rulers": [80, 120],
	"tab_size": 4,
	"translate_tabs_to_spaces": true,
	"trim_trailing_white_space": true,
	"ensure_newline_at_eof_on_save": true
}
```

I follow the [PSR-2]([https://www.php-fig.org/psr/psr-2/) style guide provided by the PHP-FIG so several of these settings have been very helpful in maintaining that style. The *rulers* setting shows a vertical line in your editor as a guide for the line length. PSR-2 sets a preferred limit at 80 characters and a soft limit at 120, so I show a vertical line at both lengths to know when I pass the limit. The *tab* settings ensure I’m always using a four space tab for indentation (yes, I prefer spaces to tabs). Often I forget to add an empty line at the end of the file, so the *ensure_newline_at_eof_on_save* setting will do it for you automatically. If you are curious, the blank last line is to make git diffs not appear for adding a return character to the above line when you start adding more code to the file.

One of my favorite convenience settings is the *highlight_line* preference. It will cause Sublime to highlight the line the cursor is on, making it really easy to find where you are typing. Finally, I use [Fira Code](https://github.com/tonsky/FiraCode) as my font. It’s a really nice font that has ligatures. Sublime Text supports font ligatures now which makes your code look really clean.

### Plugins
There are so many plugins for Sublime Text, it can be difficult finding the good and helpful ones. In no particular order, here is a list of all the ones I find most useful.

* [All Autocomplete](https://github.com/alienhard/SublimeAllAutocomplete)
* [Babel](https://github.com/babel/babel-sublime)
* [BracketHighlighter](https://github.com/facelessuser/BracketHighlighter)
* [DocBlockr](https://github.com/spadgos/sublime-jsdocs)
* [Git](https://github.com/kemayo/sublime-text-git)
* [GitGutter](https://github.com/jisaacks/GitGutter)
* [PHP Companion](https://github.com/erichard/SublimePHPCompanion)
* [PHP Getters and Setters](https://github.com/francodacosta/sublime-php-getters-setters)
* [Vintageous](https://github.com/guillermooo/Vintageous)
* [A File Icon](https://github.com/ihodev/a-file-icon)
* [Sublime Linter](https://github.com/SublimeLinter/SublimeLinter)
* [Sublime Linter PHP](https://github.com/SublimeLinter/SublimeLinter-php)

*Sublime PHP Companion* adds several helpful commands for PHP development. In particular, I really like the `Find Use` command which will automatically add a `use` statement at the top of your file for the class name under your cursor. *DocBlockr* will auto-generate doc blocks for your PHP methods, making documentation much easier. *Vintageous* adds vim keybindings (one of my favorite plugins). *GitGutter* will show you added and modified lines in the sidebar, making it easy to find new code you have written. The *Babel* plugin adds ES6 and JSX syntax highlighting. *All Autocomplete* will add auto-complete entries for all the files that you have open, making it easy to reference methods for classes you have open.

### Theme
In the general release of Sublime Text 3, the team added a new theme called *Adaptive* which will automatically adjust the appearance of the sidebar and tab bar to match the chosen color scheme. My two favorite color schemes are [Dracula](https://draculatheme.com/sublime/) and [Solarized Dark](http://ethanschoonover.com/solarized) (provided by default). In the past, I have used the [Boxy Theme](https://github.com/ihodev/sublime-boxy), but it has since been deprecated in favor of a newer theme.

![My setup](https://thepracticaldev.s3.amazonaws.com/i/4eih36wn2x5rgl1rcla2.png)
*Here is what my setup looks like now using the Dracula theme.*

If you have some favorite Sublime Text plugins or settings, let me know in the comments. I’m always looking for more features to try out.

Here is a list of several blog posts that helped me create this setup:
* [Sublime Text (3) for PHP Developers | MattStauffer.com](https://mattstauffer.com/blog/sublime-text-3-for-php-developers/)
* https://wesbos.com/sublime-text-5-visual-tweaks/
* [How to configure Sublime Text for PSR Standards | Development Simplified](http://joshfrankel.me/blog/How-to-configure-sublime-text-for-psr-standards/)

Happy coding!