Two ideas to improve Toad Editor

Hi all,
I work with Toad for 10 yaers and I have a few ideas I would like to share:

  1. Drag and drop operation in Toad with files
    Consider this situation - I have a plsql containing file on filesystem. I can drag it to Toad editor.
    But if there is eg Schema Browser opened in Toad, I can’t drop the file to editor, I have to bring up different connection/window to bring up the editor, and then drag and drop again.
    It wolud be nice if Toad can do something like this: If I hold mouse cursor (while dragging) over connection/window, this window is brought up.

  2. I have some code templates I am using for my work. This templates are parametrized, thus I only create empty file, and in template is automaticly used its filename and actual date.
    Eg. at the end of this post is the skeleton (created from my template) for plsql package, including header, trailer, logging procedures, … (? and … are places that i must add - change number, code and code purpose).
    Its better and faster to use parametrized template than allways fill the date and package name because in the development time I create many packages and sripts every day.
    This skeleton has 3times filled actual date and 5times filled filename.
    I use Notepad++ with FigerText plugin for this, and there is more options to use than I used in my template (they don’t call it templates, just snippets).
    It would be better than create it with Notepad++ and then drag and drop it into Toad Editor :slight_smile:

Is there any probability that this features can be in toad editor (in future versions of course)?

Or some ideas how to solve this with actual version of Toad?

Thank you for reply guys.

Robert Mackovik

CREATE OR REPLACE PACKAGE ETL_OWNER.MS_DWH_OUTEBV_WORKOUTS_X15J as

/* ===================================================
/* Module: MS_DWH_OUTEBV_WORKOUTS_X15J
/* Purpose: ???
/* Created By: Robert Mackovik
/* Created Date: 15.01.2015
/* Last Updated By: Robert Mackovik
/* Last Updated Date: 15.01.2015
/* Version: 1.0
/*
/* Change History:
/* Date Author Change
/* 15.01.2015 Robert Mackovik ???: New module
/*
/*
/* =================================================== */

C_MODULE_NAME VARCHAR2(30):= $$PLSQL_UNIT;

PROCEDURE MAIN(P_PROCESS_KEY IN NUMBER DEFAULT -1,
P_EFFECTIVE_DATE IN DATE DEFAULT to_date(‘10000101’,‘YYYYMMDD’),
P_LOAD_PARTITION IN VARCHAR2 DEFAULT ‘A’,
P_OPERATING_MODE IN BINARY_INTEGER DEFAULT 0,
P_AUDIT_LEVEL IN BINARY_INTEGER DEFAULT NULL,
P_MAX_ERRORS IN NUMBER DEFAULT NULL,
P_COMMIT_FREQUENCY IN NUMBER DEFAULT NULL,
P_BULK_SIZE IN NUMBER DEFAULT NULL,
P_JOB IN VARCHAR2 DEFAULT ‘NULL’
);

END MS_DWH_OUTEBV_WORKOUTS_X15J;
/

CREATE OR REPLACE PACKAGE BODY ETL_OWNER.MS_DWH_OUTEBV_WORKOUTS_X15J as

PROCEDURE MAIN(P_PROCESS_KEY IN NUMBER DEFAULT -1,
P_EFFECTIVE_DATE IN DATE DEFAULT to_date(‘10000101’,‘YYYYMMDD’),
P_LOAD_PARTITION IN VARCHAR2 DEFAULT ‘A’,
P_OPERATING_MODE IN BINARY_INTEGER DEFAULT 0,
P_AUDIT_LEVEL IN BINARY_INTEGER DEFAULT NULL,
P_MAX_ERRORS IN NUMBER DEFAULT NULL,
P_COMMIT_FREQUENCY IN NUMBER DEFAULT NULL,
P_BULK_SIZE IN NUMBER DEFAULT NULL,
P_JOB IN VARCHAR2 DEFAULT ‘NULL’
) IS

V_MRG_COUNT PLS_INTEGER:= 0;

begin
ms_global_log.write_map_cnt(P_PROCESS_KEY => P_PROCESS_KEY,
P_MAPPING_NAME => C_MODULE_NAME
);

V_MRG_COUNT:= SQL%ROWCOUNT;

commit;

ms_global_log.write_map_cnt(P_PROCESS_KEY => P_PROCESS_KEY,
P_MAPPING_NAME => C_MODULE_NAME,
P_MRG => V_MRG_COUNT
);

ms_global_log.write_map_end(P_PROCESS_KEY => P_PROCESS_KEY,
P_MAPPING_NAME => C_MODULE_NAME,
P_STATUS => ‘COMPLETE’
);

commit;

exception
WHEN OTHERS THEN
ms_global_log.error(P_PROCESS_KEY, SQLCODE, C_MODULE_NAME || ’ FAILED WITH ’ || SQLERRM || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
ms_global_log.write_map_end(P_PROCESS_KEY => P_PROCESS_KEY,
P_MAPPING_NAME => C_MODULE_NAME,
P_STATUS => ‘FAILED’
);
commit;
RAISE_APPLICATION_ERROR(-20401, SQLERRM || ’ ’ || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
end MAIN;

END MS_DWH_OUTEBV_WORKOUTS_X15J;
/