Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xdebug and Sublime Text 4 support request #54

Open
gitressa opened this issue Apr 3, 2023 · 2 comments
Open

Xdebug and Sublime Text 4 support request #54

gitressa opened this issue Apr 3, 2023 · 2 comments

Comments

@gitressa
Copy link
Contributor

gitressa commented Apr 3, 2023

Is it possible to get Xdebug and Sublime Text 4 working in Lando? There are Guides on PhpStorm and VSCode and a similar solution on how to get it working with Sublime Text 4 and SublimeTextXdebug would be awesome. Thanks!

PS. Install SublimeTextXdebug with Git, see Can't install via Package Control in Sublime Text 4 #210 .

@gitressa gitressa added the drupal label Apr 3, 2023
@pirog pirog transferred this issue from lando/lando Apr 3, 2023
@gitressa
Copy link
Contributor Author

gitressa commented Apr 5, 2023

So I managed to get Xdebug connected with Lando, and the log file populated as well, though it can't find the files ... it says [192] [Step Debug] WARN: Breakpoint file name does not exist: /home/username/dev/drupal9/web/index.php (No such file or directory). in the log file xdebug.log, though it does exist.

But I feel like it's getting close, so it would be awesome if someone else could take a look at this.

.lando.yml

name: drupal9
recipe: drupal9
config:
  webroot: web
  php: '8.1'
  xdebug: true

services:
  appserver:
    config:
      php: ./php.ini 

php.ini
I have commented out seemingly not needed config lines.

# xdebug.client_host=appserver.drupal9.internal

xdebug.client_host=localhost
xdebug.client_port=9000
xdebug.discover_client_host=true
xdebug.idekey=sublime.xdebug
xdebug.log="./xdebug.log"
xdebug.mode=debug
xdebug.remote_handler=dbgp
xdebug.start_with_request=yes

Xdebug.sublime-settings
Originally found here: https://github.com/martomo/SublimeTextXdebug/blob/master/Xdebug.sublime-settings

{
    // For remote debugging to resolve the file locations
    // it is required to configure the path mapping
    // with the server path as key and local path as value.
    //
    // Make sure to use absolute path when defining server path,
    // because Xdebug debugger engine does not return symbolic links.
    //
    // Example:
    // "/absolute/path/to/file/on/server" : "/path/to/file/on/computer",
    // "/var/www/htdocs/example/" : "C:/git/websites/example/"
    "path_mapping": {
      "/app/": "/home/username/dev/drupal9/"
    },

    // Determine which URL to launch in the default web browser
    // when starting/stopping a session.
    "url": "https://drupal9.lndo.site/",

    // An IDE key is used to identify with debugger engine
    // when Sublime Text will start or stop a debugging session.
    //
    // This package does not filter sessions by IDE key,
    // it will accept any IDE key, also ones that do not match this configured IDE key.
    // It is merely used when launching the default web browser with the configured URL.
    "ide_key": "sublime.xdebug",

    // Host address of network interface which Sublime Text
    // should listen to connect with debugger engine.
    //
    // By specifying "" or "0.0.0.0" as host address, Sublime Text
    // will listen on all the configured network interfaces.
    // This is the desired configuration when debugging
    // a script that is located on a remote server.
    //
    // Otherwise it is recommended to use "127.0.0.1" or "localhost"
    // as configuration, when debugging a script on your local machine.
    // Due to the fact that by listening on all the configured
    // network interfaces raises a security concern as anyone
    // can access Sublime Text through the configured port.
    //
    // When specifying host address of network interface,
    // be sure to specify an IPv4 address as Sublime Text
    // will listen for connections through an IPv4 socket.
    "host": "localhost",

    // Which port number Sublime Text should listen
    // to connect with debugger engine.
    "client_port": 9000,

    // Maximum amount of array children
    // and object's properties to return.
    "max_children": 32,

    // Maximum amount of
    // variable data to initially retrieve.
    "max_data": 1024,

    // Maximum amount of nested levels to retrieve
    // of array elements and object properties.
    "max_depth": 1,

    // Break at first line on session start, when debugger engine has connected.
    "break_on_start": false,

    // Break on exceptions, suspend execution
    // when the exception name matches an entry in this list value.
    "break_on_exception": [
        // E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR
        "Fatal error",
        // E_RECOVERABLE_ERROR (since PHP 5.2.0)
        "Catchable fatal error",
        // E_WARNING, E_CORE_WARNING, E_COMPILE_WARNING, E_USER_WARNING
        "Warning",
        // E_PARSE
        "Parse error",
        // E_NOTICE, E_USER_NOTICE
        "Notice",
        // E_STRICT
        "Strict standards",
        // E_DEPRECATED, E_USER_DEPRECATED (since PHP 5.3.0)
        "Deprecated",
        // 0
        "Xdebug",
        // default
        "Unknown error"
    ],

    // Always close debug windows and restore layout on session stop.
    "close_on_stop": false,

    // Show information about super globals in context view.
    "super_globals": true,


    // Always launch browser on session start/stop.
    // Note: This will only work if you have the 'url' setting configured.
    "launch_browser": true,

    // When launching browser on session stop do not execute script.
    // By using parameter XDEBUG_SESSION_STOP_NO_EXEC instead of XDEBUG_SESSION_STOP.
    "browser_no_execute": false,

    // Do not use the debugging window layout.
    "disable_layout": false,

    // Window layout that is being used when debugging.
    "debug_layout" : {
        "cols": [0.0, 0.5, 1.0],
        "rows": [0.0, 0.7, 1.0],
        "cells": [[0, 0, 2, 1], [0, 1, 1, 2], [1, 1, 2, 2]]
    },

    // Group and index positions for debug views.
    "breakpoint_group": 2,
    "breakpoint_index": 1,
    "context_group": 1,
    "context_index": 0,
    "stack_group": 2,
    "stack_index": 0,
    "watch_group": 1,
    "watch_index": 1,

    // Custom gutter icons for indicating current line or enabled/disabled breakpoints.
    //
    // Do not use same icon for following values, because Sublime Text is unable
    // to use the same icon for different scopes, in case there are duplicate icons
    // detected it will fall back to the corresponding icon in the package.
    "breakpoint_enabled": "circle",
    "breakpoint_disabled": "dot",
    "breakpoint_current": "",
    "current_line": "bookmark",

    // Path to Python installation on your system.
    // Which is being used to load missing modules.
    //
    // It is recommended to configure your Python path for Sublime Text 2
    // especially on older UNIX systems, where some modules (xml.parsers.expat)
    // might be missing and could improve performance of package.
    //
    // Example:
    // "python_path" : "/usr/lib/python2.7"
    "python_path" : "/usr/bin/python3.8",

    // Show detailed log information about communication
    // between debugger engine and Sublime Text.
    // Log can be found at Packages/User/Xdebug.log
    "debug": false
}

@gitressa
Copy link
Contributor Author

gitressa commented Apr 6, 2023

Actually, since this is not a Drupal specific issue, it could get moved to https://github.com/lando/lando/?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants