Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

How to debug the LSP / VS Code extensions when no suggestions? #320

Unanswered
joeriddles asked this question in Q&A
Discussion options

I am trying out the postgrestools VS Code extension but having issues getting it to suggest tables/columns from my database.

My config looks like this:

{
 "$schema": "https://raw.githubusercontent.com/supabase-community/postgres-language-server/refs/heads/main/docs/schemas/latest/schema.json",
 "vcs": {
 "enabled": true,
 "clientKind": "git",
 "useIgnoreFile": true
 },
 "files": {
 "ignore": []
 },
 "linter": {
 "enabled": true,
 "rules": {
 "recommended": true
 }
 },
 "db": {
 "host": "127.0.0.1",
 "port": 5432,
 "username": "***",
 "password": "***",
 "database": "***",
 "connTimeoutSecs": 10
 }
}

Not getting any suggestions from my database schema:

Screen.Recording.2025年04月07日.at.11.48.45.AM.mov

VS Code output logs

postgrestools:

2025年04月07日 11:47:11.791 [info] Created a global LSP session
2025年04月07日 11:47:11.792 [info] PostgresTools extension started
2025年04月07日 11:47:11.792 [info] Started listening for configuration changes
2025年04月07日 11:47:11.792 [info] Started listening for active text editor changes

postgrestools LSP:

2025年04月07日 11:47:11.793 [info] [Info - 11:47:11 AM] Server initialized with PID: 2543

postgrestools LSP trace: nothing

You must be logged in to vote

Replies: 1 comment 1 reply

Comment options

Hey, thanks for reporting!

We are writing a logfile - could you paste that here? That will help in debugging.

Where to find the logs: https://pgtools.dev/#daemon-logs

You must be logged in to vote
1 reply
Comment options

@psteinroe thanks for pointing me in the right direction. Here is the output, starting from reloading VS Code:

❯ tail -c0 -f /Users/joe/Library/Caches/dev.supabase-community.pgt/pgt-logs/server.log.2025年04月17日-06
2025年04月17日 6:12:29.102689 INFO pgt_cli::commands::daemon Received shutdown signal
┘
┐pgt_cli::commands::daemon::Running Server{pid=76895}
├─2025年04月17日 6:12:30.532636 0ms INFO pgt_cli::service::unix Trying to connect to socket /Users/joe/Library/Caches/dev.supabase-community.pgt/pgt-socket-0.3.1
├─2025年04月17日 6:12:30.532659 0ms INFO pgt_cli::service::unix Remove socket folder /Users/joe/Library/Caches/dev.supabase-community.pgt/pgt-socket-0.3.1
├─2025年04月17日 6:12:30.581469 48ms INFO pgt_cli::service::unix Accepted connection
├─2025年04月17日 6:12:30.581542 48ms INFO pgt_cli::service::unix Accepted connection
├─2025年04月17日 6:12:30.581608 49ms ERROR tower_lsp::transport failed to encode message: failed to encode response: Socket is not connected (os error 57)
└─┐pgt_lsp::server::initialize{root_uri=file:///Users/joe/source/joeriddles/patina, capabilities=ClientCapabilities { workspace: Some(WorkspaceClientCapabilities { apply_edit: Some(true), workspace_edit: Some(WorkspaceEditClientCapabilities { document_changes: Some(true), resource_operations: Some([Create, Rename, Delete]), failure_handling: Some(TextOnlyTransactional), normalizes_line_endings: Some(true), change_annotation_support: Some(ChangeAnnotationWorkspaceEditClientCapabilities { groups_on_label: Some(true) }) }), did_change_configuration: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), did_change_watched_files: Some(DidChangeWatchedFilesClientCapabilities { dynamic_registration: Some(true), relative_pattern_support: Some(true) }), symbol: Some(WorkspaceSymbolClientCapabilities { dynamic_registration: Some(true), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), tag_support: Some(TagSupport { value_set: [Deprecated] }), resolve_support: Some(WorkspaceSymbolResolveSupportCapability { properties: ["location.range"] }) }), execute_command: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), workspace_folders: Some(true), configuration: Some(true), semantic_tokens: Some(SemanticTokensWorkspaceClientCapabilities { refresh_support: Some(true) }), code_lens: Some(CodeLensWorkspaceClientCapabilities { refresh_support: Some(true) }), file_operations: Some(WorkspaceFileOperationsClientCapabilities { dynamic_registration: Some(true), did_create: Some(true), will_create: Some(true), did_rename: Some(true), will_rename: Some(true), did_delete: Some(true), will_delete: Some(true) }), inline_value: Some(InlineValueWorkspaceClientCapabilities { refresh_support: Some(true) }), inlay_hint: Some(InlayHintWorkspaceClientCapabilities { refresh_support: Some(true) }), diagnostic: None }), text_document: Some(TextDocumentClientCapabilities { synchronization: Some(TextDocumentSyncClientCapabilities { dynamic_registration: Some(true), will_save: Some(true), will_save_wait_until: Some(true), did_save: Some(true) }), completion: Some(CompletionClientCapabilities { dynamic_registration: Some(true), completion_item: Some(CompletionItemCapability { snippet_support: Some(true), commit_characters_support: Some(true), documentation_format: Some([Markdown, PlainText]), deprecated_support: Some(true), preselect_support: Some(true), tag_support: Some(TagSupport { value_set: [Deprecated] }), insert_replace_support: Some(true), resolve_support: Some(CompletionItemCapabilityResolveSupport { properties: ["documentation", "detail", "additionalTextEdits"] }), insert_text_mode_support: Some(InsertTextModeSupport { value_set: [AsIs, AdjustIndentation] }), label_details_support: Some(true) }), completion_item_kind: Some(CompletionItemKindCapability { value_set: Some([Text, Method, Function, Constructor, Field, Variable, Class, Interface, Module, Property, Unit, Value, Enum, Keyword, Snippet, Color, File, Reference, Folder, EnumMember, Constant, Struct, Event, Operator, TypeParameter]) }), context_support: Some(true), insert_text_mode: Some(AdjustIndentation), completion_list: Some(CompletionListCapability { item_defaults: Some(["commitCharacters", "editRange", "insertTextFormat", "insertTextMode", "data"]) }) }), hover: Some(HoverClientCapabilities { dynamic_registration: Some(true), content_format: Some([Markdown, PlainText]) }), signature_help: Some(SignatureHelpClientCapabilities { dynamic_registration: Some(true), signature_information: Some(SignatureInformationSettings { documentation_format: Some([Markdown, PlainText]), parameter_information: Some(ParameterInformationSettings { label_offset_support: Some(true) }), active_parameter_support: Some(true) }), context_support: Some(true) }), references: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), document_highlight: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), document_symbol: Some(DocumentSymbolClientCapabilities { dynamic_registration: Some(true), symbol_kind: Some(SymbolKindCapability { value_set: Some([File, Module, Namespace, Package, Class, Method, Property, Field, Constructor, Enum, Interface, Function, Variable, Constant, String, Number, Boolean, Array, Object, Key, Null, EnumMember, Struct, Event, Operator, TypeParameter]) }), hierarchical_document_symbol_support: Some(true), tag_support: Some(TagSupport { value_set: [Deprecated] }) }), formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), range_formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), on_type_formatting: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), declaration: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), definition: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), type_definition: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), implementation: Some(GotoCapability { dynamic_registration: Some(true), link_support: Some(true) }), code_action: Some(CodeActionClientCapabilities { dynamic_registration: Some(true), code_action_literal_support: Some(CodeActionLiteralSupport { code_action_kind: CodeActionKindLiteralSupport { value_set: ["", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports"] } }), is_preferred_support: Some(true), disabled_support: Some(true), data_support: Some(true), resolve_support: Some(CodeActionCapabilityResolveSupport { properties: ["edit"] }), honors_change_annotations: Some(true) }), code_lens: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), document_link: Some(DocumentLinkClientCapabilities { dynamic_registration: Some(true), tooltip_support: Some(true) }), color_provider: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), rename: Some(RenameClientCapabilities { dynamic_registration: Some(true), prepare_support: Some(true), prepare_support_default_behavior: Some(Identifier), honors_change_annotations: Some(true) }), publish_diagnostics: Some(PublishDiagnosticsClientCapabilities { related_information: Some(true), tag_support: Some(TagSupport { value_set: [Unnecessary, Deprecated] }), version_support: Some(false), code_description_support: Some(true), data_support: Some(true) }), folding_range: Some(FoldingRangeClientCapabilities { dynamic_registration: Some(true), range_limit: Some(5000), line_folding_only: Some(true), folding_range_kind: Some(FoldingRangeKindCapability { value_set: Some([Comment, Imports, Region]) }), folding_range: Some(FoldingRangeCapability { collapsed_text: Some(false) }) }), selection_range: Some(SelectionRangeClientCapabilities { dynamic_registration: Some(true) }), linked_editing_range: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), call_hierarchy: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), semantic_tokens: Some(SemanticTokensClientCapabilities { dynamic_registration: Some(true), requests: SemanticTokensClientCapabilitiesRequests { range: Some(true), full: Some(Delta { delta: Some(true) }) }, token_types: [SemanticTokenType("namespace"), SemanticTokenType("type"), SemanticTokenType("class"), SemanticTokenType("enum"), SemanticTokenType("interface"), SemanticTokenType("struct"), SemanticTokenType("typeParameter"), SemanticTokenType("parameter"), SemanticTokenType("variable"), SemanticTokenType("property"), SemanticTokenType("enumMember"), SemanticTokenType("event"), SemanticTokenType("function"), SemanticTokenType("method"), SemanticTokenType("macro"), SemanticTokenType("keyword"), SemanticTokenType("modifier"), SemanticTokenType("comment"), SemanticTokenType("string"), SemanticTokenType("number"), SemanticTokenType("regexp"), SemanticTokenType("operator"), SemanticTokenType("decorator")], token_modifiers: [SemanticTokenModifier("declaration"), SemanticTokenModifier("definition"), SemanticTokenModifier("readonly"), SemanticTokenModifier("static"), SemanticTokenModifier("deprecated"), SemanticTokenModifier("abstract"), SemanticTokenModifier("async"), SemanticTokenModifier("modification"), SemanticTokenModifier("documentation"), SemanticTokenModifier("defaultLibrary")], formats: [TokenFormat("relative")], overlapping_token_support: Some(false), multiline_token_support: Some(false), server_cancel_support: Some(true), augments_syntax_tokens: Some(true) }), moniker: None, type_hierarchy: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), inline_value: Some(DynamicRegistrationClientCapabilities { dynamic_registration: Some(true) }), inlay_hint: Some(InlayHintClientCapabilities { dynamic_registration: Some(true), resolve_support: Some(InlayHintResolveClientCapabilities { properties: ["tooltip", "textEdits", "label.tooltip", "label.location", "label.command"] }) }), diagnostic: Some(DiagnosticClientCapabilities { dynamic_registration: Some(true), related_document_support: Some(false) }) }), window: Some(WindowClientCapabilities { work_done_progress: Some(true), show_message: Some(ShowMessageRequestClientCapabilities { message_action_item: Some(MessageActionItemCapabilities { additional_properties_support: Some(true) }) }), show_document: Some(ShowDocumentClientCapabilities { support: true }) }), general: Some(GeneralClientCapabilities { regular_expressions: Some(RegularExpressionsClientCapabilities { engine: "ECMAScript", version: Some("ES2020") }), markdown: Some(MarkdownClientCapabilities { parser: "marked", version: Some("1.1.0"), allowed_tags: None }), stale_request_support: Some(StaleRequestSupportClientCapabilities { cancel: true, retry_on_content_modified: ["textDocument/semanticTokens/full", "textDocument/semanticTokens/range", "textDocument/semanticTokens/full/delta"] }), position_encodings: Some([PositionEncodingKind("utf-16")]) }), experimental: None }, client_info=ClientInfo { name: "Visual Studio Code - Insiders", version: Some("1.100.0-insider") }, workspace_folders=[WorkspaceFolder { uri: Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/Users/joe/source/joeriddles/patina", query: None, fragment: None }, name: "patina" }]}
 ├─2025年04月17日 6:12:30.581907 0ms INFO pgt_lsp::server Starting Language Server...
┌─┘
└─┐pgt_lsp::server::initialized{}
 ├─2025年04月17日 6:12:30.583058 0ms INFO pgt_lsp::server Attempting to load the configuration from 'postgrestools.jsonc' file
 └─┐pgt_fs::fs::os::OsFileSystem::open_with_options{path="/Users/joe/source/joeriddles/patina/postgrestools.jsonc", options=OpenOptions { read: true, write: false, truncate: false, create: false, create_new: false }}
 ┌─┘
 └─┐pgt_fs::fs::os::OsFile::read_to_string{}
 ┌─┘
 ├─2025年04月17日 6:12:30.583139 0ms INFO pgt_lsp::session Configuration loaded successfully from disk.
 ├─2025年04月17日 6:12:30.583144 0ms INFO pgt_lsp::session Update workspace settings.
 ├─2025年04月17日 6:12:30.583152 0ms INFO pgt_workspace::workspace::server Updating settings in workspace
 ├─2025年04月17日 6:12:30.583159 0ms INFO pgt_workspace::workspace::server Updated settings in workspace
 ├─2025年04月17日 6:12:30.584548 1ms WARN sqlx_postgres::options::pgpass Failed to open `.pgpass` file: Os { code: 2, kind: NotFound, message: "No such file or directory" }, path=/Users/joe/.pgpass
 ├─2025年04月17日 6:12:30.58458 1ms INFO pgt_workspace::workspace::server Updated Db connection settings
 ├─2025年04月17日 6:12:30.585386 2ms INFO pgt_lsp::session Unregister capabilities "workspace/didChangeConfiguration, workspace/didChangeWatchedFiles"
 ├─2025年04月17日 6:12:30.585767 2ms INFO pgt_lsp::session Register capabilities "workspace/didChangeConfiguration, workspace/didChangeWatchedFiles"
┌─┘
└─┐pgt_lsp::server::did_change_configuration{}
 └─┐pgt_fs::fs::os::OsFileSystem::open_with_options{path="/Users/joe/source/joeriddles/patina/postgrestools.jsonc", options=OpenOptions { read: true, write: false, truncate: false, create: false, create_new: false }}
 ┌─┘
 └─┐pgt_fs::fs::os::OsFile::read_to_string{}
 ┌─┘
 ├─2025年04月17日 6:12:30.868596 0ms INFO pgt_lsp::session Configuration loaded successfully from disk.
 ├─2025年04月17日 6:12:30.868613 0ms INFO pgt_lsp::session Update workspace settings.
 ├─2025年04月17日 6:12:30.868647 0ms INFO pgt_workspace::workspace::server Updating settings in workspace
 ├─2025年04月17日 6:12:30.868687 0ms INFO pgt_workspace::workspace::server Updated settings in workspace
 ├─2025年04月17日 6:12:30.86876 0ms WARN sqlx_postgres::options::pgpass Failed to open `.pgpass` file: Os { code: 2, kind: NotFound, message: "No such file or directory" }, path=/Users/joe/.pgpass
 ├─2025年04月17日 6:12:30.868824 0ms INFO pgt_workspace::workspace::server Updated Db connection settings
 ├─2025年04月17日 6:12:30.869836 1ms INFO pgt_lsp::session Unregister capabilities "workspace/didChangeConfiguration, workspace/didChangeWatchedFiles"
 ├─2025年04月17日 6:12:30.870344 2ms INFO pgt_lsp::session Register capabilities "workspace/didChangeConfiguration, workspace/didChangeWatchedFiles"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /