Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

VS Code variable resolution in @source annotations/relativity of paths

Aberta
#3,388 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
55/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
lua, vscode
Domínio
devtools

Direção de pesquisa

Reproduza o exemplo com .vscode/luals/library/foo.d.lua, baz.lua e a configuração workspace.userThirdParty. Comece rastreando como os caminhos @source são resolvidos e como as variáveis do VS Code são expandidas; em seguida, verifique o comportamento dos caminhos relativos e a substituição de variáveis em relação ao destino esperado de Go to Definition. Documente a relatividade de caminho escolhida caso ela permaneça inalterada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Linux

What is the issue affecting?

Diagnostics/Syntax Checking

Expected Behaviour

Intuitively, I expected:

  1. ---@source annotations in meta files with relative paths to be resolved relative to the workspace
  2. VS Code variables in the @source path to be resolved when resolving a path
Actual Behaviour
  1. @source paths are resolved relative to the meta file itself
  2. VS Code variables in the path are not resolved
Reproduction steps
  1. Create .vscode/luals/library/foo.d.lua with:
    ---@meta
    --- @class foo
    _G.foo = {}
    
    ---@source grault/foo.lua:1
    function bar() end
    
  2. Create baz.lua with:
    require("foo")
    local quux = foo.bar()
    
  3. In extension settings, set:
    {
      "Lua.workspace.userThirdParty": ["${fileWorkspaceFolder}/LuaLS"]
    }
    

[!NOTE]
The variable ${fileWorkspaceFolder} resolves correctly and adds the meta file to the list of search paths

  1. Open baz.lua in VS Code editor
  2. Right click bar
  3. Select Go to Definition
  4. Observe:
    VS Code opens a non-existent source file tab to .vscode/luals/library/grault/foo.lua
Additional Notes

This could be two separate issues, but they're tightly related -- one as a Documentation Issue that the relativity of the resolution of the path should be added to the docs, and two as a Bug/Feature Request that VS Code variables be resolved in the @source paths as they are in the settings

Attempting to work around this using VS Code variables has the variable unresolved and taken literally. For example, setting the @source path to /${fileWorkspaceFolder}/grault/foo.lua:1 causes VS Code to open a tab to that literal string instead of the expected /home/me/my_project/grault/foo.lua:1

Log File

No response

Linguagem predominante
Lua
Estrelas
4.4k
Forks
442
Merge médio
8d 9h
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de LuaLS/lua-language-server

Todas as issues de LuaLS/lua-language-server

Issues semelhantes

Mais issues de Lua

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.