Как заставить Firefox правильно восстанавливать свое состояние при запуске из отладки vscode? - PullRequest
1 голос
/ 10 июля 2020

Для моего веб-приложения React у меня есть конфигурация запуска для запуска Chrome или Firefox для отладки. Оба работают довольно хорошо, за исключением того, что Firefox не восстанавливает свои предыдущие настройки после запуска отладки (или, может быть, даже не сохраняет их).

Когда я запускаю Chrome, он запоминает размер браузера и положение, а также то, что я принял самоподписанный сертификат для localhost.

Firefox ничего из этого не делает. После запуска мне всегда приходится переставлять окно и снова принимать самозаверяющий сертификат, что со временем становится действительно раздражающим.

Вот мои настройки запуска:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "firefox",
            "request": "launch",
            "reAttach": true,
            "name": "Launch MSG on FF",
            "url": "https://localhost:3001",
            "webRoot": "${workspaceFolder}/src",
            "clearConsoleOnReload": true,
            "preLaunchTask": "tsc: watch"
        },
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch MSG on Chrome",
            "url": "https://localhost:3001",
            "webRoot": "${workspaceFolder}/src",
            "userDataDir": "${workspaceRoot}/.vscode/chrome",
            "sourceMaps": true,
            "preLaunchTask": "tsc: watch",
            "sourceMapPathOverrides": {
                "webpack:///build/*": "${webRoot}/*"
            }
        },
        {
            "type": "node",
            "name": "Run Tests",
            "request": "launch",
            "program": "${workspaceFolder}/node_modules/jest/bin/jest",
            "args": [
                "--config ${workspaceFolder}/jest.config.js"
            ],
            "cwd": "${workspaceFolder}",
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen",
            "disableOptimisticBPs": true
        }
    ]
}

Что должно быть изменено так, что FF сохраняет последнее состояние также при отладке из vscode?

На всякий случай это имеет значение: я использую macOS, а папка профиля FF для экземпляра отладки находится в /var/folders/03/... (и эта папка существует и доступен для записи).

1 Ответ

1 голос
/ 10 июля 2020

Вам нужен следующий флаг:

keepProfileChanges : true

Кроме того, вы можете указать профиль, используя:

profile : "dev"

И, просто дополнительный бит tid, вы можете автоматически открывать dev, используя:

firefoxArgs : [
   -devtools
]

Для краткости:

"configurations": [
  {
    "type": "firefox",
    "request": "launch",
    "reAttach": true,
    "name": "Launch Name",
    "clearConsoleOnReload": true,
    "keepProfileChanges": true,
    "profile": "dev",
    "firefoxArgs": [
        "-devtools",
    ]
]

Если вам нужен ресурс для создания профилей: ref

Firefox CLI исх.

...