Это пока ты в CI/CD не ударился, да с legacy не поздоровался (а там всегда намешано…). Потом облака, Golang… Хоба, и ты уже на недоRuby пишешь конфиги к puppet.
но мы в альтернативной реальности поэтому в некоторых подпространствах emacs (обмазанный с craft'ом под себя а не c trade'ом с фичами и дуделками для маркет-менеджеров и утят-нубов) оптимален как и любой «легко» расширяемый программно редактор с стабильным интерфейсом
go vet в связке с Watch работает совсем непохоже на автодополнения.
Открывается новое окно, в котором при сохранении файла постоянно выполняется команда go vet, указывающая на ошибки в файлах в формате file.go:12. На эту строку можно тыкнуть и откроется file.go на 12 строке.
Что касается сниппетов, то традиционное решение очень простое – просто открыть директорию со сниппетами, найти нужный и оттуда скопировать текст.
Если это происходит часто — открыть новый инстанс Acme, в котором эта директория, вместе с парочкой самых частых сниппетов, всегда открыта. 4 клика в лучшем случае, ~6 в худшем.
Есть ещё один метод, чуть-чуть сложнее. Можно ввести <snip bfs, исполнить и на месте этого текста будет пример реализации какого-нибудь breadth-first search. snip — простейший скрипт, который на основе первого аргумента (dfs) выводит сниппет в stdout. Меньше операций, нет переключения окон. Могу предположить, что этот метод лучше подойдёт тем, кто ну очень часто нуждается в запросах к сниппетам.
Я немного про другое. Там выше я показал команду “|grep -n pattern $(cat)”. Это чтобы искать по файлам, указанным в выделенном тексте. Так вот если там будут пробелы в имени файла, то $(cat) это не поймёт правильно, потому что command substitution разбивает строки по IFS, в котором традиционно (и на всю жизнь, видимо) пробел, таб и перенос строки. Поэтому нужно:
|IFS='
'
grep -n pattern $(cat)
Либо задать глобальный IFS. Я не пробовал, но предчувствую проблемы с портабельностью.
Переносы строк вообще никак не пофиксить. Такова фундаментальная проблема текста — какой-то разделитель должен быть.
Лорчую отсутствие подсветки. Люди лезут на потолок и выдирают волосы от одной мысли об этом. Очень сложно объяснить преимущества отсутствия подсветки, от тебя ожидают какой-то научный прорыв, тогда как на самом деле всё очень банально: я просто читаю текст.
Текст — сам по себе очень мощный инструмент. Диаграммы, иллюстрации, игра с цветами не делают из него что-то принципиально более совершенное. Я вот смотрю на то, как люди пишут большие книги или статьи: это череда черновиков, чёрно-белый сплошной текст, разделённый отступами.
Когда я понял, что пользуюсь поиском очень часто и постоянно ходить в файл неудобно, создал скрипт Global
Тут скорее даже не в этом дело. Ходить в файл guide удобно.
До сих пор пользуюсь Global и понял, что мне нужен более удобный способ иметь несколько поисковых запросов одновременно. Допустим, я хочу позже вернуться к старому поисковому запросу, но сейчас нужно найти что-то новое.
Можно, конечно, извращаться с навигацией в рамках одного файла, но ведь окна как раз придумали для более удобной навигации.
Можно вручную делать временные окна, заранее положив в файл guide команды:
New -grep
|grep pattern `{cat}
<find . -type f |sort
(New -grep исполняем, следующие две команды переносим в новое окно.)
Скорее всего, именно этот метод является предпочтительным, я его просто пропустил по незнанию. Я делаю практически то же самое, только через скрипт.
Хотя вручную это занимает заметно больше ручной работы.
А зачем этим заниматься одному человеку? Ты в стартапе работаешь? У нас в конторе для ci/cd специально обученные люди есть, и они в основном на yaml пишут) В legacy лезть тоже желания мало, даже если это legacy .net framework, а уж всякие legacy пхп с перлами, это вообще за гранью добра и зла, если за такое браться, то только для того чтобы переписать на современном стеке.
Специализация это удел профессионалов. Чтобы знать свой инструмент, нельзя растачивать свои силы на все подряд. В какой-то момент надо остановиться и пойти в определенной области вглубь.
Словами это не объяснить. Унутрив концепцию и освоив много аккордов, радикально сокращаешь дистанцию между мыслью сделать что-то и результатом. Вот, представьте себе, что вы все операции делаете мышкой в менюшках, а враги вам мышь в три раза замедлили. Вы всё ещё можете сделать ту же работу, но сам процесс чудовищно бесит. А потом, мышка починилась и курсор бегает резво как раньше. Чувствуете облегчение? Вот у меня такое же при переключении между другими программами и emacs’ом.
Текст — сам по себе очень мощный инструмент. Диаграммы, иллюстрации, игра с цветами не делают из него что-то принципиально более совершенное. Я вот смотрю на то, как люди пишут большие книги или статьи: это череда черновиков, чёрно-белый сплошной текст, разделённый отступами.
Но вот только код, это не просто текст. Если взять Войну и Мир и сделать ошибку на пятисотой странице в имени Пьера Безухова, назвав его Бузуховым, ничего в понимании этого текста приципиально не изменится. А программный кода это такой текст, в котором лишняя запятая может отправить ракету вместо Марса на Венеру. Есть разница с написанием книг и статей, не так ли? У текста программы есть структура, есть строгие синтаксические правила и каждый символ критически важен. Было бы очень здорово, если бы существовал какой-нибудь инструмент, который бы подсказывал семантику слов в выражении в реальном времени и одного взгляда на текст было бы достаточно, чтобы увидеть ошибку и исправить её не дожидаясь пока вылезет ошибка компиляции, не сфейлится тест или ракета не врежеся в Венеру. А! Стойте, есть же такой помощник!
У текста программы есть структура, есть строгие синтаксические правила и каждый символ критически важен.
В русском/английском языке тоже.
увидеть ошибку
Место ошибки можно подсвечивать красным, если ближе к современным подходам. Можно быстро переходить к месту ошибки линтера или компилятора или тестов.
Кстати, подсветка в любом случае без тесной интеграции не подсвечивает место ошибки тестов. Люди, кажется, всё равно не страдают без этого.
Мне кажется, дело ведь совсем не в этом. Подсветка, связанная с важными инструментами, имеет смысл, не спорю. Но ведь она зачастую проявляется в 8 красивых цветах, превращающих код в радугу. Считается, что это помогает непосредственно в момент чтения и написания кода.
подсказывал семантику слов в выражении
Семантика (то есть смысл) подсказывается чтением и ничем другим. Радуга, возможно, и не мешает этому, но и не помогает.
херота это. Компилятор ругнётся, а не подсветка или статический анализатор.
Мне казалось, что чем раньше я узнаю о проблеме, тем лучше, проще и быстрее её пофиксить. Всегда интересно обнаруживать людей, которые руководствуясь какими-то крайне странными принципами сознательно усложняют себе жизнь. Вы всегда подобной стратегии придерживаетесь? Лампочка check engine - херота, вот когда кольца залягут, тогда и поеду на сервис.
А вот с подсветкой беда. Проводили психологические тесты (на onedark theme). Люди очень быстро привыкали. И если хоть немного иеняли цвет или вообще тему - полная дизориентация и «слепота» по коду. Эту проблему даже как-то назвали.
Я по себе заметил, что если непривычная цветовая тема, то я не понимаю, что написано. Syntax off помогает, но становится уныло без адаптации. Сейчас многие используют минимальные темы, где обыгрываются выделения наклоном, жирнотой или небольшим изменением ч/б или однотонки. Это позволяет не быть «слепым» в семантике.
Ну и создатели темы не всегда успевают обновить до изменённого синтаксиса, что в случае шарпа или js/ts для меня было критично.
и что в этом плохого то? Это вполне нормально для человека привыкать к чему-то, привычка позволяет мозгу меньше нагружаться вырабатывая автоматизм. Зайди в любой автосервис, у каждого есть его любимые пассатижи, которые привычно лежат в руке, привычно помещаются в карман и с привычным усилием перекусывают проволочку. Этими пассатижами человеку удобно работать. И это прекрасно, он меньше заморачивается и делает свою работу быстрее и качественней. Было бы крайне странно поотбирать у людей их пассатижи и выдать другой инструмент чтобы не привыкали. Бессмылица же. Я много к чему привык на работе: к своей кастомной сплит-клавиатуре, к нестандартной раскладке, к моей мышке, к моему монитору и к креслу. Мне это удобно. Именно поэтому компьютер называется персональным - он настраивается под персональные предпочтения.
Это значит - много, много давно написанных и требующих вмешательства.
Потихоньку стали, как-как. Какой стартап? Ты где живёшь? Сейчас или специалист или совсем зелёный новичок. А времени по большей части нет. Что можем, то конечно бросаем в молодняк, только фундамента знаний маловато.
Я посмотрел одним глазом из-за go, что там devopsЫ (нет слов, маты) крутят в своём мире… Это ад, адище! А когда порезали для сурьёзного бизнеса всякие next->next (ой, у Вас тут ошибка в конфе)->done по одной кнопке…
то вполне нормально для человека привыкать к чему-то
Ты не понял. Инструменты сейчас делаются быстрее. За ними opensource не поспевает. И если у тебя новый синтаксис не понимает - ты слепнешь. А задержка лично с пинками - 3-4 месяца. А ЯП - много. И сами редакторы тоже на месте не стоят…
да это же просто глупости, чувак, высосанные из пальца. Если бы я тридцать лет не программировал на самых разных языках и в самых разных средах, я бы еще подумал - может человек знает о чем говорит. Но нет, кажется ты вакуумный теоретик.
Ешё раз - возраст не показатель. А думать надо. Вон люди пишут, что мембранка норм, моник 14/17 дюймов - норм. )) TiledWM - это для мамкиных хакеров. Можно долго перечислять ))
речь о трэйде «универов» где соискатели ищат не craft профессионализма в cs(кодинге) а ачивку для матчинга херкам как результат содержание не важно важно выглятить как подходящий
следовательно и с исструментарием существенная доля софта прикладного буквально рассчитанно на некомпетентных - вообще популярность ide в том числе обусловленно экономикой в которой программисты упали в качестве :)
Ничего не дорисовывается. Да, чтобы по верхам проскококать по любому языку достаточно нескольких дней, но чтобы изучить конкретный язык досконально, включая весь сопутствующий инструментарий, потребуется не один месяц, а то и год.
Я в принципе не понимаю, что вы тут перечислять собрались. Есть удобный инструмент позволяющий комфортно работать - ну и слава Христу, юзаем. Вы мне пытаетесь через какие-то мутные исследование доказать, что я не должен использовать удобный инструмент. Я считаю вас сумасшедшим и не рекомендую пользователям слушать ваши бредни порожденные шумами в голове. Товарищи, не слушайте этого сумасшедшего, он гонит.
если более серьёзно то acme не идеал да b sam тоже но это движение в более верном направлении чем то что случилось
в нашей альтернативной ( и даже в чём то одарённой) реальности где как реакция следствие на «оффис»-внедрение микропроцессорной революции { в небудем показывать пальцем в части провинций мира ваще процы попали сначала в офисы а не на пром станки}
оказалось «выгодней» прикручивание «трёхмерных кнопок» полиграффии как в типографии в каждую норку и прочее «всё как у людей»
уверен пользуйся массы acme пользы в долгую больше чем от не массового использования vim/emacs/words(M$)
отдельный вопрос отчего «шершавые» инструменты на рынке(этом вот таком) оказываются более «приспособленными» чем ортогонально_лаконичные по входу но часто более широкие по выразительным возможностям интерфейса - но где требуются речь из «слов» а не набор жестов по нужным моментам которые видимо ориентированны на первую сигнальную а не на вторую
зы - шершавый тут - интерфейс который переусложнён эволюцией
Потому что так работает наш разум. Есть два способа решения проблем: божественный и обезьяний. В первом случае человек гениальным озарением прозревает затруднение сверху донизу и находит идеальный ответ во всей его полноте. Это очень сложно, мало когда бывает и, что хуже, мало зависит от твоей воли. Просто случается. Обезьяний же метод гораздо проще и управляемее: берёшь кусочки решений от похожих проблем и просто выученные за годы жизни трюки и начинаешь их комбинировать, пока оно не сложится во что-то, что в принципе решает проблему. Используется повсеместно, благодаря чему нынешнее IT и пребывает в столь мизерабельном состоянии.
уверен пользуйся массы acme пользы в долгую больше чем от не массового использования vim/emacs/words(M$)
Круто ты заливаешь, и я согласен с некими тезисами. Мне самому подход Bell Labs зенки открыл, ходил с выпученными глазами, повторяя мантру - «Plan9! Plan9! Future! Holy crap»!
Но сравнивать emacs мир с word? Это даже для меня жирота )))
3 основных для мну дополнения не работают без принятия лицухи и на VSCodium щщах. Только сборка от Майков.
Это .net у меня оно тоже что-то там просило? А все потому что надо писать на православной сишечке в имаксике, край с++, а не на столлманомерском .net. Кстати fsf делал форк java, а вот .net ниасилил. Чому так?