Разработка на Python в Visual Studio Code
Python – один из самых популярных и простых в изучении языков, поэтому многие начинают изучать программирование именно с него.
В этом мануале вы узнаете, как работать с Python в Visual Studio Code. Мануал поможет установить расширение Python в Visual Studio Code, научит пользоваться IntelliSense и расскажет о горячих клавишах для запуска кода Python.
Требования
- Установка Python и настроенная локальная среда разработки. Необходимые инструкции вы найдете в мануале Установка Python 3 и настройка среды разработки на сервере Ubuntu 18.04 (если вы используете другую систему, найдите мануал для нее в этом разделе).
- Установка Visual Studio Code (для этого посетите официальную страницу загрузки).
1: Запуск кода Python из встроенного терминала
Установив Python и включив локальную среду разработки, откройте Visual Studio Code.
В интерфейсе Visual Studio Code откройте каталог, в котором вы работаете. Для этого нажмите File -> Open и выберите каталог. После этого вы увидите, что ваш каталог открыт в окне слева.
Теперь вы можете создать свой первый файл Python (с расширением .py) и добавить в него код простой тестовой программы «Hello World». Создайте файл demo.py и вставьте в него строку:
Теперь, когда у вас есть готовый код Hello World, мы можем запустить его с помощью встроенного терминала в Visual Studio Code. Если терминал еще не открыт, вы можете открыть его, выбрав View -> Terminal или воспользовавшись сочетанием клавиш CTRL+~.
Терминал, который вы только что открыли, автоматически запустится в текущем каталоге, который вы редактируете в Visual Studio Code. Именно поэтому мы сначала создали и открыли каталог. Вы можете убедиться, что терминал открыт именно в этом каталоге, запустив следующую команду:
Эта команда выведет путь к текущему каталогу. Затем вы можете убедиться, что ваш файл Python также находится внутри текущего каталога, запросив список файлов в этом каталоге:
Теперь вы можете запустить ваш файл Python с помощью следующей команды:
После запуска вы увидите фразу Hello World на консоли.
2: Установка расширений Python
Чтобы упростить процесс работы с Python в Visual Studio, можно установить расширение Python, разработанное Microsoft. Чтобы установить его, откройте меню расширений слева (значок выглядит как квадрат внутри квадрата, пятый сверху) и найдите Python.
Это будет первое всплывающее окно. Вы можете кликнуть по нему, чтобы просмотреть сведения о расширении, и нажать Install.
После установки может потребоваться перезагрузка. Если нужно, сделайте это.
После перезапуска вы можете воспользоваться функциями нового расширения Python, среди них:
- IntelliSense
- Автодополнение
- Горячие клавиши для запуска файлов Python
- Дополнительная информация о переменных Python, функциях и т. д.
Чтобы начать работать с IntelliSense, создайте пустой массив по имени list.
Введите list. (обязательно с точкой) и обратите внимание на информацию, которая появляется на экране. Так расширение перечисляет все функции и свойства списков, которые вы можете использовать.
Если вы хотите использовать одну из предложенных функций, вы можете нажать Enter или Tab, и расширение автоматически дополнит название этой функции. Благодаря этому вам не нужно запоминать каждую функцию Python: расширение всегда подскажет, что доступно. Также обратите внимание, что оно предоставляет вам краткое описание того, что делает выбранная функция и какие параметры она принимает.
Вы также можете использовать intellisense при импорте модулей в Python. К примеру, если вы импортируете модуль random:
intellisense подскажет, как завершить имя модуля, а также предоставит информацию о том, что он делает.
Если позже вы будете использовать модуль random, intellisense подскажет, какие функции доступны для этого модуля.
Позже вы можете навести курсор на существующие переменные и т.п., чтобы получить дополнительную информацию обо всех этих элементах.
3: Горячие клавиши для запуска кода Python
Теперь давайте рассмотрим небольшой фрагмент алгоритма Bubble Sort. Он вызывает функцию bubble_sort и выводит результат. Вы можете скопировать этот код в свой файл:
def bubble_sort(list):
sorted_list = list[:] is_sorted = False
while is_sorted == False:
swaps = 0
for i in range(len(list) — 1):
if sorted_list[i] > sorted_list[i + 1]: # swap
temp = sorted_list[i] sorted_list[i] = sorted_list[i + 1] sorted_list[i + 1] = temp
swaps += 1
print(swaps)
if swaps == 0:
is_sorted = True
return sorted_list
print(bubble_sort([2, 1, 3]))
На примере этого фрагмента кода мы рассмотрим новый способ запуска нашего файла Python. Как правило, первый рабочий процесс, который запускается при работе с файлами Python – это сохранение файла, а затем его запуск в терминале. Расширение Python предлагает несколько горячих клавиш, которые ускорят нашу работу.
Внутри любого файла Python в редакторе вы можете щелкнуть правой кнопкой мыши и выбрать Run Python File In Terminal. Эта команда запустит файл, и он выполнит все свои действия. После этого вы увидите вывод bubble_sort на консоли.
Также есть горячие клавиши, которые открывают оболочку REPL, где вы можете быстро ввести код Python прямо в консоль и увидеть результат. Откройте командную панель с помощью сочетания клавиш CMD+SHIFT+P на Mac или CTRL+SHIFT+P в Windows и выберите Python Start REPL.
После ввода команды print на консоли сразу появится вывод Hello World.
Заключение
Python – невероятно популярный язык с надежной поддержкой в Visual Studio Code. Установив расширение Python, вы получите доступ к Python intellisense, автодополнению и полезным сочетаниям клавиш.
Как запустить проект на Python в visual studio code?
Написал бота для вк, но столкнулся с проблемой
Как запустить код, позже узнал, что VS Сode больше редактор, чем среда для разработки
Посмотрев пару роликов на ютубе, попробовал установить расширение Code Runner, что тоже не решило проблему
Что можно сделать?
- Вопрос задан более года назад
- 1466 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 3
в VS Code есть разрешение Python, благодаря ему я запускаю коды на питоне, может это поможет
Ответ написан более года назад
KEY7EVEN @KEY7EVEN Автор вопроса
Здравствуйте, расширение установлено, можете конкретнее прокомментировать, как запустить
Нажми на кнопку «Enable» или «Включить/Разрешить», тогда должно сработать
KEY7EVEN @KEY7EVEN Автор вопроса
Askhatbek,
что именно мне нужно включить
KEY7EVEN, у вас уже все включено, можете работать

KEY7EVEN, а уже всё включено. Если хочешь запустить скрипт — просто нажми кнопку play сверху справа

Установи расширение для python
Появится кнопка запуска скрипта примерно под кнопкой свернуть
Ответ написан более года назад
Комментировать
Нравится Комментировать

Aragorn @Lord_of_Rings
Python developer
1. Если Python не установлен, установите.
2. В главном файле проекта нажмите кнопку Ctrl+Alt+N
3. Выберите интерпретатор Python, если потребуется.
Visual Studio Code: как открыть файл

Как работать с Python в VSC (Visual Studio Code)?
Как очистить окно терминала от выведенных ранее строк?
Как можно изменить путь запуска файла в Visual Studio Code?
Хочу запустить код в Visual Studio Code, но выдает такую ошибку: No such file or directory. В.

Как создать exe файл в Visual Studio Code?
Добрый день! Столкнулся с тем, что не смог найти средства для создания exe-файла в VS Code.
Как открыть cpp-файл в Visual studio?
Как запустить там cpp файл ? чтоб ничего не получается .
Как открыть в Visual Studio файл settings.designer?
Как открыть в визуал студии файл settings.designer ?
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от OlgaVarsh 
выдает ошибку, что переменная examp не задана
name ‘examp’ is not defined
У вас какая-то странная ошибка. Никакого отношения к тому, как задать файл, она не имеет.
Потому что при неверно заданном пути вы получите стандартную ошибку о том, что файл не найден:
1 2 3 4 5 6
>>> pd.read_csv('/Users/olgam/example.csv', sep = ';') Traceback (most recent call last): File "", line 1, in module> pd.read_csv('/Users/olgam/example.csv', sep = ';') . FileNotFoundError: [Errno 2] File /Users/olgam/example.csv does not exist: '/Users/olgam/example.csv
Автоматизируй это!
![]()
7054 / 4559 / 1207
Регистрация: 30.03.2015
Сообщений: 13,132
Записей в блоге: 29
Сообщение от OlgaVarsh 
name ‘examp’ is not defined
условно говоря интерпретатор не знает о переменной там, где вы ее используете, покажите код или полный текст ошибки. Не в функции случайно вызываете?
Регистрация: 29.04.2013
Сообщений: 30
Вот весь код (не функция):
1 2 3 4 5 6 7 8 9
import pandas as pd examp = pd.read_csv('/Users/olgam/example.csv', sep = ';') for i in examp.columns[0:3]: examp['Stand'] = (examp[i] - examp[i].mean()) / examp[i].std() a = abs(examp[[i,'Stand']].corr()[i]['Stand']) b = abs(examp.loc[examp['Stand'] 3][[i,'Stand']].corr()[i]['Stand']) if a b: examp.loc[(examp['Stand'] > 2),i] = None print (examp)
При этом, если я запускаю этот код во вкладке Run and Debug, то там все работает. А в консоли не работает.
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от OlgaVarsh 
Вот весь код (не функция):
Это нечитабельный код. Выложите его в тегах Python, чтобы он был отформатирован и были понятны отступы.
Python без отступов — не код, а просто набор букв.
Добавлено через 1 минуту
Сообщение от OlgaVarsh 
А в консоли не работает.
Нужно было привести скриншот того, как именно не работает, иначе эта ремарка не несет никакой информации.
Регистрация: 29.04.2013
Сообщений: 30
Сообщение от Garry Galler 
Это нечитабельный код. Выложите его в тегах Python, чтобы он был отформатирован и были понятны отступы.
Python без отступов — не код, а просто набор букв.
Так у меня в сообщении и выложено в тегах Питона
Сообщение от Garry Galler 
Нужно было привести скриншот того, как именно не работает, иначе эта ремарка не несет никакой информации.
У меня в первом сообщении написано, какая проблема: name ‘examp’ is not defined. Вы хотите скриншот этого сообщения вместо моего напечатанного текста? )
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от OlgaVarsh 
У меня в первом сообщении написано, какая проблема: name ‘examp’ is not defined.
Вы, видимо, не понимаете, что такое программирование. Нельзя сказать что у вас что-то не работает и не показать полный тресйбек ошибки — копипастом или на скриншите. Если бы вы это сделали, вам давно сказали в чем у вас проблема. Тем более, что проблемы в самом коде, действительно, нет. Есть проблема с его запуском. Но вот какая?
Вы пишите, что код не работает в консоли. Какой именно — мы должны догадаться? Консолей есть великое множество.
И, скорей всего, то что вы называете консолью — ей на самом деле не является. Предоставленный скриншот попыток вашего запуска кода позволил бы избавиться от неоднозначности женской логики и невнятности описания проблемы.
Впрочем, вы можете продолжать настаивать на своем. Или обратиться к экстрасенсам.
Сообщение от OlgaVarsh 
Так у меня в сообщении и выложено в тегах Питона
Это вас модератор исправил. А должны были вы.
Добавлено через 1 минуту
Сообщение от OlgaVarsh 
Вы хотите скриншот этого сообщения вместо моего напечатанного текста?
Не этого текста. А полного трейсбека в котором указан — представляете?! — даже номер строки с ошибкой.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как открыть заголовочный файл через конструктор Visual Studio?
Когда я открываю заголовочный файл формы он открывается в виде кода, а не конструктора.
Как открыть проект созданный в Visual Studio 2012 в Visual Studio 2008?
Нашел здесь же тему открытия Visual Studio 2012 в Visual Studio 2010 там написано так. Открыть.
В visual studio code не находит файл
Скачал visual studio code под Linux хочу запустить файл, test.cpp, но выдаёт ошибку launch program.
Как проект на visual studio 2012 открыть на visual studio 2008
Программа(курсовая) создана на 2012, надо показать и чтобы работала на 2008. Подскажите пожалуйста.
Возможно ли как-то открыть файл .exe в Visual Studio для просмотра кода программы?
Возможно ли как-то открыть файл .exe в Visual Studio для просмотра кода программы?
Visual Studio Code для Python¶
Visual Studio Code отличный выбор для начинающего программиста, имеет необходимый минимум:
- неплохую документацию
- автодополнение кода (с использованием IntelliSense)
- подсветка синтаксиса
- встроенный отладчик
- расширение функционала за счет плагинов
- управление системой контроля версий git
- кроссплатформенный
- бесплатный, с открытым исходным кодом
Также редактор адаптирован для Веб-разработки и вполне подойдет для серьезных проектов как основной инструмент редактирования кода.
Установка¶
Linux¶
- Скачиваем дистрибутив для своей ОС https://code.visualstudio.com/download
- Для Linux существуют два типа пакетов, самых популярных форматов, rpm и deb. Установка в Ubuntu/Debian:
$ sudo dpkg -i .deb
CentOS/Fedora:
$ sudo yum install .rpm
Fedora > 22 версии:
$ sudo dnf install .rpm
$ code
Nix¶
Пакетный менеджер Nix работает на любом Linux дистрибутиве, содержит богатую базу уже готовых пакетов, в том числе и vscode.
-
Установка пакетного менеджера:
$ curl https://nixos.org/nix/install | sh
$ nix-env -i vscode
Плагины¶
Редактор имеет возможность расширения функционала за счет плагинов и удобный интерфейс их установки, доступный по нажатию кнопки:
![]()
Из списка можно выбрать любой плагин и установить, после чего он применит свои настройки к редактору.
Расширения можно искать введя название или ключевые слова в строке поиска, например Python .
Существует огромное количество расширений для Go , C# , C/C++ , Nix , Haskell , Python , JS , TypeScript и др.
Python¶
После установки плагина Python нам становятся доступны многие функции:
- Автодополнение кода
- Проверка синтаксиса
- Отладка
- Подсказки
- Переход к определению функции, класса и прочее
Автодополнение¶
Работает при наборе по нажатию Ctrl + Space .
Проверка синтаксиса¶
Показывает ошибки в коде:
Работает если установлены Python пакеты Pylint , Pep8 или Flake8 .
$ pip install -U --user pylint pep8 flake8
Отладка¶
Встроенный в редактор отладчик позволяет отлаживать код визуально, устанавливать точки останова мышкой и просматривать переменные в отдельном окне. Это похоже на отладку в различных IDE, таких как QtCreator или Wingware.
Также избавляет программиста писать мучительные строки типа printf или import pdb;pdb.set_trace(); .
Настройки¶
Настройки хранятся в формате JSON и доступны из меню File->Preferences->User Settings .
Шрифт¶
Шрифт задается в настройках File->Preferences->User Settings :
// Place your settings in this file to overwrite the default settings < // Controls the font size. "editor.fontSize": 16 >
Автодополнение через ¶
Более привычно дополнять код по клавише . Для этого необходимо открыть настройки пользователя File->Preferences->User Settings и прописать опцию editor.tabCompletion :
// Place your settings in this file to overwrite the default settings < // Controls the font size. "editor.fontSize": 16, // Insert snippets when their prefix matches. Works best when 'quickSuggestions' aren't enabled. "editor.tabCompletion": true >
Язык¶
- Открываем командную строку Ctrl + Shift + P
- Вводим команду Configure Language

- Меняем локаль на нужную, например ru :

Тема¶
Цветовое оформление задается в настройках File->Preferences->Color Theme .
Git¶
Умеет подсвечивать изменения в файлах с предыдущего коммита, выполнять команды git и отслеживать состояние, например какая текущая ветка.
Python скрипты¶
Visual Studio Code требует для отладки открывать не просто файл, а директорию. Это необходимо, что бы в этом каталоге сохранить локальные настройки редактора. Такая директория будет считаться проектом для редактора.
Для примера, создадим директорию hello1 и откроем в редакторе File->Open Folder. .
Создадим в этой директории файл myapp.py :

Добавим в файл пример с сайта http://trypyramid.com
from wsgiref.simple_server import make_server from pyramid.config import Configurator from pyramid.response import Response def hello_world(request): return Response('Hello %(name)s!' % request.matchdict) config = Configurator() config.add_route('hello', '/hello/') config.add_view(hello_world, route_name='hello') app = config.make_wsgi_app() server = make_server('0.0.0.0', 8080, app) server.serve_forever()
Для запуска приложения, заходим в режим отладки по нажатию на кнопку:
![]()
Пока у нас нет никаких настроек отладки/запуска проекта, но при первом запуске редактор предложит их выбрать из существующих шаблонов.

Шаблон Python создает настройки в файле launch.json в локальной директории, которые выглядят примерно так:
"version": "0.2.0", "configurations": [ "name": "Python", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "$", "program": "$", "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] >, "name": "Python Console App", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "$", "program": "$", "externalConsole": true, "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit" ] >, "name": "Django", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "$", "program": "$/manage.py", "args": [ "runserver", "--noreload" ], "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput", "DjangoDebugging" ] >, "name": "Watson", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "$", "program": "$/console.py", "args": [ "dev", "runserver", "--noreload=True" ], "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] >, "name": "Attach", "type": "python", "request": "attach", "localRoot": "$", "remoteRoot": "$", "port": 3000, "secret": "my_secret", "host": "localhost" > ] >
Это универсальный шаблон, который добавляет несколько вариантов запуска приложений. Нас будет интересовать первый вариант Python , просто запускающий python файл.

Запущенное приложение останавливается на первой строчке, что позволяет нам продолжать выполнение программы по шагам.
После выполнения второй строки, интерпретатор выдаст ошибку ImportError: No module named pyramid.config . Это происходит из-за того что в нашем Python окружении не установлен модуль pyramid .
Решить эту проблему можно двумя способами:
-
Установить Pyramid в глобальное окружение.
$ pip install --user pyramid
См.также Как создать virtualenv
- Создаем виртуальное окружение:
$ cd /path/to/hello1/ $ pyvenv hello1_env $ source ./hello1_env/bin/activate
(hello1_env)$ pip install pyramid

Прописываем путь до виртуального окружения в настройках проекта Visual Studio Code (файл launch.json ):
"name": "PythonVenv", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "$/hello1_env/bin/python", "program": "$", "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] >
После этого появится возможность запускать наш скрипт в локальном виртуальном окружении. Запущенная программа будет доступна по адресу http://localhost:8080/hello/foo. В консоле отладчика можно наблюдать ее вывод.
Поставим точку останова внутри функции hello_world , в строке 6. Это позволит нам остановить программу при запуске этой функции. После запуска, программа будет нормально работать, пока мы не зайдем по адресу http://localhost:8080/hello/foo, в этом случае запустится функция hello_world и выполнение программы прервется, до тех пор пока мы ее не продолжим вручную.
Примерно так выглядит процесс разработки и отладки программ на Python . Осталось только инициализировать git репозиторий и выложить проект на https://github.com.
- Инициализируем репозиторий:

- Добавим файл .gitignore : Для этого нам потребуется скопировать содержимое https://www.gitignore.io/api/visualstudiocode,python в файл .gitignore и добавить туда директорию hello1_env , что бы она не участвовала в процессе создания версий.
# Created by https://www.gitignore.io/api/visualstudiocode,python hello1_env ### VisualStudioCode ### .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json ### Python ### # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] .

- Добавляем плагин Git Easy в проект
- Создаем репозиторий на GitHub

- Прописываем путь до гитхаба в нашем проекте, при помощи команды Git Easy:Add Orign


- Отправляем изменения на GitHub , при помощи команды Git Easy:Push Current Branch to Origin
При успешном выполнении команды, мы должны увидеть сообщение типа:
To github.com:uralbash/hello1.git * [new branch] master -> master
Файлы будут доступны по адресу https://github.com/uralbash/hello1
Для того что бы проверка синтаксиса заработала, необходимо создать файл .vscode/settings.json и переопределить в нем глобальные настройки для нашего проекта:
< "editor.fontSize": 18, //Python "python.pythonPath": "$/hello1_env/bin/python", // Whether to lint Python files using pylint. "python.linting.pylintEnabled": true, // Whether to lint Python files using pep8 "python.linting.pep8Enabled": true, // Whether to lint Python files using flake8 "python.linting.flake8Enabled": true >
Pyramid¶
Фреймворк Pyramid имеет несколько стартовых шаблонов, которые нужны для того, что бы не начинать писать код с нуля. Рассмотрим как создать шаблон с БД sqlite + SQLAlchemy и настроить его в Visual Studio Code.
Для начала создадим директорию hello2 и виртуальное окружение hello2_env :
$ mkdir hello2 $ cd hello2/ $ pyvenv hello2_env $ source hello2_env/bin/activate $ pip install pyramid
После установки Pyramid , в окружении появляется команда pcreate . С ее помощью создадим проект по шаблону:
$ pcreate -t alchemy . $ ls CHANGES.txt development.ini hello2 hello2_env MANIFEST.in production.ini pytest.ini README.txt setup.py
Устанавливаем его как Python пакет:
$ pip install -e . $ pserve development.ini Starting server in PID 17311. Serving on http://localhost:6543
После запуска, становится доступен адрес http://localhost:6543

Но так-как БД еще не создана, отображается страница с подсказкой как ее инициализировать:
$ initialize_hello2_db development.ini
Теперь мы увидим стартовую страницу шаблона alchemy .
Проект на пирамиде запускается при помощи утилиты pserve . Добавим конфигурацию для Pyramid в файл настроек launch.json , что бы можно было запускать/отлаживать приложение из редактора:
"version": "0.2.0", "configurations": [ "name": "Pyramid", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "$/hello2_env/bin/python", "program": "$/hello2_env/bin/pserve", "args": ["$/development.ini"], "debugOptions": [ "WaitOnNormalExit", "RedirectOutput" ] >] >
Поставим точку останова в функции my_view в файле hello2/views/default.py .
После обновления страницы http://localhost:6543 в браузере, программа остановит свое выполнение в этой точке, а браузер будет ждать пока мы не закончим отладку и не продолжим выполнение вручную.
JavaScript¶

Итог¶
Я, конечно, использую Vim, но советую Visual Studio Code, особенно тем кто не знает что выбрать. Очень, оказался, самодостаточный редактор, git , дбаггер, плагины, vi-мод. Ай да Микрософт!
