mirror of
https://github.com/godotengine/godot-vscode-plugin.git
synced 2026-01-04 10:09:58 +03:00
Implement headless LSP mode (#488)
* adds new Headless LSP mode * refactor and simplify LSP client control flow into new `ClientConnectionManager` class * adds new setting: `godotTools.lsp.headless`, disabled by default * split `godotTools.editorPath` into `godotTools.editorPath.godot3` and `.godot4` * fix #373, broken formatting in hovers * improve right click -> open docs to work on type-annotated variables --------- Co-authored-by: David Kincaid <daelonsuzuka@gmail.com>
This commit is contained in:
39
package.json
39
package.json
@@ -15,7 +15,7 @@
|
||||
"author": "The Godot Engine community",
|
||||
"publisher": "geequlim",
|
||||
"engines": {
|
||||
"vscode": "^1.68.0"
|
||||
"vscode": "^1.80.0"
|
||||
},
|
||||
"categories": [
|
||||
"Programming Languages",
|
||||
@@ -26,9 +26,6 @@
|
||||
],
|
||||
"activationEvents": [
|
||||
"workspaceContains:project.godot",
|
||||
"onLanguage:gdscript",
|
||||
"onLanguage:gdshader",
|
||||
"onLanguage:gdresource",
|
||||
"onDebugResolve:godot"
|
||||
],
|
||||
"main": "./out/extension.js",
|
||||
@@ -49,6 +46,14 @@
|
||||
"command": "godotTools.openEditor",
|
||||
"title": "Godot Tools: Open workspace with Godot editor"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.startLanguageServer",
|
||||
"title": "Godot Tools: Start the GDScript Language Server for this workspace"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.stopLanguageServer",
|
||||
"title": "Godot Tools: Stop the GDScript Language Server for this workspace"
|
||||
},
|
||||
{
|
||||
"command": "godotTools.runProject",
|
||||
"title": "Godot Tools: Run workspace as Godot project"
|
||||
@@ -184,10 +189,20 @@
|
||||
"default": 6008,
|
||||
"description": "The server port of the GDScript language server"
|
||||
},
|
||||
"godotTools.editorPath": {
|
||||
"godotTools.lsp.headless": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether to launch the LSP as a headless child process"
|
||||
},
|
||||
"godotTools.editorPath.godot3": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "The absolute path to the Godot editor executable"
|
||||
"default": "godot3",
|
||||
"description": "The absolute path to the Godot 3 editor executable"
|
||||
},
|
||||
"godotTools.editorPath.godot4": {
|
||||
"type": "string",
|
||||
"default": "godot4",
|
||||
"description": "The absolute path to the Godot 4 editor executable"
|
||||
},
|
||||
"godotTools.sceneFileConfig": {
|
||||
"type": "string",
|
||||
@@ -546,7 +561,7 @@
|
||||
"editor/context": [
|
||||
{
|
||||
"command": "godotTools.openTypeDocumentation",
|
||||
"when": "godotTools.context.connectedToEditor",
|
||||
"when": "godotTools.context.connectedToLSP && godotTools.context.typeFound",
|
||||
"group": "navigation@9"
|
||||
},
|
||||
{
|
||||
@@ -560,15 +575,15 @@
|
||||
"devDependencies": {
|
||||
"@types/marked": "^0.6.5",
|
||||
"@types/mocha": "^9.1.0",
|
||||
"@types/node": "^10.12.21",
|
||||
"@types/node": "^18.15.0",
|
||||
"@types/prismjs": "^1.16.8",
|
||||
"@types/vscode": "^1.68.0",
|
||||
"@types/vscode": "^1.80.0",
|
||||
"@types/ws": "^8.2.2",
|
||||
"@vscode/vsce": "^2.21.0",
|
||||
"esbuild": "^0.15.2",
|
||||
"ts-node": "^10.9.1",
|
||||
"tslint": "^5.20.1",
|
||||
"typescript": "^3.5.1",
|
||||
"vsce": "^2.10.0"
|
||||
"typescript": "^5.2.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"await-notify": "^1.0.1",
|
||||
|
||||
Reference in New Issue
Block a user