My Sublime Text Setup for PHP

Profile Picture
Andrew Davis
Jun. 3, 2018 • 6m
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:

{
    "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 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 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.

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 and Solarized Dark (provided by default). In the past, I have used the Boxy Theme, but it has since been deprecated in favor of a newer theme.

My setup

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:

Happy coding!