Как изменить настройки VScode, чтобы не синхронизировать определенные команды?

Я использую VScode как на своем Macbook, так и на своем ПК, и мои настройки синхронизируются. Я использую coderunner для запуска своих программ на Python. Моя проблема в том, что в моем settings.json команда, которую я использую для запуска моей программы на моем Mac, отличается от той, которую мне нужно использовать на моем ПК. Конкретная команда, которую я использую, clear && python3 -u. Поскольку Vscode запускает мой код через терминал, он очищается каждый раз, когда я его запускаю. Когда я нахожусь на своем ПК, а не на своем Mac, команда не работает. Я не хочу менять команду в настройках каждый раз, когда переключаюсь между компьютерами. Вот так выглядят настройки.

Сначала я попытался переключить его на просто py в настройках моего ПК, так как это команда, которая нужна командной строке ПК для активации python. Но даже это выдало мне ошибку и изменило настройки моего макбука. Есть ли что-то в настройках, которое я могу добавить или изменить, чтобы отключить синхронизацию? Или я просто справляюсь с этим? Я не хочу рассинхронизировать все остальное, если это возможно.

Вам нужно будет спросить себя, как вы включили синхронизацию настроек, через сам VS Code или любые другие расширения. Без этого никто не сможет помочь.

Lex Li 08.11.2022 01:55

@LexLi настройки фактически синхронизируются автоматически, как только мы входим в учетную запись Microsoft или Github. Но я действительно нашел свой ответ. Есть настройка под названием settingsSync.ignoredSettings, которую я добавил внизу. Я просто проигнорировал настройку executorMap.

phamj0 08.11.2022 02:21

Пожалуйста, без скриншотов текста

Pranav Hosangadi 08.11.2022 03:53
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
55
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы предлагаете решение в комментарии.

Я думаю, что я могу добавить это соответствующим образом. В подробном описании синхронизации настроек мы также можем использовать ignoreUploadFiles или ignoreUploadFolders, чтобы отключить указанный файл:

Ответ принят как подходящий

Как вы уже выяснили, вы можете исключить определенные настройки из синхронизации, определив это в своей конфигурации JSON:

"settingsSync.ignoredSettings": [
    "code-runner.executorMap",
]

Однако это предотвратит синхронизацию ваших определенных исполнителей для ВСЕХ языков. Если вы хотите продолжать синхронизировать все остальные исполнители, вы можете вместо этого изменить команду исполнителя, чтобы она не зависела от платформы.

Вы можете проверить, работаете ли вы на Mac или Linux, используя команду uname. Однострочная цепочка команд для запуска разных команд для каждой платформы будет выглядеть так:

[[ $(uname -s) =~ ^Darwin ]] && (my_mac_commands) || (my_linux_commands)

Итак, в вашем случае вы, вероятно, могли бы определить что-то вроде этого, чтобы команда исполнителя работала на обеих ваших платформах:

"python": "[[ $(uname -s) =~ ^Darwin ]] && cmd=\"clear && python3 -u\" || cmd=\"py\"; eval \"$cmd\"",

Другие вопросы по теме