А вы пробовали искать эту функцию в графе? [G] Из графа, по клику на метод, можно как раз переходить к началу вызова. А если подержать Shift и кликнуть, то переходит в конец метода.
Другое дело если функция слишком незначительная, тогда спасает переход ползунком куда-нибудь в середину + комбинация Step-Out (Step Out Back) — [Shift+Вверх \ Вниз] на клавиатуре.
А поиска пока что нет, я планировал сделать, но боюсь получится полноценное IDE.
P.S. еще можно заигнорить файлы\папки которые не интересны. К сожалению это блеклист, хотя в этом случае был бы полезней Whitelist
Как вариант можно попробовать мою предыдущую тулзу (статья)
Конечно на сложных кейсах мгновенного фидбека не будет, но если тестить маленькие куски кода, то можно добиться практически моментальной (<0.5 s) обратной связи от внесения изменений
1:
Я тестировал начиная с Python 3.6. У самого есть проект на втором питоне, но пока руки не дошли чтоб добавить поддержку или протестировать совместимость.
Все это работает через Cython-модуль, и при первом запуске код трейсера пытается скомпилиться. На MacOS/Linux проблем в теории быть вообще не должно.
Под виндовс, я заметил что необходимо поставить Windows 10 SDK (из MS Build Toolkit), тогда все собирается и работает, если поставить Python x86-64.
ARM если честно, не тестировал.
2. Внутренности выполнения C-кода не записываются. Проблем с вызовом нативного кода возникнуть не должно.
3. Я так и не добрался протестировать асинхронность и многопоточность. Если говорить про реализацию трейсера — сбор событий и запись на диск происходит в разных потоках. Хотелось бы увидеть реальные кейсы с многопоточностью (привет, GIL), а потом принять решение как это лучше реализовать.
4. Да, конечно. Пока не придумал как это лучше запаковать, поэтому для себя удобней использовать онлайн версию. А тут — полные исходники веб-приложения
Проверил, запускает все тесты, для которых включен циклический прогон. При чем при изменении файла, не связванного с тестами, они все запускаются заново.
При этом в отчете покрытия, не понятно, какие тесты затрагивают конкретную строчку кода
Вот как это отображается у меня:
А это — в PyCharm:
Когда я первый раз эту штуку пробовал в pycharm (около года или двух назад), оно еще переключало фокус на окно с покрытием. Сейчас вроде стало лучше, но все равно не юзабельно.
Более быстро должно выполнятся :)
А я хотел без «if-else» написать. Правда можно провалиться в какое-нибудь лишнее присваивание, будь условие задачи посложнее.
static void Main(string[] args)
{
for (int i = 1; i <= 100; i++)
{
string symbol = i.ToString();
if (i % 3 == 0)
symbol = "Fizz";
if (i % 5 == 0)
symbol = "Buzz";
if ((i % 3 + i % 5) == 0)
symbol = "FizzBuzz";
Console.WriteLine(symbol);
}
}
Другое дело если функция слишком незначительная, тогда спасает переход ползунком куда-нибудь в середину + комбинация Step-Out (Step Out Back) — [Shift+Вверх \ Вниз] на клавиатуре.
А поиска пока что нет, я планировал сделать, но боюсь получится полноценное IDE.
P.S. еще можно заигнорить файлы\папки которые не интересны. К сожалению это блеклист, хотя в этом случае был бы полезней Whitelist
Конечно на сложных кейсах мгновенного фидбека не будет, но если тестить маленькие куски кода, то можно добиться практически моментальной (<0.5 s) обратной связи от внесения изменений
Я тестировал начиная с Python 3.6. У самого есть проект на втором питоне, но пока руки не дошли чтоб добавить поддержку или протестировать совместимость.
Все это работает через Cython-модуль, и при первом запуске код трейсера пытается скомпилиться. На MacOS/Linux проблем в теории быть вообще не должно.
Под виндовс, я заметил что необходимо поставить Windows 10 SDK (из MS Build Toolkit), тогда все собирается и работает, если поставить Python x86-64.
ARM если честно, не тестировал.
2. Внутренности выполнения C-кода не записываются. Проблем с вызовом нативного кода возникнуть не должно.
3. Я так и не добрался протестировать асинхронность и многопоточность. Если говорить про реализацию трейсера — сбор событий и запись на диск происходит в разных потоках. Хотелось бы увидеть реальные кейсы с многопоточностью (привет, GIL), а потом принять решение как это лучше реализовать.
4. Да, конечно. Пока не придумал как это лучше запаковать, поэтому для себя удобней использовать онлайн версию. А тут — полные исходники веб-приложения
При этом в отчете покрытия, не понятно, какие тесты затрагивают конкретную строчку кода
Вот как это отображается у меня:
А это — в PyCharm:
Когда я первый раз эту штуку пробовал в pycharm (около года или двух назад), оно еще переключало фокус на окно с покрытием. Сейчас вроде стало лучше, но все равно не юзабельно.
С этим то и проблемы.
нд, и даже не догадываются каким должен быть телефон на самом деле. А с телефонами у нокии все достаточно плохо.А я хотел без «if-else» написать. Правда можно провалиться в какое-нибудь лишнее присваивание, будь условие задачи посложнее.
Остальным потребуется день или два.