Closed WToorenburghIntiveo closed 6 years ago
The --port 0
argument in the command line is normal. It tells the process to run on the first available port it can find. The extension reads the Solargraph is listening
message to identify the port for the client connection. This way, multiple instances of VSCode can run their own language servers without port conflicts.
For the completion problems:
Solargraph is starting the language server...
and Solargraph is ready.
vendor/**/*
in the config.For the RuboCop problem, try adding the following to your .solargraph.yml file:
reporters:
- rubocop
The diagnostics features are in the process of an update, and I neglected to document some of the changes. I'll put documentation on the roadmap.
Good to know about the argument! For some reason, I thought I had seen it have a port listed in the past. I verified that the server was listening on the port listed in VSCode using Process Explorer.
.rb
extension, or unsaved files with the language set using the Change Language Mode...
command.Adding the reporters
setting seems to have Rubocop working!
If this helps, I tried comparing curl
results between the server VSCode started, and one started manually using solargraph server
:
Right, so for whatever reason, when I tried to install the ruby-debug-ide
and debase
gems for doing debugging in VSCode, it broke Solargraph. It started throwing that Windows eventmachine compile issue. I reinstalled ruby, installed the debugging gems first, then installed eventmachine using the workaround, and installed Solargraph last. Things seem to work now, with snappy suggestions and linting. I'm really not sure where along the line my ruby install go so bunged up. Thanks for your time!
System, VSCode, and extension info
OS: Windows 10 Pro 1709 build 16299.402 VSCode Version: 1.22.2 Solargraph extension: 0.16.0 Possibly relevant extensions: Ruby extension: `rebornix.ruby` version 0.18.0 Chef Extension for Visual Studio Code `Pendrica.chef` version 0.6.4 Output of `solargraph -t` in VSCode integrated console: ```powershell PS C:\development\chefInfrastructure> solargraph -v 0.20.0 ``` Relevant settings: ```json // Ruby and Solargraph "solargraph.diagnostics": "rubocop", ``` Contents of `.solargraph.yml`: ```yml --- include: - "**/*.rb" exclude: - spec/**/* - test/**/* - doc/** - "**/*.md" domains: [] required: [] # plugins: # - runtime ```
All settings:
```json // Place your settings in this file to overwrite the default settings { // Common core "editor.tabSize": 2, "editor.renderWhitespace": "boundary", "editor.wordWrap": "on", "editor.mouseWheelZoom": true, "editor.wordBasedSuggestions": false, "editor.fontFamily": "'Roboto Mono', monospace", "editor.fontSize": 13, "window.zoomLevel": 0, "explorer.confirmDelete": false, "explorer.confirmDragAndDrop": false, "workbench.editor.closeOnFileDelete": false, "workbench.iconTheme": "vscode-icons", "extensions.autoUpdate": false, // VSIcons "vsicons.associations.files": [ { "icon": "config", "extensions": [".conf"] }, { "icon": "docker", "filenamesGlob": ["docker-compose**"] } ], "files.associations": { //"*.env": "ini", "dockerfile**": "dockerfile" }, // Markdown "markdown-toc.updateOnSave": true, // Ruby and Solargraph "solargraph.diagnostics": "rubocop", // Chef "rubocop.enable": false, //"rubocop.path": "C:\\Tools\\opscode\\chefdk\\bin\\cookstyle.bat", //"rubocop.configFile": ".rubocop.yml", "foodcritic.enable": false, // Git and source control "gitProjectManager.baseProjectsFolders": [ "c:/development" ], "git.path": "C:/Program Files/Git/bin/git.exe", "git.confirmSync": false, "git.defaultCloneDirectory": "c:/development", "git.enableCommitSigning": true, "git.autofetch": true, "gitlens.advanced.messages": { "suppressCommitHasNoPreviousCommitWarning": false, "suppressCommitNotFoundWarning": false, "suppressFileNotUnderSourceControlWarning": false, "suppressGitVersionWarning": false, "suppressLineUncommittedWarning": false, "suppressNoRepositoryWarning": false, "suppressResultsExplorerNotice": false, "suppressShowKeyBindingsNotice": true }, // PHP "php.validate.executablePath": "C:\\Tools\\php-7.0.27\\php.exe", "php.executablePath": "C:\\Tools\\php-7.0.27\\php.exe", "php.suggest.basic": false, // Powershell and terminal "powershell.codeFormatting.preset": "OTBS", "powershell.integratedConsole.focusConsoleOnExecute": false, "terminal.external.windowsExec": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" } ```
All extensions:
```text >code --list-extensions AlanWalk.markdown-toc bierner.markdown-preview-github-styles castwide.solargraph DavidAnson.vscode-markdownlint donjayamanne.githistory DotJoshJohnson.xml eamodio.gitlens felipecaputo.git-project-manager felixfbecker.php-intellisense formulahendry.code-runner GrapeCity.gc-excelviewer hangxingliu.vscode-nginx-conf-hint humao.rest-client irvinlim.language-modsecurity le0zh.vscode-regexp-preivew mechatroner.rainbow-csv mikestead.dotenv ms-vscode.PowerShell Pendrica.chef PeterJausovec.vscode-docker RandomChance.logstash rebornix.Ruby ria.elastic robertohuertasm.vscode-icons Shan.code-settings-sync shanoor.vscode-nginx tuxtina.json2yaml ziyasal.vscode-open-in-github ```
Hey there,
I can't say exactly when this started happening, but the Solargraph gem has started launching listening on port
0
, and so is not functioning at all in VSCode, except for the documentation search feature. By not functioning, I mean there is no auto-complete,Ctrl
+Space
returns aNo suggestions
message, and linting (using Rubocop) is not running.In the dev console, it shows the gem having launched successfully, and reports the correct PID. It also shows the port at what the gem should be running on.
This is what Process Explorer says about the running ruby instance:
This is the output of the dev console in VSCode during launch:
I'm not too sure how to troubleshoot this further, so please let me know if there's any additional information I can pass on to you!