MyTetra Share
Делитесь знаниями!
Как в VSCode в проекте на Python обеспечить навигацию по коду
Время создания: 23.05.2023 15:15
Автор: Xintrea
Текстовые метки: VSCode, VS Code, python, навигация, библиотеки, пути, перепрыгнуть, перейти, определение, реализация
Раздел: Компьютер - Программирование - Язык Python
Запись: xintrea/mytetra_syncro/master/base/16848441241vrzdp2hwn/text.html на raw.github.com

Главное свойство любого IDE - это дать программисту возможность быстро переходить в нужное место кода. Необходимость быстро посмотреть код с описанием переменной или перейти в реализацию метода - это самая базовая потребность любого разработчика. И IDE должно уметь эту потребность удовлетворять.


К сожалению, VSCode в базовой настройке для Python-проектов работает так, что при навигации "от корня" проекта вниз к частным классам работает без проблем, а вот находясь в глубине проекта, перепрыгнуть на "вышестоящие" сущности не получается. Связано это с тем, что по-умолчанию анализатор кода парсит текущий файл, и допускает переход к сущностям, которые подключены в этом файле. Если же сущности подключены косвенно через промежуточные файлы, то без дополнительных настроек перепрыгивать на такие сущности не получится.


Что нужно сделать, чтобы все сущности проекта были доступны для навигации?


Для этого необходимо в настроечном файле .vscode/settings.json добавить пути поиска py-файлов, которые будут анализироваться лексическим анализатором. Пути задаются относительно корневого каталога проекта.


Например, структура проекта следующая:



.vscode [dir]

lib [DIR]

actions [DIR]

widgets [DIR]

main.py



И в каталогах lib, actions, widgets находятся различные py-скрипты, используемые в проекте. Тогда в файле .vscode/settings.json необходимо добавить следующие опции:


Для старых версий VSCode (как минимум до версии 1.52.1 включительно):



{

...


// Устаревший стиль описания каталогов поиска исходников

// для работы навигации по коду


"python.autoComplete.extraPaths": [

"lib",

"actions",

"widgets"

],


...

}



Для более новых VSCode:



{

...


// Новый стиль описания каталогов поиска исходников

// для работы навигации по коду


"python.analysis.extraPaths": [

"lib",

"actions",

"widgets"

],


...

}



После сохранения изменений с этими настройками, навигация даже в режиме "снизу-вверх" должна заработать.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования