Здравствуйте, Pauel, Вы писали:
A>>Почему плагины для VS Code несовместимы с плагинами для VS? Кто это проектировал? Неужели нельзя было сделать адаптер?
P>Какой еще адаптер? VS Code это просто редактор, у него совсем другая внутренняя архитектура изначально. Плагины же всегда привязываются к конкретной архитектуре.
Прям-таки "всегда"?
Я недавно интересовался, как попроще поднять веб-сервер, потому что гугловредители последовательно борются с локальными файлами. (Отцы-основатели юниксизма, наверно, в гробу вертятся, хотя даже ещё и не все из них умерли).
Какая архитектура нужна плагину, чтобы принять на вход путь к папке и запустить веб-сервер?
Тем не менее, под VS Code плагин есть, а под VS 2022 нет.
Фрагментация это самое тупое, что можно сделать при создании площадки для плагинов. Хороший архитектор постарается обеспечить совместимость и перенос плагинов от IDE, которые выпускают другие. Эти гении выпустили две студии сами, и обе несовместимые вообще НИКАК.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Артём, Вы писали: Аё> хоткеи для навигации назад-вперёд
Alt + стрелолчки влево-вправо что ли? Аё>не знаю, и как закоммитить только часть файлов, с одним сообщением, а остальнве-с другим. В идее оно естественно получантся, а в Code- оно коммитит всем скопом.
Здесь не понял. если речть про файлы (не про части файлов) то очевидно сделать сначала stage, потом commit (нажать на плюсик около измененного файла, который хочешь добавит в комит)
вот
Если именно часть файла (т.е. разбить изменения в одном и том же файле на два разных коммита, то выбрать куски, все есть в контекстном меню
Здравствуйте, Артём, Вы писали:
Аё>Я в последний раз MS VS 6 запускал в 2010, и потом другими ide пользовался. В основном idea. Вот несколько дней, как только VSCode- жить можно, хоть некоторых вещей из idea нехватает (наверное, неумею готовить)- хоткеи для навигации назад-вперёд не знаю, и как закоммитить только часть файлов, с одним сообщением, а остальнве-с другим. В идее оно естественно получантся, а в Code- оно коммитит всем скопом. Аё>Вроде VSCode сейчас популярный и он бесплатен. А MS VC возможно, слили на суппорт группе танцоров, который строку не развернут.
Я бы не доверил студии делать коммиты, и пользуюсь черепахой. Там это решается расстановкой галочек у нужных файлов.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Alekzander, Вы писали:
A>Тем не менее, под VS Code плагин есть, а под VS 2022 нет.
В том то и дело — под вс код вы можете чуть не что угодно.
А под вс — нет. Архитектура вс закладывалась в начале 90x. Наверняка там и код еще оттуда есть.
Здравствуйте, Alekzander, Вы писали:
A>Тут недавно уже обсуждалось, зачем вообще декларативно описывать UI, когда можно сделать псевдо-декларацию на императивном языке (с трюками типа показанных выше). Не хочу повторяться.
Здравствуйте, Pauel, Вы писали:
A>>Тем не менее, под VS Code плагин есть, а под VS 2022 нет.
P>В том то и дело — под вс код вы можете чуть не что угодно. P>А под вс — нет. Архитектура вс закладывалась в начале 90x. Наверняка там и код еще оттуда есть.
Какая архитектура?! Всё, что нужно — умение запуститься. Для этого уже архитектура понадобилась? Умение на три — показать окно настроек плагина, где можно было бы ввести путь к папке. Умение на три с плюсом — узнать путь к открытому файлу. Всё! Это можно сделать в плагине к браузеру или Фотошопу. Неужели на таком базовом уровне нельзя было найти что-то общее у двух IDE, выпускаемых одной компанией, и обобщить в виде интерфейсов? Конечно, если голова не только для того, чтобы в неё есть.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Pauel, Вы писали:
A>>Тут недавно уже обсуждалось, зачем вообще декларативно описывать UI, когда можно сделать псевдо-декларацию на императивном языке (с трюками типа показанных выше). Не хочу повторяться.
P>Ссылка то есть у вас?
Это было совсем недавно, но просматривать список всех тем не хочется. Может, кто-то вспомнит.
Мне проще будет накидать несколько пунктов.
* Как это просматривать (в сборе) и редактировать? В чём? Для контентных языков — plain text'а и маркдауна — есть сколько угодно редакторов. Есть в том числе визивижные. А тут? Кто сказал, что нужно всё, что ты нагородил — метадата, название, ссылки? Нужно просто текст документа. Зато у тебя каждый параграф вынесен в отдельный элемент, и упакован в main. Почему в main, а не в какой-нибудь whoein? Откуда это должен знать редактор?
* Какой будет механизм управления локализациями? Кто будет выбирать локализацию лицензии, выбранную в среде (т.е. браузере)? Когда среди вариантов лицензий не найдётся ни одной, совпадающей с топовой локализацией, кто выберет из списка понимаемых юзером языков второй, третий и т.д.? (Ты этот список вообще из джаваскрипта можешь получить? А браузер может. Если ты добавишь русский к системным языкам Андроида, мобильный фаерфокс перестанет задалбывать тебя предложениями перевести страницу). Когда вообще ни одной подходящей локализации не найдётся, кто кинет ворнинг в консоль браузера?
* Если юрист при подготовке сломает md-файл (ошибётся в статье или выделит то, что от выделения потеряет юридическую силу), это будет его косяк. Если юрист при подготовке сломает js-файл (например, пропустит символ присваивания), это будет твой косяк как архитектора. В результате ошибки юриста у тебя может вообще не отобразиться лицензия.
* То, что юрист может сломать по ошибке, хакер может сломать по злому умыслу. В середину лицензии он может вставить отсылку данных на сервер. А файл с лицензией заставить таскать в соответствии с лицензией. Кто внимательно читает лицензию после слов "бесплатно при условии включения этой лицензии"?
* Даже при внимательном изучении этот код можно не найти, т.к. люди, не застрявшие в нулевых, в курсе трюков с Юникодом. В нём есть двунаправленность, при помощи которой текст можно скрыть от отображения в IDE, но он будет исполняться. (Есть обзоры, кто и как подвержен этой беде в 2024). Юникод можно использовать совместно с другими атаками, например, подменяя в коде имя переменной или адрес сервера (которые визуально выглядят так же). Один из вариантов решения этой проблемы — строго отделить контент от кода. Файлы с кодом — строго в безопасном наборе символов, файлы с контентом — строго без кода. А поскольку код может быть инлайновой частью разметки, для безопасности было бы крайне полезно иметь возможность строго отделять контент и от разметки тоже.
* Части контента приобретают нездоровую зависимость от особенностей императивного языка, в котором описаны, например, от порядка объявления. Сломанный кусок в начале сломает всё остальное. Прощабельные схемы (автозакрытие выделения при помощи *, например) становятся невозможны, т.к. джаваскрипт ошибок не прощает.
* Не имея информации о том, что это контент, браузер ограничен в вариантах оптимизации. Для него это строковые значения полей объектов и больше ничего.
И т.д., и т.д., и т.д.
Если мало, я насыплю ещё.
И это один только пример с лицензией. А ведь я могу взять в качестве примера что-нибудь типа разметочной замены векторных шрифтов. Не задумывался, откуда взялось это уродливое явление, если в HTML всё так хорошо с управлением разметкой?
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Alekzander, Вы писали:
A>Какая архитектура?! Всё, что нужно — умение запуститься.
Это вы о каких плагинах?
Если всё, что нужно только запустить, то зачем это делать плагином?
Не помню как в VS Code но в "большой" студии есть механизм просто запуска консольных утилит.
A>Умение на три — показать окно настроек плагина, где можно было бы ввести путь к папке. Умение на три с плюсом — узнать путь к открытому файлу. Всё!
Зачем для этого плагин? Запускайте консольную утилиту и всё
Здравствуйте, Михаил Романов, Вы писали:
A>>Какая архитектура?! Всё, что нужно — умение запуститься. МР>Это вы о каких плагинах? МР>Если всё, что нужно только запустить, то зачем это делать плагином?
МР>Не помню как в VS Code но в "большой" студии есть механизм просто запуска консольных утилит.
A>>Умение на три — показать окно настроек плагина, где можно было бы ввести путь к папке. Умение на три с плюсом — узнать путь к открытому файлу. Всё! МР>Зачем для этого плагин? Запускайте консольную утилиту и всё
Конечно, если процитировать только (не) понравившиеся куски, полностью упустив суть, любого можно выставить дураком.
Это, кстати, большая проблема RSDN, здесь очень любят так делать. Сама разметка способствует.
Вот пропущенная часть:
Неужели на таком базовом уровне нельзя было найти что-то общее у двух IDE, выпускаемых одной компанией, и обобщить в виде интерфейсов? Конечно, если голова не только для того, чтобы в неё есть.
А зачем сервер из плагина запускать — это уж дело юзеров. В данном случае секрета нет: мне тут один человек написал при обсуждении гуглохрома, что сейчас в каждой IDE есть встроенный веб-сервер. Так что, когда мне понадобился маленький веб-сервер с простой установкой, я и решил посмотреть в плагины. Заодно проверил его слова. Оказалось, что нет, не в каждой.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Alekzander, Вы писали:
A>Сколько я мучился с новым "Пуском", который специально созерцал для достижения дзена и чтобы пропитаться духом нового виндодизайна. Не выдержал, поставил OpenShell, настроил и чуть не прослезился. Какая же это красота была, братцы!
Линух твой путь, если надоело спать на потолке, пристегнугнутым за одну ногу.
Студия стала очень кривой после версии 2005, хотя криветь начала уже после версии 7.0.
A>Неужели на таком базовом уровне нельзя было найти что-то общее у двух IDE, выпускаемых одной компанией, и обобщить в виде интерфейсов? Конечно, если голова не только для того, чтобы в неё есть.
Можете попробовать прикинуть — посмотреть API для разработки плагинов в каждой IDE и прикинуть какую часть можно вынести как общую. Подозреваю, что от задачи "запустить утилиту командной строки" вы сильно далеко и не уйдете.
Ну и чтобы сразу оценить круг задачи:
— VS Code — это Electron, т.е. TS/JS, "большая" студия (в части расширений) — .Net. Т.е. вам нужен какой-то механизм интероперабельности между этими двумя средами. Внешние плагины (в отдельном процессе) только-только начали появляться там и там. Самое большое, что есть — это Language Server, который по возможностям только-только начал дотягивать до языковых сервисов в той же студии.
— VS Code — это редактор на Atom, у которого уже был свой механизм плагинов на момент, когда с ним начала работать MS. У VS — свой. Делать поверх них дополнительный слой?
Ну и т.д. — проблем куча, а профит не очевиден, как минимум потому, что это абсолютно разные по сценариям продукты, поэтому сделать для них переносимую систему плагинов — долго и дорого.
A>А зачем сервер из плагина запускать — это уж дело юзеров. В данном случае секрета нет: мне тут один человек написал при обсуждении гуглохрома, что сейчас в каждой IDE есть встроенный веб-сервер. Так что, когда мне понадобился маленький веб-сервер с простой установкой, я и решил посмотреть в плагины. Заодно проверил его слова. Оказалось, что нет, не в каждой.
Я не очень понял задачу, если честно.
Зачем вам встроенный в IDE веб-сервер? Обычно в IDE (в которых поддерживаются web-проекты) есть возможность запустить "в один клик" свое приложение где-то. По крайней мере, большая часть web-проектов для "большой" VS запускаются во внешнем приложении. Но да, там, как правило можно сразу подключить отладчик, причем как для бэка, так и для фронта. Но встроенный...
Или вы под встроенным понимали что-то иное?
A>>Неужели на таком базовом уровне нельзя было найти что-то общее у двух IDE, выпускаемых одной компанией, и обобщить в виде интерфейсов? Конечно, если голова не только для того, чтобы в неё есть.
МР>Можете попробовать прикинуть — посмотреть API для разработки плагинов в каждой IDE и прикинуть какую часть можно вынести как общую. Подозреваю, что от задачи "запустить утилиту командной строки" вы сильно далеко и не уйдете. МР>Ну и чтобы сразу оценить круг задачи: МР>- VS Code — это Electron, т.е. TS/JS, "большая" студия (в части расширений) — .Net. Т.е. вам нужен какой-то механизм интероперабельности между этими двумя средами. Внешние плагины (в отдельном процессе) только-только начали появляться там и там. Самое большое, что есть — это Language Server, который по возможностям только-только начал дотягивать до языковых сервисов в той же студии. МР>- VS Code — это редактор на Atom, у которого уже был свой механизм плагинов на момент, когда с ним начала работать MS. У VS — свой. Делать поверх них дополнительный слой? МР>Ну и т.д. — проблем куча, а профит не очевиден, как минимум потому, что это абсолютно разные по сценариям продукты, поэтому сделать для них переносимую систему плагинов — долго и дорого.
А что, студия не умеет выполнять JS? Могу посоветовать бесплатную встраиваемую среду маленького размера. Или проблема смаппить вызовы JS-колбеков на вызовы .Net-колбеков? (Это я и назвал адаптером). Что касается "какую часть можно вынести как общую" — так это как проектировать. Если там всё гвоздями прибито к платформе (.Net, JS), и интерфейсы недостаточно абстрагированы, чтобы найти что-то общее у двух IDE, это плохо спроектировано.
Я лично думаю, что дело в другом и такой задачи просто не ставилось. Ещё я думаю, что это плохо для классической студии (на фоне VS Code она выглядит подзаброшенной и не только в вопросе поддержки плагинов). Ещё я думаю, что то, что плохо для классической студии, плохо для всей их экосистемы. Вот на этот абзац возражения интересно было бы послушать. А не про трудности сельского хозяйства по маппингу вызовов с одного языка на другой.
A>>А зачем сервер из плагина запускать — это уж дело юзеров. В данном случае секрета нет: мне тут один человек написал при обсуждении гуглохрома, что сейчас в каждой IDE есть встроенный веб-сервер. Так что, когда мне понадобился маленький веб-сервер с простой установкой, я и решил посмотреть в плагины. Заодно проверил его слова. Оказалось, что нет, не в каждой. МР>Я не очень понял задачу, если честно. МР>Зачем вам встроенный в IDE веб-сервер? Обычно в IDE (в которых поддерживаются web-проекты) есть возможность запустить "в один клик" свое приложение где-то. По крайней мере, большая часть web-проектов для "большой" VS запускаются во внешнем приложении. Но да, там, как правило можно сразу подключить отладчик, причем как для бэка, так и для фронта. Но встроенный... МР>Или вы под встроенным понимали что-то иное?
Зачем нужно запускать сервер из плагина, надо спрашивать не меня, а 50 миллионов скачавших. Он, правда, ещё какие-то хипстерские живые релоады поддерживает. Я не скачивал и не разбирался, мне некуда скачать.
Здравствуйте, Alekzander, Вы писали:
A>А что, студия не умеет выполнять JS? Могу посоветовать бесплатную встраиваемую среду маленького размера. Или проблема смаппить вызовы JS-колбеков на вызовы .Net-колбеко
— Мыши, станьте ежиками
— А как?
— Отстаньте, я — стратег!
A>Я лично думаю, что дело в другом и такой задачи просто не ставилось.
Вы тут сначала повесили собак на микрософт, и вдруг такое — задачи не ставилось
В том то и дело, что в разных яп разные иде, по разному сделаны
На кой черт пилить клон вижлы с теми же плагинами, если сама система плагинов в вижле зашла в тупик?
Потому и не ставилось задачи, от слова совсем. Проект сделали опенсорсным, и он теперь работает чуть не со всеми яп
Представляете, какой простор для критики
— плагины для джавы не совместимы с идеей, нетбинс и иклипс
— ...
Здравствуйте, Alekzander, Вы писали:
A>А что, студия не умеет выполнять JS? Могу посоветовать бесплатную встраиваемую среду маленького размера. Или проблема смаппить вызовы JS-колбеков на вызовы .Net-колбеков? (Это я и назвал адаптером). Что касается "какую часть можно вынести как общую" — так это как проектировать. Если там всё гвоздями прибито к платформе (.Net, JS), и интерфейсы недостаточно абстрагированы, чтобы найти что-то общее у двух IDE, это плохо спроектировано.
Можно. Только проще его отлаживать в браузере.
Если ты про WASM Blazor, то проще использовать JS в браузере.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Pauel, Вы писали:
P>Вы тут сначала повесили собак на микрософт, и вдруг такое — задачи не ставилось
Я сказал, что очень странно, когда одна компания выпускает две IDE, одну, типа, лайтовую, другую для профессионалов за деньги, и под каждую есть своя площадка с плагинами, и они не перекрываются, а плагины несовместимы.
И да, это на самом деле странно.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Serginio1, Вы писали:
A>>А что, студия не умеет выполнять JS? Могу посоветовать бесплатную встраиваемую среду маленького размера. Или проблема смаппить вызовы JS-колбеков на вызовы .Net-колбеков? (Это я и назвал адаптером). Что касается "какую часть можно вынести как общую" — так это как проектировать. Если там всё гвоздями прибито к платформе (.Net, JS), и интерфейсы недостаточно абстрагированы, чтобы найти что-то общее у двух IDE, это плохо спроектировано.
S> Можно. Только проще его отлаживать в браузере. S> Если ты про WASM Blazor, то проще использовать JS в браузере.
Я про то, что если бы проектировал сам, то сделал бы по возможности более-менее одинаковый API для плагинов (в смысле функций). Тогда можно было бы сделать переходник, и в автоматическом режиме часть плагинов VS Code заставить работать со студией.
Вот этому liveserver'у что, много надо? Даже если он не тупо папку раздаёт по http, а умеет без сохранения файла отображать изменения в браузере. Нужно лишь событие, что документ изменился, и свойство с текстом документа. Это совсем не трудно обернуть.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, Alekzander, Вы писали:
A>Глядя, как она постепенно деградирует (6.0, 7.0, 2003, 2005, 2008, 2010, 2013, 2019, 2022), я испытываю чувство, что люди, которые её пишут, сами пользуются чем-то другим. Может быть, Эклипсом.
Ну не знаю, мне нормально заходит, особенно для Си-Шарпа.
A>Последнее, с чем столкнулся. Когда тыкаешь в Next Bookmark на тулбаре много раз, НЕ НАДО тихо сдвигать на её место кнопку Add/Remove Bookmark. Особенно НЕ НАДО сдвигать их туда-сюда. Потому что через десять щелчков у тебя
Эмм... Не знаю, фигня какая-то, ни разу не критичная.
A>Про настройки редактора JS, и как убрать оттуда TS-related stuff, я тут уже спрашивал.
Это мне неактуально, у нас нет JS без TS.
A>Где настройки format-on-paste? Приходится отключать полностью, потому что фантазия разработчиков, как испортить форматирование, безгранична. И не дай бог забудешь убрать для какого-нибудь языка. Хорошо иметь привычку коммитить не из IDE и глазками просматривать всё, включая невидимые символы. А то ведь сломаешь и не узнаешь.
Тоже не понял, не помешал бы пример. Попробовал скопировать из .rtf в .ts-ный файл, открытый в VS — всё заформатировалось под текущий формат.
A>Почему плагины для VS Code несовместимы с плагинами для VS? Кто это проектировал? Неужели нельзя было сделать адаптер?
Ты там либо что-то такое мегакрутое пишешь, либо за пятерых работаешь Зачем вообще в VS плагины из VS Code??
A>Короче, это можно долго продолжать.
Как человек, работающий одновременно и с VS, и с Delphi, скажу так: не всё так плохо, ибо может быть ещё хуже. Хотя когда-то борландовское IDE было на голову высхе микрософтовского.
A>Вообще, качество майкрософтного десктопного софта упало в какую-то анальную бездну. Пока я набирал этот текст, Винды 11 не менее десяти раз проглотили нажатие переключения языка при помощи Ctrl+Shift (без переключения, само собой). Я не помню ни разу, чтобы такое произошло на семёрке. Неужели компания ценой в триллион не может протестировать переключение языков и пофиксить этот баг?
A>Сколько я мучился с новым "Пуском", который специально созерцал для достижения дзена и чтобы пропитаться духом нового виндодизайна. Не выдержал, поставил OpenShell, настроил и чуть не прослезился. Какая же это красота была, братцы!
Вот с одиннадцатой Виндой да, сплошное разочарование. Особенно меня убивают изменения в таскбарах и новое контекстное меню. Не, меню-то я откатил на старое, но это потребовало времени нарыть в Интернете понимания, как это правильно сделать. А вот с таскбарами — хрен! Раньше у меня было две строки таскбаров, сейчас — только одна... Такое ощущение, что ориентироваться стали на всё более и более тупого юзера: "Там не ходи, это не трожь, а вот это тебе вообще не надо"...
Здравствуйте, Jester, Вы писали:
A>>Где настройки format-on-paste? Приходится отключать полностью, потому что фантазия разработчиков, как испортить форматирование, безгранична. И не дай бог забудешь убрать для какого-нибудь языка. Хорошо иметь привычку коммитить не из IDE и глазками просматривать всё, включая невидимые символы. А то ведь сломаешь и не узнаешь.
J>Тоже не понял, не помешал бы пример. Попробовал скопировать из .rtf в .ts-ный файл, открытый в VS — всё заформатировалось под текущий формат.
Пример? Если вставить пару свойство: значение; из буфера в CSS, как при этом запретить студии удалять пустые строки (вертикальные пробелы) между группами свойств? Студия портит весь текущий скоуп (т.е. блок).
Я вообще не нашёл настроек для языка CSS, кроме как полностью отключить format-on-paste.
Конкретно с js-ом только сегодня налетел, но не на после вставки, а просто на дубовое переформатирование. Я случайно стёр апостроф, после чего нажал Enter, и студия тут же "отформатировала" _имена классов_ в селекторе (добавила пробелы вокруг минусов!). Если не успеешь заметить и нажать Ctrl + Z, а допишешь руками апостроф, потом ищи, где сломалось.
A>>Почему плагины для VS Code несовместимы с плагинами для VS? Кто это проектировал? Неужели нельзя было сделать адаптер?
J>Ты там либо что-то такое мегакрутое пишешь, либо за пятерых работаешь Зачем вообще в VS плагины из VS Code??
Если бы.
Ладно, рассказываю в пятый раз )) Нужно было посмотреть простую веб-страничку, но по http. Под VS Code есть очень популярный плагин, который, согласно описанию, запускает веб-сервер для открытого файла (плюс обновляет при редактировании). Под VS нет ни этого сервера, ни аналога.
У плагина, кстати говоря, 50М уников. Если бы я был в команде студии, я бы с такими цифрами заказал автору портирование. Или сам бы руками перенёс.
J>А вот с таскбарами — хрен! Раньше у меня было две строки таскбаров, сейчас — только одна... Такое ощущение, что ориентироваться стали на всё более и более тупого юзера: "Там не ходи, это не трожь, а вот это тебе вообще не надо"...
Ну да. Как вставлять рекламу в "Пуск" и делать эту хреномудию, которые все операции и данные записывает... под соусом ИИ... название забыл... если юзер может что-то настроить/отключать.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.