Примеры размещения аргументов в launch.json:
- Указание аргументов при запуске .json для Python
- Код Visual Studio: как отлаживать скрипт Python с аргументами
Когда я впервые попробовал это, я разрешил VS Code для создания файла launch.json. По умолчанию он содержал следующее:
Код: Выделить всё
"args": [
"${command:pickArgs}"
]
Однако, если я ввожу несколько аргументов, они заключаются в кавычки и обрабатываются как один строковый аргумент. . В случае, когда, например. аргументы должны быть числовыми, генерируется ошибка. Например, если я передаю 4 7, оба из которых необходимо привести к int, sys.argv[1] получит значение '4 7', а не '4', выдает ошибку
Код: Выделить всё
invalid literal for int() with base 10: '4 7'
Я видел в Интернете примеры конфигурации launch.json следующим образом:
Код: Выделить всё
"args": "${command:pickArgs}"
Пробелы в пути интерпретатора Python или программе приводят к неправильному заключению в кавычки команд отладки с аргументами #233
Похоже, что решение состоит в том, чтобы поставьте скобки, с чего я и начал в первую очередь. Поскольку VS Code делает это автоматически, я не уверен, откуда берутся различные примеры (со скобками или без них), и не могу найти документацию по этому поводу, кроме очень краткого упоминания ${command:pickArgs} в официальной документации, ссылку на которую я дал в самом начале.
Итак, мне не удалось найти способ передать несколько аргументов с помощью ${command:pickArgs} (в отличие от жесткого кодирования непосредственно в файле launch.json), а единственное многообещающее решение (удаление скобок) плохо документировано, генерирует другие ошибки, и решение, похоже, состоит в том, чтобы снова вставить скобки.
Можно ли это вообще сделать?
Подробнее здесь: https://stackoverflow.com/questions/789 ... python-scr