DEV Community

F*** PHPStorm Man and the high horse he rode in on

Matthew Daly on January 25, 2020

There’s a particularly unpleasant type of programmer that exists, and you’ve probably met him, either online or in person. I call him PHPStorm Man....
Collapse
 
brandinchiu profile image
Brandin Chiu

A tool is a tool. Don't BE a tool by claiming yours is always better 100% of the time.

Collapse
 
lokidev profile image
LokiDev

Just out of curiosity:
Which nvim php setup do you have?

(Neo)vim is my go-to editor for bash, python, c and almost everything else, but in php I find the usage kind of behind storm/etc but I suspect this might be because I have the wrong plugins?

Easy testing, git access (Gina or fugitive?) And finding definitions and usages of symbols (like methods, constants and classes) would be nice. I tried the ctags based ones, but they're not really compatible with proper DependencyInjection or newer php features :(

Collapse
 
matthewbdaly profile image
Matthew Daly

I make heavy use of PHPActor, which gives me the same sort of refactoring tools as you find in an IDE, as well as navigation and really good completion.

I also use vim-ale, which works with a number of syntax checkers, including the basic PHP syntax check, CodeSniffer and Psalm, as well as ESLint and Flow for my Javascript.

For fuzzy search, I use vim-fzf with FZF and Ripgrep, while I use Fugitive for git support.

Collapse
 
lokidev profile image
LokiDev

Great, I already use fzf and rg heavily in zsh. So even better to integrate it in vim.

I thought about ale in combination with python so now I'll definitely give it a try!

Thanks for you answer this actually helps.

One off topic question: why psalm and not phpstan? I tried only Stan and Codesniffer and am curious if psalm might add sth useful to my toolbelt :).

Thread Thread
 
matthewbdaly profile image
Matthew Daly

I have used both to some extent, and I personally prefer Psalm over PHPStan, largely because I found it was better suited to legacy code (it was built for Vimeo's legacy code base) as a lot of my work is on a messy legacy application and it's had the ability to set a baseline for existing code right from the start. But vim-ale supports both so there's no need to switch if you want editor integration.

Thread Thread
 
lokidev profile image
LokiDev

Then I final thank you. Have a productive week ;)

Collapse
 
brpaz profile image
Bruno Paz • Edited

If you use PHPStorm and enjoy it, then fine, rock on. If you use a different editor or IDE, then that’s fine too.

I couldn't agree more with this and can be applied to many more situations like programming language choices and so on.

People evangelizing technologies and tools and bashing others solely based on their choices is stupid and has to stop.

I have seen that superiority behavior a lot by some die-hard VIM users, bashing IDE users too, so we could also talk about the "VIM man". ;)

I use mostly VSCode for frontend work and smaller projects but for bigger projects, I prefer to use an IDE like PHPStorm or Goland. Things like autocomplete and refactoring tools are so much more polished on these.

Language servers are cool and I think they will be the future, but IMO still have a long way to go. The Golang language server, for example, randomly stops working for me on VSCode. I need a stable development environment!

But that´s my preference based on my context and experience.

Code editors are a very personal choice. Expert vim users can be much more productive than the average IDE user and the other way around.

Whatever editor you choose, just make sure you know it really well and you will be fine.

Collapse
 
briancodes profile image
Brian

What's it like working with Angular in Vim? I'm a VSCode user myself, but I've seen people live coding at conferences using Vim and couldn't quite believe how fast they were editing files. The VSCode Vim extension has around 1.5m installs, so I'm guessing there's something about VSCode that attracts Vim users, but not sure what that is
marketplace.visualstudio.com/items...

Collapse
 
matthewbdaly profile image
Matthew Daly

I'm a React guy so I couldn't really tell you - haven't used Angular since version 1.

You could make it into a pretty decent environment for editing Typescript with vim-ale for completion and linting (possibly also with a completion plugin like coc.vim or Deoplete), a snippet manager, and a plugin for Typescript support.