Every theme is somebody else's taste. Thirty of them ship with Codeshot, each in a light and a dark variant, and one of them is usually close enough — but close enough is a strange thing to settle for in an image that carries your name on it.
On the Mac you no longer have to. Settings → Themes gives you a theme of your own: thirteen colours, a preview that repaints as you pick them, and a file you can hand to someone else.
Where it lives
Open Codeshot's settings and choose the Themes tab. On the left is the list of your themes. Press + to add one, − to remove the selected one.
On the right is a sample snippet in the theme you have selected, a name field under it, and the colour list below that. Everything on that panel is live: change a colour and the sample above repaints immediately.
Two buttons matter. The name field renames the theme. Use This Theme makes it the one the app is drawing with — editing a theme does not switch to it, so this is the step people forget.
The thirteen colours
A syntax theme is not thirteen decisions of equal weight. Two of them set the mood and eleven of them do the work.
| Colour | What it covers |
|---|---|
| Background | The paper behind the code |
| Plain Text | Everything the highlighter does not claim — punctuation, brackets, operators |
| Keywords | let, var, struct, func, return |
| Strings | Quoted text |
| Numbers | Numeric literals |
| Comments | Comments and documentation |
| Declared Types | Types defined in the snippet itself |
| Library Types | Types that come from the framework — String, View, CGFloat |
| Functions | Function and method names |
| Members | Properties and members accessed on something else |
| Variables | Variable names |
| Annotations | Property wrappers and annotations, @State and friends |
| Attributes | Attribute names, mostly in markup languages |
You do not have to fill all thirteen with different colours. Most themes that read well use four or five hues and repeat them: types and functions sharing one, keywords and annotations sharing another. Thirteen distinct colours is not a theme, it is a fruit bowl.
A method that works
Start with Background and Plain Text, and get that pair right before you touch anything else. Every other decision is judged against them, so picking them last means re-picking everything.
Then set Comments, and set them dim. Comments are the one token that should recede — they are context, not code. A theme where the comments are as loud as the keywords reads as noise no matter how good the rest of the palette is.
Then do keywords, strings, and numbers, which is where most of the colour in a real snippet actually lands. Types, functions, and members after that, and the last few can very reasonably repeat colours you have already chosen.
Check the preview at every step rather than at the end. The panel exists so you can judge the palette on real code — colour pickers lie, code does not.
Things worth knowing before you pick
Contrast is not optional. Code images get scaled down in a timeline, viewed on a phone in daylight, and re-compressed by whatever platform you posted to. A subtle low-contrast palette that looks refined at full size is unreadable by the time it reaches anybody. If a colour is hard to read in the preview, it is gone in the feed.
Avoid pure black backgrounds unless you are exporting with transparency or onto a dark backdrop. Against a bright wallpaper, #000000 reads as a hole. Most of the good dark themes sit around #1F1F24 to #282C34 for exactly this reason.
Comments and plain text should differ. If they land at similar brightness, prose and code blur into one grey block and the shape of the snippet disappears.
Match your editor if you want, but check it out of context. An Xcode theme is tuned for a big window on a desk. The same colours in a 1000-pixel-wide image on someone's phone are a different proposition, and usually want a little more contrast than the original.
Sharing a theme
The ⋯ menu at the bottom of the theme list imports and exports theme files.
Export writes the theme out as a file. Import reads one back. That is how a theme gets from your Mac to your other Mac, into a backup, or over to somebody on your team — and it is what makes a house palette practical for more than one person.
When the built-in thirty are the better answer
Building a theme is worth it when you are producing images regularly and want them to look like a set — a series of posts, documentation for a product, slides for a talk.
For a one-off snippet it is not. The thirty that ship with the app are all properly designed, all come in light and dark, and are two clicks away. Compare them side by side and take the one that suits the snippet.
The custom editor is there for the case where you have already done that and the answer was still nearly.