51. Делимся кодом удобно
Часто бывает нужно скинуть кому-то свой код, но отправлять код простым текстом - не лучшее решение, т.к. будет некрасиво/неразборчиво. В этой статье покажу несколько способов как сделать лучше.
Для примера возьмем такой кусок кода:
import SWDesignSystem
import SwiftUI
/// Экран с диалогами
struct DialogsScreen: View {
@EnvironmentObject private var defaults: DefaultsService
var body: some View {
NavigationView {
ZStack {
if defaults.isAuthorized {
DialogListView()
} else {
IncognitoProfileView()
}
}
.background(Color.swBackground)
.transaction { $0.animation = nil }
.navigationTitle("Сообщения")
.navigationBarTitleDisplayMode(defaults.isAuthorized ? .inline : .large)
}
.navigationViewStyle(.stack)
}
}
#if DEBUG
#Preview {
DialogsScreen()
.environmentObject(DefaultsService())
}
#endif
Telegraph
Чтобы отформатировать код в этой статье, я включил английскую раскладку клавиатуры, выделил кусок текста с кодом и нажал на кнопку со знаком `(справа от левого shift):
К сожалению никакой подсветки тут пока нет, но такой формат все же читать проще, чем обычный текст.
Pastebin
- Переходим на сайт https://pastebin.com/
- Вставляем код
- Выбираем нужные настройки внизу, в том числе язык для подсветки синтаксиса
- Жмем
Create New Paste - Копируем ссылку из адресной строки и делимся, с кем нужно
Telegram
Телега поддерживает возможность форматирования кода при помощи спец. символов, а именно:
- Ставишь
```swiftпервой строкой (для других языков тоже работает) - Вставляешь свой код со второй строки
- Последней строкой ставишь
```
Github gist
Переходим по ссылке https://gist.github.com/ или нажимаем справа сверху на профиль, далее - Your gists:
Создаем новый gist и можем увидеть подобную картину:
Чтобы код выглядел лучше, нужно добавить расширение файла .swift:
Чтобы сохранить gist, жмем на кнопку справа снизу и выбираем, будет ли код доступен публично, или только по ссылке:
Для этой статьи я использую первый вариант и gist сможет посмотреть любой человек, у которого есть ссылка на него.
Medium
В медиуме делиться кодом можно через инструмент, доступный при написании статьи:
Язык программирования может распознаться автоматически, но если не распознался - можно выбрать вручную из выпадающего списка.
Что если не форматировать?
Telegraph
@EnvironmentObject private var defaults: DefaultsService
.background(Color.swBackground)
.transaction { $0.animation = nil }
.navigationBarTitleDisplayMode(defaults.isAuthorized ? .inline : .large)
.environmentObject(DefaultsService())
Telegram
Medium
Заключение
Будет здорово, если после прочтения этой статьи в чатах будет больше читаемого кода с подсветкой синтаксиса 😀
Другие статьи можно почитать тут.