src/LiveDevelopment/main.js
function _handleGoLiveCommand() {
        if (LiveDevImpl.status >= LiveDevImpl.STATUS_ACTIVE) {
            LiveDevImpl.close();
        } else if (LiveDevImpl.status <= LiveDevImpl.STATUS_INACTIVE) {
            if (!params.get("skipLiveDevelopmentInfo") && !PreferencesManager.getViewState("livedev.afterFirstLaunch")) {
                PreferencesManager.setViewState("livedev.afterFirstLaunch", "true");
                Dialogs.showModalDialog(
                    DefaultDialogs.DIALOG_ID_INFO,
                    Strings.LIVE_DEVELOPMENT_INFO_TITLE,
                    Strings.LIVE_DEVELOPMENT_INFO_MESSAGE
                ).done(function (id) {
                    LiveDevImpl.open();
                });
            } else {
                LiveDevImpl.open();
            }
        }
    }
function _handleGoLiveCommand() {
        if (LiveDevImpl.status >= LiveDevImpl.STATUS_ACTIVE) {
            LiveDevImpl.close();
        } else if (LiveDevImpl.status <= LiveDevImpl.STATUS_INACTIVE) {
            if (!params.get("skipLiveDevelopmentInfo") && !PreferencesManager.getViewState("livedev.afterFirstLaunch")) {
                PreferencesManager.setViewState("livedev.afterFirstLaunch", "true");
                Dialogs.showModalDialog(
                    DefaultDialogs.DIALOG_ID_INFO,
                    Strings.LIVE_DEVELOPMENT_INFO_TITLE,
                    Strings.LIVE_DEVELOPMENT_INFO_MESSAGE
                ).done(function (id) {
                    LiveDevImpl.open();
                });
            } else {
                LiveDevImpl.open();
            }
        }
    }
function _handleGoLiveCommand ( ) { if ( LiveDevImpl . status >= LiveDevImpl . STATUS_ACTIVE ) { LiveDevImpl . close ( ) ; } else if ( LiveDevImpl . status <= LiveDevImpl . STATUS_INACTIVE ) { if ( ! params . get ( "skipLiveDevelopmentInfo" ) && ! PreferencesManager . getViewState ( "livedev.afterFirstLaunch" ) ) { PreferencesManager . setViewState ( "livedev.afterFirstLaunch" , "true" ) ; Dialogs . showModalDialog ( DefaultDialogs . DIALOG_ID_INFO , Strings . LIVE_DEVELOPMENT_INFO_TITLE , Strings . LIVE_DEVELOPMENT_INFO_MESSAGE ) . done ( function ( id ) { LiveDevImpl . open ( ) ; } ) ; } else { LiveDevImpl . open ( ) ; } } }
Toggles LiveDevelopment and synchronizes the state of UI elements that reports LiveDevelopment status

Stop Live Dev when in an active state (ACTIVE, OUT_OF_SYNC, SYNC_ERROR).
Start Live Dev when in an inactive state (ERROR, INACTIVE).
Do nothing when in a connecting state (CONNECTING, LOADING_AGENTS).
Toggles LiveDevelopment and synchronizes the state of UI elements that reports LiveDevelopment status