LINUX.ORG.RU

Как настроить в VSCode нестандартный запуск Python-скрипта? А чтобы дебаг работал?

 , , , ,


0

1

Есть специальная команда для запуска python-скрипта:

cat file.txt | python3 sample.py

1. Как сделать так, чтобы она запускалась по Ctrl+F5 вместо стандартного запуска скрипта?

2. А как сделать, чтобы и дебаг запускался с такой же командой?

VSCode v. 1.81.1, плагин - стандартный Python IntelliSence (Pylance) от Microsoft v.2023.14.0.

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)

Ответ на: комментарий от Xintrea

если создан python-проект

Если открыт каталог, причем не создаются никакие файлы проекта или что-то ещё - можешь смело открывать и не опасаться, что вскод намусорит.

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)
Ответ на: комментарий от token_polyak

Не работает. А там точно не нужно ничего писать типа «request» или «name» чтобы определилось что настраивается действие запуска?

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Простите, если вызвал у вас конфуз, указав лишь необходимую строчку и минимум контекста.

Предполагал внесение этой строчки в дефолтный файл launch.json для питона, который выглядит следующим образом:

{
	// Use IntelliSense to learn about possible attributes.
	// Hover to view descriptions of existing attributes.
	// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
	"version": "0.2.0",
	"configurations": [
		{
			"name": "Python: Current File",
			"type": "python",
			"request": "launch",
			"program": "${file}",
			"console": "integratedTerminal",
			"justMyCode": true
		}
	]
}
token_polyak ★★★★
()
Ответ на: комментарий от token_polyak

Ага, настройка сработала, но команда формируется не так как задумано. При нажатии Ctrl+F5 появляется ошибка:

can't open file '/home/xi/work/develop/python/sample/cat file.txt | python3 /home/xi/work/develop/python/sample/sample05.py)': [Errno 2] No such file or directory

Походу, настройка program - это не команда, а всего навсего имя файла.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 2)
Ответ на: комментарий от token_polyak

???

А если вместо файла sample05.py будет sample06.py, то надо будет не забывать и скрипт запуска менять?

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

А команду запуска надо прописывать в tasks.json, примерно так:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Run Python Script",
            "type": "shell",
            "command": "cat file.txt | python3",
            "args": [
                "${file}"
            ],
...

Но тогда непонятно, что будет вызываться при нажатии Ctrl+F5.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)

Похоже, что в VSCode данная задача не имеет решения.

Даже если сделать запуск через команду с помощью Code Runner, то тогда перестанет работать отладка, так как VSCode не будет знать как подключиться к запущенному процессу.

Xintrea ★★★★★
() автор топика