Working in Windows again, with the power of the Atom!
So, as you read in my last post - I recently got a new Gigabyte Laptop to start using as my all-in-one gaming and development device. This has recently meant that I’ve returned to the Windows ecosystem after developing and coding in Unix/OS X for the last 2.5 years professionally.
It’s a helluva change…!
My previous working arrangement was:
- Sublime Text 3 as my primary text editor for coding
- The built-in Terminal application to handle my SSH shenanigans
- Filezilla FTP for any GUI based file transactions needed
Admittedly, the above covered about 99% of everything I needed to do. Over the last few days or so, I made do with an almost similar compromise in Windows:
- Sublime Text 3 works just as well in Windows for coding and development!
- Git Bash – which comes with Git for Windows is pretty darn great too! It’s a very nice alternative to the Windows Command Prompt, and works much like a Linux terminal.
- WinSCP - solves my need for GUI file transactions; it’s less bloated than Filezilla FTP (in my opinion anyway)
This essentially matched everything I needed to do; but I’ve now also made the jump to Atom - the free editor/pseudo-IDE from the Github team. When I first tried Atom it had a lot of small, tiny little issues that kept me from using it as my primary coding editor. They all appear to be fixed now; and it has the equivalent plugins that I use in Sublime. I suppose in theory, this list is a lot more for my own personal use, than for any sort of public disclosure:
atom-beautify - lets me implement PHPCBF (part of the PHP Code Sniffer package) to automatically ensure my coding is to PSR-2 standards; it’s not 100% perfect, but it saves a lot of time with what it can fix.
atom-alignment - this is both for aesthetics and sanity. It basically lines up repetitive lines of code, such as array assignments, etc. So that it’s a lot more readable, and quicker to understand. For example:
emmet - I was always a bit hesitant to use Emmet when I first started out using Sublime Text; I figured, another bunch of shortcut keys to learn isn’t going to be as productive for me as just using raw power and speed to bash out whatever code was needed. Boy was I wrong. The shortcuts are really actually just one shortcut, and the syntax is logical and smooth. Definitely thrilled that this is available for both Atom and Sublime Text.
git-control - Atom’s native git tweaks and this package are what tipped the balance and made me decide to switch from Sublime Text. Git-Control is still heavily in development, but it provides a basic UI for you to do some quick git operations. It’s not as rapid as opening up the command palette and punching in ‘commit’ or ‘push’, but it does let me easily select files to commit in specific pushes, etc. As eLeague.gg’s platform gets more and more complicated; I find myself grouping my commits a little more for better coherence when I’m reviewing code and what I need to do. This certainly beats doing everything via the Sublime command line.
It really needs to be noted though, that for git-control to use your existing SSH agent and SSH key settings; you’d best install the Microsoft Git Credential Manager for Windows. It’ll automagically work whenever you use git across anything, and it solved what could have been hours of tinkering for myself. I had discovered it early on while trying to tinker around and getting my environment working… huge sigh of relief!
Things I’ve installed but they’re kinda optional…? #
gitKraken - learning more about the Electron platform for building desktop Apps (it’s what’s behind the Atom Editor); I came across gitKraken. It’s a very attractive git GUI that does have its benefits (like managing merges, and conflict resolution) - but being the solo developer on the project so far, I haven’t had many issues with this, and it’s minimised even further now by my moving to a single computer for development… We’ll see how it goes?
Composer - I normally use composer as an autoloading assistant in many projects of mine (in fact, every project I have right now!) - and I wasn’t so sure about installing it on Windows; thankfully recent updates by the Composer team have made that ridiculously easy. It automagically adds it to the environment path, and system variables; and it extremely simplified the PHPCBF (PHP Code Sniffer package) installation for me.
mRemote-NG - I can easily use Git Bash to SSH into servers, but that would involve managing multiple windows, and remembering all the credentials (whenever there’s no SSH key available). mRemote offers me a centralised area for doing all that, in tabbed windows. It hasn’t gotten that much mileage from me yet, as most of the time my development is all local now, and deployment is mostly automated. But, it’s still very handy to have!
That pretty much sums up everything…
There’s one more app I installed, but it’s more focused on my transition from deploying to a world-accessible development domain, to a local development environment.