puppetlabs / puppetlabs/puppet-editor-services

Intellisense features not working

Open
#362 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community
Dominant language
Ruby
Stars
52
Forks
21
Avg merge
15h
Merged PRs (30d)
3

Description

What Versions are you running?

OS Version: Mac OS 12.5.1 (21G83)
VSCode Version: 1.71.2
Puppet Extension Version: v1.4.0
PDK Version: 2.5.0

What You Are Seeing?

No Intellisense is working in my control repository.

What is Expected?

I'd like to have intellisense features working.

How Did You Get This To Happen? (Steps to Reproduce)

Attempt to use the VSCode PDK extension in my organization's puppet control repo.

Output Log

Found this in the logs (removed directory names):

ANY -- : SidecarQueue Thread: Calling sidecar with --action workspace_aggregate --local-workspace {control repo dir} --puppet-version=6.27.0 returned exitcode 1, ruby: warning: shebang line ending with \r may cause problems
{homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:147:in `block (3 levels) in populate_classes_from_yard_registry!': undefined method `join' for nil:NilClass (NoMethodError)
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:143:in `each'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:143:in `block (2 levels) in populate_classes_from_yard_registry!'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:128:in `each'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:128:in `block in populate_classes_from_yard_registry!'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:127:in `each'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:127:in `populate_classes_from_yard_registry!'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:102:in `populate_from_yard_registry!'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:74:in `file_documentation'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_strings_helper.rb:10:in `file_documentation'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_helper.rb:93:in `block in retrieve_via_puppet_strings'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_helper.rb:92:in `each'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet-languageserver-sidecar/puppet_helper.rb:92:in `retrieve_via_puppet_strings'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet_languageserver_sidecar.rb:303:in `execute'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/lib/puppet_languageserver_sidecar.rb:360:in `execute_and_output'
	from {homedir}/.vscode/extensions/puppet.puppet-vscode-1.4.0/vendor/languageserver/puppet-languageserver-sidecar:14:in `<main>'

Edit: I also see many of these types of ERRORs:

ERROR -- : (textDocument/hover) apache::vhost is not a valid puppet type

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the workspace_aggregate failure from the control repository and read puppet_strings_helper.rb around populate_classes_from_yard_registry!, especially lines 128-147. Trace how file_documentation and retrieve_via_puppet_strings reach the failing call. Done means the sidecar no longer exits with NoMethodError and IntelliSense, including hover for apache::vhost, works in the reported setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby, vscode
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.