Перейти к содержанию
    

On 10/7/2023 at 11:34 AM, uni said:

Плагины обновляются чуть ли не каждый день,

On 10/7/2023 at 11:34 AM, uni said:

python и тп - какое-то разнообразие.

Т.е. - навешивается куча бессмысленных функций, при том что основные, необходимые вещи - не реализованы.

Может расскажете - как в рекламируемом вами чудесном VS Code отлаживать многопоточные Python-овские приложения? Исключительно с помощью print()?  :unknw:

Изменено пользователем haker_fox
Поправил потенциальное нарушение правил 2.1.б.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не смотрите в эту тему. Вам для здоровья полезнее. 

Я далее буду игнорировать все такие реплики, так как мне интересно здесь обсуждение только  конкретного инструмента. 

В исходниках сборочного окружения Ardupilot повсеместно применяется python. Он используется waf и просто как набор скриптов. Что касается встраиваемых систем, то могу ещё упомянуть библиотеку modm, где также используется python. 

В VS Code, как среде разработки, python поддерживается и очень удобно между делом править скрипты и непосредственно проект. Такое иногда приходится делать из-за особенностей сборки Ardupilot через Cygwin. Я пояснял это в своём видеоролике по сборке Ardupilot'а таким образом для полётника CUAV-X7.

Также python скрипты используются в Chibios для парсинга datasheet'ов STM32 для автоматического портирования кода под другие мк. Есть видео, где об этом рассказывается, но всё руки не доходят посмотреть и перенять для себя, пока не освоил. 

VS Code не PyCharm, но от него это пока и не требуется. Это современная модульная среда разработки. Там есть больше чем нужно функционала редактора для встраиваемых систем и он конечно функциональней Keil, IAR или Eclipse. К примеру, насколько я помню, ни одна из этих сред не умеет подхватывать doxygen комментарии для объектов кода налету. Некоторые другие среды умеют (Clion, например). Это очень удобно, когда тебе сразу доступно описание кода во всплывающей подсказке.

Для кого того это свистоперделки, но я так не считаю и пользуюсь всеми доступными удобствами. Это особенно полезно при обзоре таких проектов как Ardupilot. Навигация по коду в VS Code просто замечательная, когда нужно найти все концы. Я недавно так нашёл и исправил ошибку в Ardupilot проекте, просто воспользовавшись удобствами навигации при локализации места в коде. Может ролик сниму, аналогичный авторским, как навигировать в большом проекте при поиске ошибок. Они в своём ролике также демонстрировали не просто отладку, а локализацию проблемы. 

Изменено пользователем haker_fox
Поправил потенциальное нарушение правил 2.1.б и 2.1.а.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Несколькие "себя" - это как?
Никогда не сталкивались - программа не позволяет более одной запущенной своей копии? Пример: звуковой редактор Audacity - можно открыть несколько файлов, но в конкретный момент времени обрабатываться (применяться, скажем, фильтр) будет только один; вторую (и тд) копию программы с другим набором входных файлов запустить нельзя - не запускается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня до 3-х экземпляров открыто одновременно бывает. Разных проектов. Обычно я работаю с двумя проектами одновременно и открываю их в разных экземплярах VS Code. База данных для конкретного проекта хранится обычно локально вместе с ним, вы указываете место хранения в настройках к конкретному проекту. Поэтому проблем с одновременной работой у меня не было. VS Code постоянно асинхронно чем-то занимается, к примеру, подсветка кода зависит от наличия файлов в проекте. Некоторые проекты при сборке формируют файлы, которые будут собирать и в процессе сборки можно видеть как меняется подсветка по мере парсинга появляющихся файлов. Всё происходит автоматически. Не нужно как в CubeIDE, к примеру, делать принудительно переиндексацию проекта, когда что-то недоподсветилось как должно. У VS Code более стабильная раскраска. 

Я сталкивался с проблемой при попытке расширить VS Code на два монитора. Само окно не расширяется в автомате на два 4К монитора. Это можно сделать вручную, изменив размеры, но это неудобно. Открыть один проект (папку) из двух экземпляров не получится, так как программа автоматически активирует уже запущенный экземпляр. 

Можно перенести вкладку из редактора на второй монитор. Она переносится, но теряется "связь" по подсветке, то есть нарушается работа редактора кода. Это известная проблема, её обсуждают и думается когда-нить порешают. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, uni сказал:

Не смотрите в эту тему и перестаните исходить желчью. Вам для здоровья полезнее. 

Может не будем переходить на личности? Я вроде на Вашу личность не переходил...

10 часов назад, uni сказал:

Я далее буду игнорировать все такие реплики, так как мне интересно здесь обсуждение только  конкретного инструмента. 

Я задал конкретный вопрос по вашему "конкретному инструменту": Можно ли? и как? установить брекпоинт в неглавном потоке (не в GUI-потоке) отлаживаемого Python-приложения? Так чтобы этот брекпоинт сработал.

Брекпоинты относятся к базовым возможностями отладки любого отладчика. Без них такой "инструмент" вряд-ли вообще можно называть "отладчиком". Но при этом, "VS Code" (по крайней мере для Win) почему-то не останавливается на брекпоинте, установленном в не-GUI-потоке отлаживаемого Python-приложения.

Так - КАК?

10 часов назад, uni сказал:

Для кого того это свистоперделки, но я так не считаю и пользуюсь всеми доступными удобствами. Это особенно полезно при обзоре таких проектов как Ardupilot. Навигация по коду в VS Code просто замечательная, когда нужно найти все концы.

Не надо здесь назойливой рекламы. Здесь не форум кухарок. Здесь технический форум. Просто ответьте на конкретный вопрос. Раз так восхваляете этот "VS Code".

А для рекламы - поищите лучше другой ресурс. Реклама на этом форуме вообще-то запрещена.

 

PS: У меня, например, об этом "VS Code" сложились самые худшие впечатления. После того, как пришлось им попользоваться. Хуже отладчика я ещё не встречал (хотя работал со множеством разных).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

🙂 каждому свои фломастеры, я пользуюсь всеми. 

О присвятой Кирхгоф, моя  техническая реклама связки VS Code + STM32 cmake: 

 

Изменено пользователем uni

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: @jcxz, @uni, делаю вам обоим крайней устное предупреждение! Перестаньте начинать выяснять отношения в этой теме с употреблением уже несколько ненормативной лексики и перехода на личности. Напоминаю, что тема называется "VS Code + gcc/gdb". Это и продолжаем обсуждать, если обсуждать есть что.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: в свете некоторых более свежих событий ещё раз подчёркиваю, что здесь обсуждаем только данный редактор в связке с дополнительным инструментарием. Обсуждать вопрос его нужности/ненужности лишний раз не стоит. Т.к. это очень субъективный аспект. Каждому удобно пользоваться чем-то конкретным, и возможно, что есть немалая масса пользователей, которым нужен опыт именно с VS Code. Тем не менее, если такие вопросы возникают, задаём их вежливо. Ну, а тот, кто желает - отвечает. Нет желания - лучше ничего не отвечать, а тем более не указывать вопрошающему не заходить в данную тему. Если вопрос остался без ответа, то не нужно его задавать многкратно, подвергая полиморфизму. Слова в стиле "свисто*****" и т.п. тоже рекомендую оставить для личного круга общения. Всё. При продолжении подобного я закрою тему до особого распоряжения, либо выпишу предупреждения в профиль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для VS Code понятие "дополнительный инструментарий" слишком широкое. Я бы сузил обсуждение до связки VS Code и gcc/gdb, т.е. сборки при помощи gcc и отладки через gdb, как было упомянуто первоначально. Отладка python-скриптов в VS Code поэтому не относится к этой теме.

В этом смысле можно было бы объединиться с темой: 

Там тоже используется VS Code и тоже сборка идёт при помощи компилятора GCC (avr-gcc). Но я выделил её отдельно, чтобы не смешивать avr и arm архитектуры.

 

Изменено пользователем uni

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Использование WSL для сборки и отладки STM32 проектов
Окружение разработки: Windows 11, WSL, VS Code, CMake, ARM GCC.

https://www.youtube.com/watch?v=g4k4OOwf58M

Изменено пользователем uni

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, uni said:

Окружение разработки: Windows 11, WSL, VS Code, CMake, ARM GCC.
 

Спасибо за ваши труды. Вот бы еще тулчейн, мейк и пакетный манагер в контейнер загнать. Их много разных может быть, а ВСЛ один. У меня в компании среда разработки поставляется в едином контейнере и работает из под докера в лин или виртуал бокс в вин. Я кой как прикрутил к ВСЛ используя подман. Есть несколько непонятных моментов, но в целом выглядит очень перспективно 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дойдём и до контейнеров, всё сразу не успеваю.

У меня ещё более старое видео есть по сборке Ardupilot в WSL, но я тогда не знал, что можно USB расшаривать, поэтому в ролике сомневался в практической полезности подхода.

Сборка Ardupilot в WSL (Windows 11 + Ubuntu): 


Попробую отладку Ardupilot через VS Code (cortex-debug) в Windows через WSL (Ubuntu-22.04), используя J-Link. Да, можно и виртуалку использовать, но это и так все знают как делать.
Там в WSL можно и Ozone от Segger запускать, но как это всё вместе выглядеть будет не знаю. Мне нравится "прозрачная" доступность Ubuntu через WSL. Я пока не могу полностью перейти на Linux, может быть, используя WSL, постепенно перекочую. Жаль просто терять десятилетия опыта мучений с Windows. Ведь "выкинуть" всё придётся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все средства разработки отлично в Windows работают без танцев с бубном. Просто берёшь и работаешь. К чему всё это? 😮

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это не так. К примеру, мне для сборки исходников Ardupilot в Windows одним из рекомендованных разработчиками способов нужно использовать cygwin, где запускать python скрипт waf (их сборочная система). Так вот этот самый python, который там нужен для сборки в cygwin, оставляет процессы windows в подвешенном состоянии при вызове внешних утилит. Что приводит к использованию танцев с бубном. Это известная проблема в интернетах и её решения я так и не нашёл.
Второй рекомендованный разработчиками способ - это использование WSL. Ну и третий - выкинуть Windows.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ещё один вариант. Подождать, когда индусы таки перепилят винду на ядро linux )

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...