Describe the bugGo to Definition in versions 3.0.1 and 3.0.0 is easily breaking from JS code and points to incorrect files and lines, compared to 2.15.2 version (which also could break in a large project, but less easily and usually for part of the steps instead of all).
Right-click on any of 3 steps and use Go to Definition
See incorrect position
Expected behaviorGo to Definition should not break from JS code like object literals, strings and template strings.
If you use Install another version in VSCode to install 2.15.2, Go to Definition will work properly in the cloned repo.
Actual behavior
Without any changes after cloning the repo, extension will point you to the data: "", line in constants.js from any of 3 steps in login.feature.
If you comment/remove this data line in constants.js, or replace empty string to a number, or make a change in .vscode/settings.json from /*.js variant to /*steps.js (making extension ignore constants.js), then you will be pointed to the first template string in custom-steps.js.
If you comment/remove the first template string, then it will point to 2nd, then 3rd, then 4th.
Only after you comment/remove all 4 lines, extension will start to point to the correct step definitions in default-steps.js.
Describe the bug
Go to Definition
in versions3.0.1
and3.0.0
is easily breaking from JS code and points to incorrect files and lines, compared to 2.15.2 version (which also could break in a large project, but less easily and usually for part of the steps instead of all).To Reproduce Steps to reproduce the behavior:
features/login.feature
Go to Definition
Expected behavior
Go to Definition
should not break from JS code like object literals, strings and template strings. If you useInstall another version
in VSCode to install2.15.2
,Go to Definition
will work properly in the cloned repo.Actual behavior
data: "",
line inconstants.js
from any of 3 steps inlogin.feature
.data
line inconstants.js
, or replace empty string to a number, or make a change in.vscode/settings.json
from/*.js
variant to/*steps.js
(making extension ignoreconstants.js
), then you will be pointed to the first template string incustom-steps.js
.default-steps.js
.Screenshots