awesomeProject22Давным давно, когда я писал на матлабе, то сделал в интерфейсе кнопочку, которая создает в папке projects новый файл с именем p_%дата_время%.m и сразу же открывает его в матлабе. Это было невероятно удобно т.к. часто нужно было проверить, как работает какая-то функция, накидать простенький скрипт или просто что-то посчитать, но не в калькуляторе.
Без этой кнопки пришлось бы пройти путь длиннее: File/New Script придумать имя, которое бы получилось случайным нажатием по клавишам. Оно может казаться не сильно сложнее, но кнопка сильно упрощала это и за меня вписывала дату создания в имя файла, что помогало искать его потом.
Когда перешел на го, то почему-то не сделал этой кнопки, но вот сейчас сделал. Она:
1. Создает проект в ~/go/src/local/ по маске
p_%дата_время%2. Делает git init
3. Делает go mod init
4. Создает main.go с пустой функцией main
5. Открывает в Goland'е
Остается только написать нужный код и запустить
Если кому вдруг надо, то установка такая:
1. Создать файл
new-go-project.sh и поместить его в директорию, которая в PATH (я положил в ~/.local/bin/, я в ней храню бинарники и она у меня в PATH добавлена)
#!/usr/bin/env bash
# Создаёт пустой Go-проект p_YYYY-MM-DD_HH-MM-SS (go.mod + пустой main.go + git) и открывает его в GoLand.
set -euo pipefail
# Куда складывать проекты
ROOT="$HOME/go/src/local"
# Полные пути, потому что у GUI-программ PATH часто урезан.
GO_BIN="$(command -v go || echo /usr/bin/go)"
GOLAND_BIN="$(command -v goland || echo "$HOME/.local/share/JetBrains/Toolbox/scripts/goland")"
NAME="p_$(date +%Y-%m-%d_%H-%M-%S)"
DIR="$ROOT/$NAME"
mkdir -p "$DIR"
cd "$DIR"
"$GO_BIN" mod init "$NAME" >/dev/null 2>&1
cat > main.go &1 &
2. chmod +x ./go-new-project.sh
3. В Goland: Settings/Tools/External Tools/+
Name: New Go Project
Program: /home/rostislav/.local/bin/new-go-project.sh
Снять галочку: Open console for tool output
4. Правый клик по верхней панели Goland →
Customize Toolbar… →
Add Action →
External Tools → New Go Project.
5. Можно у кнопки поменять иконку (у меня плюсик)