Skip to content

自动修改 require 路径出现错误 #2810

@qin-tain

Description

@qin-tain

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Windows

What is the issue affecting?

Other

Expected Behaviour

自动修改 require 路径能按照预期正确工作

Actual Behaviour

当修改一个文件夹名后,自动修改的路径中会多出一个字符,字符为原文件夹名的最后一个字符

Reproduction steps

  1. 创建测试项目,目录结构可参考
.
└── test_lua
    ├── file.lua
    └── test_mod
        ├── mod1.lua
        └── sub_mod
            └── sub_mod1.lua
  1. 假设 mod1.lua 中的内容为 require("test_lua.test_mod.sub_mod.sub_mod1")
  2. 打开文件 file.lua, 保证扩展开始作用
  3. 修改文件夹 sub_mod 的名字,可以在后面添加一些字符
  4. 扩展会在右下角弹出提示,你想要修改 require 的路径吗?选择 "修改"
  5. 查看 mod1.lua 中对应的路径,可以发现路径中 sub_mod 的新名字后面会多出一个 d,即 sub_mod 的最后一个字符
  6. 可以在开始测试时,将 sub_mod 换成别的名字,可以发现,多出来的始终是原文件夹名的最后一个字符

Additional Notes

查探了一番,发现大概是这里边界错误

local tail = ouri:sub(#oldUri)
应该是 #oldUri+1 , 反正直接进入扩展目录手动改了一下就正常了

Log File

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions