CSED_BEENE is a modified version of the CSED Programmer's Editor, v1.03, released by Jose Roca.
The modifications provide three new feature areas - Projects, Go To Procedure, and Open in New Instance.
Here's a summary of the features which have been added:
- Main menu "Project" menu
- "Go To Highlighted Procedure" context menu
- "Go To Previous Position" context menu
- "Open in New Instance" TAB context menu
- Up to 10 Project files are kept in the Recent History list
- File Association to *.sed files
- Caret positions of all files are restored when Project file is re-opened
- Support of dropped Project files
- Project dropdown menus are grayed out if they do not apply
- *.SED file type can be associated with CSED_BEENE (double-click to open)
Projects
CSED_BEENE now provides a way of grouping files into projects, which may be opened and closed as a group.
A new Project main menu option gives access to the new Project features.
Here are the basic operational Project concepts, as implemented in CSED_BEENE:
- A Project is simply a group of source code files.
- Opening/closing a Project opens/closes all files in the Project.
- CSED does not have to have a Project file open
- A Project file uses the file extension ".sed"
- The currently opened Project file name is given in the CSED_BEENE caption (filename only, no path)
- A project may have zero files in it
- On CSED_BEENE startup, the setting pSed.ReloadFilesAtStartup determines if a Project reloads from the last session
- A Project is dirty when the list of files changes
- A Project is dirty when one of its files has been edited
- A user will be asked to save a dirty Project before taking actions that might lose those changes
- A Project file is added to the Recent History List when Project NEW, OPEN, SAVE and SAVEAS commands are used
- A New project has the title "untitled_project". It can be saved just like any other project.
- Project information is kept/displayed in a lower case format
- File Open always opens to the Project File folder
Using Projects
A Projects menu has been added to the main menu.
The actions taken by each menu items are list here:
- New
- close the current project (if dirty, user asked to save)
- save/close all files
- set project name to "untitled project"
- project is NOT dirty
- Open
- close the current project (if dirty, user asked to save)
- save/close all files
- open selected project
- project is NOT dirty
- Close
- close the current project (if dirty, user asked to save)
- save/close all files
- project is NOT dirty
- Save
- save all files, no confirmation
- save project, no confirmation
- project is NOT dirty
- SaveAs
- save all files
- set project name to whatever user enters
- project is NOT dirty
File Operations
The effects of user File actions (Open, Close ...) are discussed here:
- New
- add the new file to the current project (refresh project file list)
- project is dirty
- Open
- add the newly opened file to the current project (refresh project file list)
- project is dirty
- Close
- remove the closed file from the current project (refresh project file list)
- project is dirty.
- Save
- no change to project
- Save As
- remove the old name, add the new name to the project (refresh project file list)
- project is dirty
- Close All
- remove the closed files from the current project (refresh project file list)
- project is dirty
- Save All
- no change to project
- Drop Files
- same as "Open"
- Command Line File Names
- same as "Open"
Go To Procedure
The context menu of each open file provides two new menu items, which allow the user to jump to the
location of a highlighted procedure name and to return to the jump point.
If the procedure is not found in a file already opened in CSED_BEENE, then the search will continue
in the *.bas and *.inc files found in the folder of the currently opened Project file. If the
procedure is defined in an un-opened file, the file will be opened in CSED_BEENE and the file
scrolled to the procedure.
Open In New Instance
A new menu item has been added to each file's TAB, "Open in New Instance of CSED_BEENE". For this new
menu to work, the "Allow Multiple Instances" setting of CSED_BEENE must be enabled.
This option opens the selected file in a new instance of CSED_BEENE. It does not close the file
from the current instance of CSED_BEENE.
Keyboard Shortcuts
The following new key combinations are available to the user to access CSED_BEENE features:
- F12 - Developmental test message. Not applicable to most users.
Global Variables
CSED_BEENE introduces the following four Global variables:
- ProjectFile - name of the Project file
- ProjectExt - list of file types to search when using "Go To Highlighted Procedure"
- ProjectDirty - whether or not the Project, or it's files, have been changed
- ProjectFileArray() - List of file in the Project (kept in a Project file, ".sed" extension)
- ProjectRecentArray() - List of recently used Project files (kept in INI file)
History
- v1.33
- Tweaked Ctrl-F - previous Find dialog, if any, is automatically removed
- v1.32
- Used small buttons on both Toolbars
- v1.31
- CSED_BEENE HTML Help file
- AskBeforeExit default settings is now to %False
- SaveWindowPlacement default setting is now %True
- v1.30
- History allows 10 entries. Minor tweaking
- v1.29
- Support double-clicking of *.sed file type to open in CSED_BEENE
- "Open Project Folder" opens the folder containing the current Project file
- v1.28
- Fix: Go To Previous Position now works for jumps within a file
- v1.27
- Support for dropping a Project file
- v1.26
- Skip commented out procedures
- v1.25
- "Open in New Instance" added to context menu of TABs
- v1.24
- Recognizes Drop file action
- Project file now maintains selected file / caret position information
- v1.23
- Recognizes Open File when using right mouse within #Include
- v1.22
- Added "Go To Previous Position"
- v1.20
- "Go To Highlighted Procedure" now goes nowhere when there's no selection
- Enable CLOSE menu following SaveAs
- v1.18 and earlier
- "Go To Highlighted Procedure” - if no selection, Beeps and does nothing else .
- “Go To Highlighted Procedure” - ignores Declare statements (switched to RegExpr code)
- “Go To Highlighted Procedure” - finds indented procedures
- “Go To Highlighted Procedure” - introduced INI variable Project Ext = “.bas.inc” ( manually edit INI file)
- Options Menu moved to left side. Help is now Bold
- Removed the two incorrect Notes lines (AskBeforeExit and SaveWindowPlacement)
- Added detection of Macro names