Beispiel #1
0
def _check_welcome():
    from thonny import misc_utils

    if not os.path.exists(CONFIGURATION_FILE):
        from thonny.config import ConfigurationManager

        conf = ConfigurationManager(CONFIGURATION_FILE)
        conf.set_option("general.language", "zh_CN")
        conf.set_option("general.ui_mode", "simple")
        conf.set_option("file.reopen_all_files", True)
        conf.save()
        return True

    if not os.path.exists(
            CONFIGURATION_FILE) and not misc_utils.running_on_rpi():
        from thonny.config import ConfigurationManager
        from thonny.first_run import FirstRunWindow

        mgr = ConfigurationManager(CONFIGURATION_FILE)

        win = FirstRunWindow(mgr)
        win.mainloop()
        return win.ok
    else:
        return True
Beispiel #2
0
def _check_welcome():
    from thonny import misc_utils

    if not os.path.exists(CONFIGURATION_FILE) and not misc_utils.running_on_rpi():
        from thonny.first_run import FirstRunWindow
        from thonny.config import ConfigurationManager

        mgr = ConfigurationManager(CONFIGURATION_FILE)

        win = FirstRunWindow(mgr)
        win.mainloop()
        return win.ok
    else:
        return True
Beispiel #3
0
def load_plugin() -> None:

    global RESUME_COMMAND_CAPTION
    RESUME_COMMAND_CAPTION = tr("Resume")

    if get_workbench().in_simple_mode():
        get_workbench().set_default("debugger.frames_in_separate_windows",
                                    False)
    else:
        get_workbench().set_default("debugger.frames_in_separate_windows",
                                    True)

    get_workbench().set_default("debugger.automatic_stack_view", True)
    get_workbench().set_default("debugger.preferred_debugger",
                                "faster" if running_on_rpi() else "nicer")
    get_workbench().set_default("debugger.allow_stepping_into_libraries",
                                False)

    get_workbench().add_command(
        "runresume",
        "run",
        tr("Run / resume"),
        _run_or_resume,
        caption=running.RUN_COMMAND_CAPTION,
        tester=_run_or_resume_enabled,
        default_sequence=None,
        group=10,
        image="run-current-script",
        include_in_menu=False,
        include_in_toolbar=get_workbench().in_simple_mode(),
        alternative_caption=RESUME_COMMAND_CAPTION,
    )

    get_workbench().add_command(
        "debug_preferred",
        "run",
        tr("Debug current script"),
        run_preferred_debug_command,
        caption=tr("Debug"),
        tester=_start_debug_enabled,
        group=10,
        image="debug-current-script",
        include_in_menu=False,
        include_in_toolbar=True,
    )

    get_workbench().add_command(
        "debug_nicer",
        "run",
        tr("Debug current script (nicer)"),
        lambda: _request_debug("Debug"),
        caption="Debug (nicer)",
        tester=_start_debug_enabled,
        default_sequence="<Control-F5>",
        group=10,
        # image="debug-current-script",
    )

    get_workbench().add_command(
        "debug_faster",
        "run",
        tr("Debug current script (faster)"),
        lambda: _request_debug("FastDebug"),
        caption="Debug (faster)",
        tester=_start_debug_enabled,
        default_sequence="<Shift-F5>",
        group=10,
    )

    get_workbench().add_command(
        "step_over",
        "run",
        tr("Step over"),
        lambda: _issue_debugger_command("step_over"),
        caption=tr("Over"),
        tester=lambda: _debugger_command_enabled("step_over"),
        default_sequence="<F6>",
        group=30,
        image="step-over",
        include_in_toolbar=True,
    )

    get_workbench().add_command(
        "step_into",
        "run",
        tr("Step into"),
        lambda: _issue_debugger_command("step_into"),
        caption=tr("Into"),
        tester=lambda: _debugger_command_enabled("step_into"),
        default_sequence="<F7>",
        group=30,
        image="step-into",
        include_in_toolbar=True,
    )

    get_workbench().add_command(
        "step_out",
        "run",
        tr("Step out"),
        lambda: _issue_debugger_command("step_out"),
        caption=tr("Out"),
        tester=lambda: _debugger_command_enabled("step_out"),
        group=30,
        image="step-out",
        include_in_toolbar=True,
    )

    get_workbench().add_command(
        "resume",
        "run",
        RESUME_COMMAND_CAPTION,
        lambda: _issue_debugger_command("resume"),
        caption=RESUME_COMMAND_CAPTION,
        tester=lambda: _debugger_command_enabled("resume"),
        default_sequence="<F8>",
        group=30,
        image="resume",
        include_in_toolbar=not get_workbench().in_simple_mode(),
    )

    get_workbench().add_command(
        "run_to_cursor",
        "run",
        tr("Run to cursor"),
        lambda: _issue_debugger_command("run_to_cursor"),
        tester=lambda: _debugger_command_enabled("run_to_cursor"),
        default_sequence=select_sequence("<Control-F8>", "<Control-F8>"),
        group=30,
        image="run-to-cursor",
        include_in_toolbar=False,
    )

    get_workbench().add_command(
        "step_back",
        "run",
        tr("Step back"),
        lambda: _issue_debugger_command("step_back"),
        caption=tr("Back"),
        tester=lambda: _debugger_command_enabled("step_back"),
        default_sequence=select_sequence("<Control-b>", "<Command-b>"),
        group=30,
    )

    get_workbench().add_view(StackView, tr("Stack"), "se")
    get_workbench().add_view(ExceptionView, tr("Exception"), "s")
    get_workbench().bind("DebuggerResponse", _handle_debugger_progress, True)
    get_workbench().bind("ToplevelResponse", _handle_toplevel_response, True)
    get_workbench().bind("debugger_return_response", _handle_debugger_return,
                         True)
    get_workbench().bind("CommandAccepted", _debug_accepted, True)