Итак, я только что скачал плагин "VSCode Cucumber (Gherkin) для полной поддержки языков + форматирование + автозаполнение", чтобы помочь с форматированием огурцов в моем редакторе vscode. Как видно из их документации, плагин «VSCode Cucumber (Gherkin) ...» поддерживает функцию, которая позволит вам увидеть связь между файлами объектов, определениями шагов и объектами страницы, наведя указатель мыши на соответствующий текст в файле .feature. ,
Однако документация плагинов "VSCode Cucumber (Gherkin) ..." по сопоставлению путей между файлами невелика. Кто-нибудь знает, как создать синтаксическую связь между файлами объектов, определениями шагов и объектами страниц при следующей структуре каталогов?
src
├── features
│ ├── accessibility
│ │ └── FeatureFile.feature
│ ├── Directory
│ │ ├── featureFile.feature
│ │ ├── SomeDirectory
│ │ │ ├── FeatureFile.feature
│ ├── step_definitions
│ │ ├── SomeDirectory
│ │ │ ├── someFile.js
│ │ │ ├── given.js
│ │ │ └── then.js
│ │ ├── given.js
│ │ ├── someFeature.js
│ │ ├── then.js
│ │ └── when.js
├── pageobjects
│ ├── SomeDirectory
│ │ ├── SomeFeature
Для справки, это пример их документации того, как должен выглядеть файл конфигурации vscode для включения этих функций
{
"cucumberautocomplete.steps": [
"test/features/step_definitions/*.js",
"node_modules/qa-lib/src/step_definitions/*.js"
],
"cucumberautocomplete.syncfeatures": "test/features/*feature",
"cucumberautocomplete.strictGherkinCompletion": true,
"cucumberautocomplete.strictGherkinValidation": true,
"cucumberautocomplete.smartSnippets": true,
"cucumberautocomplete.stepsInvariants": true,
"cucumberautocomplete.customParameters": [
{
"parameter":"{ab}",
"value":"(a|b)"
},
{
"parameter":/\{a.*\}/,
"value":"a"
},
],
"cucumberautocomplete.pages": {
"users": "test/features/page_objects/users.storage.js",
"pathes": "test/features/page_objects/pathes.storage.js",
"main": "test/features/support/page_objects/main.page.js"
},
"cucumberautocomplete.skipDocStringsFormat": true,
"cucumberautocomplete.formatConfOverride": {
"And": 3,
"But": "relative",
},
"cucumberautocomplete.onTypeFormat": true,
"editor.quickSuggestions": {
"comments": false,
"strings": true,
"other": true
}