Я пробовал Visual Studio Code. Вот мои выводы.

Что касается Python, я всегда использовал комбинацию PyCharm, Spyder и Jupyter. PyCharm, потому что это серьезная IDE для серьезных проектов. Spyder, потому что мне нравится проводник переменных и возможность запускать код построчно. И записные книжки Jupyter, потому что ... ну что, мне действительно нужно объяснять?

Недавно я решил попробовать VSCode. Изначально причина, по которой меня привлекла VSCode, заключалась в следующем:

Удаленное кодирование

Я работаю на ноутбуке с Windows, и некоторые пакеты Python не работают в этой ОС (например, Ray). Я пробовал подсистему Windows для Linux и тому подобное, но без особого успеха. Поэтому, когда мне нужно работать с Unix, я запускаю микро-экземпляр на AWS и пишу там код.

Раньше у меня было два варианта: код на удаленной машине с Vim или локальный код и синхронизация через git. Оба варианта подходят, но несколько запутаны, поэтому я начал задаваться вопросом, можно ли редактировать файлы удаленного кода из моей локальной IDE.

Оказывается, это возможно. PyCharm поддерживает его, но только в версии Professional! Потом я узнал, что VSCode поддерживает его с помощью Remote - SSH extension.

Вы можете установить расширение по ссылке выше или прямо из VSCode:

После установки вы можете подключиться к удаленному хосту, нажав Ctrl + Shift + P, чтобы открыть панель команд, и набрав remote ssh. Выберите Remote-SSH: Connect to Host..., и оттуда вам, вероятно, сначала следует настроить свой SSH-хост:

Теперь вы увидите свой хост в списке, когда повторите шаги, описанные выше.

Что касается второй причины, по которой я влюбился в VSCode:

Jupyter (и Spyder) в коробке

Я всегда использую Jupyter в режиме прототипирования. Это нормально, за исключением того, что это означает переключение с IDE на командную строку (чтобы запустить Jupyter) на сам ноутбук.

С VSCode я могу открыть любую записную книжку из редактора (сочетание клавиш для открытия любого файла - Ctrl + P), и это выглядит просто красиво:

Блокнот ведет себя в точности так, как ожидалось, и все стандартные сочетания клавиш работают должным образом (Ctrl + Enter для запуска ячейки, a и b для перехода ячейка вверху / внизу и т. д.).

Мало того, также можно отправлять строки из любого скрипта Python в интерактивное окно Python, имитируя функциональность Spyder. Сочетание клавиш - Shift + Enter, но по умолчанию это отправляет выбранные строки на обычный терминал. Чтобы вместо этого перенаправить на IPython, нам необходимо настроить его: нажмите Ctrl +,, чтобы открыть настройки, затем выполните поиск: datascience: send и установите флажок «Отправить выделение в интерактивное окно».

И вишенка на вершине: у нас есть обозреватель переменных !!

Мне все еще нравится возможность отправки на терминал, поэтому, чтобы переназначить сочетание клавиш для этого, я нажал Ctrl + K Ctrl + S, поискал Выполнить выделение, затем изменил привязка клавиш оттуда:

Так много других вкусностей

Торговая площадка расширений VSCode просто потрясающая. Я упомяну некоторые из них, которые мне особенно интересны:

  • draw.io: Я поклонник этого онлайн-конструктора блок-схем, и теперь он доступен из VSCode. Как это круто ?!

  • уценка: расширение не требуется, это поддерживается из коробки. Просто откройте или отредактируйте файл .md и вуаля! Мне нравится предварительно просматривать вывод по мере ввода, поэтому я открываю параллельный предварительный просмотр в реальном времени с помощью Ctrl + K V.
  • vim: если вы поклонник vim (если нет, вы упускаете из виду), вы будете довольны расширением this.
  • Генератор строк документации Python: вы можете догадаться, что он делает. Вот ссылка для его установки.

Вердикт

Извините, PyCharm, вас удаляют 😘.