Setapp - my programmer's toolkit
Setapp has been on the market for several years now. During this time the number of applications available in this service has significantly increased. Currently, there are already a hundred and several dozen of them, all for $9.99 a month. For all the applications available in Setapp that I currently use, I would pay as much as for a four-year subscription for this service. There are actually so many of them that the time has come to describe them all and dispel the doubts of skeptics who get goose bumps on the word "subscription".
The first thing that comes to the fore is the applications I use every day and which are - besides Xcode - my basic set of development tools or help me learn more programming languages. I won't list here the applications that I don't use and that may also be useful for developers (e.g. database management tools).
SnippetsLab
Since almost the very beginning of my adventure with learning programming, this is my basic notebook for saving various code fragments found in the network, especially class extensions and structures from the basic libraries provided by Apple, i.e. Foundation, UIKit, Cocoa or SpriteKit. For the first few years I wrote in it almost exclusively code fragments in Swift language and sometimes in Objective-C. As a Swift programmer I also use it as a handy notebook for larger pieces of code for later use. Recently it has also been used by me to write similar code snippets in Python, which I am also learning.
What is great about this program is the convenient highlighting of code blocks in one of 350 programming and scripting languages. Among them are of course the most popular ones, such as C, C#, C++, Objective-C, Swift, Python, Java, JavaScript, PHP, HTML or CSS. One note may contain not only a piece of code in the chosen language, but also a description of what it does.
Each note can be assigned the appropriate tags, so that you can find the right one more easily when the notebook becomes a bulky tommy. The notes can be synchronized with iCloud or added to the user repository on GitHub. The collection can also be exported as XML or JSON, or even as a text file separate for each note.
SnippetsLab also offers many color themes, so you can use it comfortably in all lighting conditions.
Code Runner
I discovered this application when I started to learn Python and was looking for some convenient code editor in any language with the ability to run it. The first source I checked was of course Setapp. It turned out that there is a program exactly what I need, namely CodeRunner. It is in CodeRunner that I take my first steps in programming in Python. In many ways it is the perfect application for me.
This program supports more than 25 different languages, from Apple Script, through C, C#, C++, Go, Haskell, HTML, Java, JavaScript, Kotlin, as well as Objective-C, Objective-C++, PHP, Python, Swift to Ruby. There is, of course, auto-filling of the code, automatic indentations (so important in Python), the possibility of running the created code directly in the program (at least when it comes to Python - because I use it). Finally, there is access to the documentation of a given language. So you can easily find what you are looking for there without switching to a web browser.
Teacode
I guess every programmer knows how annoying and tedious it is to constantly paste some code fragments or sometimes a few commands that for some reason have not been added to Xcode auto-complete. It is also possible to paste the basic methods of generating table cells or handling related events, i.e. methods belonging to the UITableViewDataSource and UITableViewDelegate protocols. Despite auto-filling, Xcode lacks more automation. This is probably due to the fact that each developer has different preferences and wants these fragments or whole templates for particular classes to look different. Here I have a very special program to quickly replace one text with another. There are quite a few applications of this type, but I think only one was created with the code in mind. This program is TeaCode. What's more, it was created by a Polish developer studio - Apptorium.
Using TeaCode, you just need to enter the appropriate string assigned to a given piece of code and then use a defined keyboard shortcut. As probably every such program, TeaCode also allows you to define appropriate fields, so that when you replace a selected string, you can enter appropriate values to the pasted code, so you can create universal stickers that will be useful in many situations.
Of course, TeaCode works with many different code editors or IDE environments, although I use it only when creating code in Swift in Xcode.
Expressions
Regular expressions are commonly used in every programming language. They allow you to create - with the help of predetermined combinations of letters, numbers and characters - templates allowing you to replace selected characters, whole phrases and check whether the text you enter meets the relevant criteria (e.g. is an email address). I met with regular phrases already in the first weeks of my work as a junior developer in one of the software houses. From time to time I use regular phrases on different projects in Swift or Python. Thanks to Expressions I can easily create correct combinations and test them on different strings. Expressions is also a base for this type of expressions. Thanks to this program I already have a whole set of expressions, which I can reach if necessary.
It is also worth mentioning that Expressions also came from the same Polish studio - Apptorium.
Sketch Export for Xcode
While I'm working on different projects, but often also while digging through the web resources of different projects prepared in Sketch (application for creating detailed user interface designs), I want to save the colors or entire color sets in the project. Here I usually reach for Sketch Export for Xcode.
Just drop such a project on the window of this program and all used colors will be extracted from it. The only thing you have to do is to select the ones you want to save, and in the bottom right panel you will see the ready code in Swift, which you can copy and paste directly into Xcode or, for example, save it in the SnippetsLab application mentioned above.
These are only some of the programs available in Setapp that help me in my everyday work as a programmer or in learning programming in Python (although I'm not hiding that I'm still learning Swift because programming languages are still evolving). However, I use them most often. In the next episode I will deal with tool applications that help me in my daily work with a computer, documents or, more broadly, files on its disk.