Eiffelicious
C# syntax theme for Atom 1.24.1
If you:
- Code in C#
- Fancy having method and property declarations stand out
- Are okay with using an older version of Atom
- Don't require Visual Studio for getting work done, and
- Don't mind wearing sunglasses
This theme might spice up your life.
Inspired from TextMate's Eiffel theme, Eiffelicious works well with C# and Atom 1.24.1.
Why Atom 1.24.1?
Atom's ability to change font sizes for specific symbols is something unique compared to other editors.
Unfortunately, newer versions of Atom suffer from a regression of being incapable of detecting the difference between declarations and calls for methods and properties in C#, so all symbols of a method or property are affected by styling changes, regardless of context. 1.24.1 seems to be the last version that knows the difference.
Despite being an older version, Atom's generic multi-file intellisense autocompletion still works well without needing to rely on external code parsers.
Why Atom?
Atom's out-of-the-box search features just work, time and time again.
-
Ctrl+R: Jump to any declaration in the current file.
-
Ctrl+T: Jump to any file in any Project Folder you've added to Atom's sidebar.
-
Ctrl+Shift+F: Search all files in your Project Folders for any text.
In a perfect world, everything would work without a hitch, but the lay of the land is:
-
Visual Studio is slow to launch, takes ages to update, is only for Windows (the macOS version is a different beast), and doesn't play nicely with Unity's project solutions. Too often, projects becomes unlinked, or Visual Studio's intellisense stops working after a DLL is changed, requiring you to reload all the files, and even then it doesn't always come back.
-
Visual Studio Code can't tell the difference between method and property declarations and calls for C#, and thus can't style them differently.
-
Sublime Text 3 does not detect C# property declarations when searching via Ctrl+R, and does not support generic multi-file intellisense.
-
OmniSharp doesn't always work.
-
Rider is expensive.
As silly as it sounds, this particular version of Atom is my preferred C# editor, coupled with this theme.
Unity integration
If you develop games with Unity, go Edit > Preferences > External Tools, and then:
- For External Script Editor, browse for Atom.exe or Atom.app.
- For External Script Editor Args, enter:
"$(File)":$(Line)
Issues and gotchas with Atom 1.24.1
-
Before installing Atom 1.24.1:
- Disconnect your Internet connection so Atom doesn't update itself.
- Upon launch, go Help > About Atom, and uncheck Automatically download updates.
-
Lines sometimes squish together. Restarting Atom sometimes helps, but you might need to pad your code with a couple blank newlines in places to make things readable.
-
After closing a tab or file, Atom may stop suggesting autocomplete results and stop highlighting matching brackets. This can be resolved by reloading Atom via Ctrl+Shift+F5.