3.2 Preferences
The preferences dialog consists of several panels.
3.2.1 Font
This panel controls the main font used by DrRacket.
3.2.2 Colors
Color Schemes
DrRacket comes with a number of different color schemes that you can choose from. The Classic and White on Black schemes are actually a matched pair that, under Mac OS and Linux will be chosen based on the operating system’s dark-mode configuration. Similarly for the two Tol’s color-blind safe modes.
Background
This section of the preferences configures the default background color and the colors used behind matching parentheses. The Parenthesis color scheme menu also includes options that shade nested parentheses darker and lighter, based on the nesting depth.
The remaining panels inside the Colors panel allow the configuration of many different colors that DrRacket uses for specific parts of its interface.
3.2.3 Editing
The Editing panel consists of several sub-panels:
Indenting
This panel controls which keywords DrRacket recognizes for indenting, and how each keyword is treated.
To decide how a particular line is indented, DrRacket starts at the beginning of the line and looks for an enclosing s-expression. It finds the first symbol after that open parenthesis, and uses that to determine how to indent the line.
If the symbol is not listed in any of the lists in the preferences dialog, then it is indented like a function call, e.g.:(f a
b
c)
(f
a
b
c)
If the symbol is listed in the Begin-like Keywords section, it gets one extra space when the first sub-expression is on a different line and otherwise it looks like an application.(begin a
b
c)
(begin
a
b
c)
If the symbol is listed in the Define-like Keywords section, then all of the subexpressions are indented one extra space, no matter what happens on the first line:(define x
1)
(struct s t
(a b c))
(define
(f x)
1)
If the symbol is listed in the Lambda-like Keywords section, then it is indented like define, except that there is three extra spaces of indentation added when the first sub-expression is not on the same line as the keyword:(λ (x y)
1)
(lambda
(x y)
1)
If the symbol is listed in the For/fold-like Keywords section, it is indented just like the define section, except that the first two sub-expressions are treated specially:(for/fold ([acc 0])
([x (in-range 10)]
[y (in-list l)])
b
c)
If the symbol is not listed in any of the list boxes in the various sections, the contents of the Extra Regexp panel are consulted. They are regular expressions that are matched against the printed representation of the symbol, and if they match, the corresponding indentation style is used.
Square bracket
This panel controls which keywords DrRacket uses to determine when to rewrite [ to (. For cond-like keywords, the number in parenthesis indicates how many sub-expressions are skipped before square brackets are started.
See Editing with Parentheses for details on how the entries in the columns behave.
General Editing
Map delete to backspace —
If checked, the editor treats the Delete key like the Backspace key. Wrap words in editor buffers —
If checked, DrRacket editors auto-wrap text lines by default. Changing this preference affects new windows only. Enable keybindings in menus —
If checked, some DrRacket menu items have keybindings. Otherwise, no menu items have key bindings. This preference is designed for people who are comfortable editing in Emacs and find the standard menu keybindings interfere with the Emacs keybindings. Treat command key as meta —
If checked, DrRacket will use the command key for some Emacs-like keybindings, instead of using it for menu shortcuts. This option is only available on Mac OS. Color syntax interactively —
If checked, DrRacket colors your syntax as you type. Search using anchors —
If checked, DrRacket’s searching mode will jump directly to the first search hit, using an “anchor” to determine where to search if the search string changes. Normalize pasted strings —
If checked, DrRacket adjusts strings that are pasted into the editor to avoid confusion. For example, non-breaking spaces look just like spaces but are not considered separators like ordinary spaces are. If this is checked DrRacket will automatically turn those non-breaking spaces into regular spaces. Similarly with other (less common) characters. Enable overwrite mode keybindings —
If checked, DrRacket enables the insert keybinding to swap into overwrite mode Enable automatic parentheses —
If checked, typing an open parenthesis, curly brace, square bracket, double quote, or vertical bar character automatically inserts a matching one. Additionally, backspace will automatically remove matched empty pairs of such characters when the caret is between them in many cases. Add one pixel of extra space between lines —
If checked, then an extra pixel of whitespace is added between lines in the editor. The default value is platform-specific; some fonts (notably those with ╔══╗ characters) only look right with this unchecked. Always use the platform-specific linefeed convention —
If checked, DrRacket always saves files with CRLF line terminators. If unchecked, DrRacket looks at each file as it is opened and if every line is terminated with CRLF (and there is at least one line), then it saves the file with CRLF terminators and otherwise it is saved with LF terminators (following the Mac OS and Linux convention). When a file is going to be saved with CRLF terminators, then the status line at the bottom of the DrRacket window shows “CRLF”. This option is only available under Windows. On other operating systems, all files are always saved with LF line terminators.
Maximum character width guide —
If checked, DrRacket draws a vertical line in files that exceed the given maximum width. The vertical line shows where the given maximum width is. Show line numbers —
If checked, DrRacket shows line numbers for the file being edited in the left-hand column Show definitions/interactions labels —
If checked, then the teaching languages show big friendly labels indicating which window is the definitions window and which is the interactions window.] Startup Open Files —
If the Restore files from previous session is selected, DrRacket will reopen the files that were open when DrRacket last exited, as it starts up. When Open a blank window is selected, DrRacket starts with a new, fresh window each time. When Ask me each time is selected and some files were open in the previous session, DrRacket will open a dialog box asking if you would like to open the same files as last time. If DrRacket is started from the command-line (or via Mac OS’s open command) and files are supplied, then this preference is ignored, and only those files are opened.
Racket
Highlight between matching parens —
If checked, the editor marks the region between matching parenthesis with a gray background (in color) or a stipple pattern (in monochrome) when the blinking caret is next to a parenthesis. Automatically adjust closing parens —
If checked, the editor automatically converts a typed ) to ] to match [, or it converts a typed ] to ) to match (. Automatically adjust opening square brackets If checked, the editor changes typed [ to match the context (as explained in Editing with Parentheses).
Flash paren match —
If checked, typing a closing parenthesis, square bracket, or quotation mark flashes the matching open parenthesis/bracket/quote.
3.2.4 Warnings
Ask before changing save format —
If checked, DrRacket consults the user before saving a file in non-text format (see Program Files). Verify exit —
If checked, DrRacket consults the user before exiting. Ask about normalizing strings —
If checked, DrRacket consults the user before normalizing a string pasted into the editor. Only warn once when executions and interactions are not synchronized —
If checked, DrRacket warns the user on the first interaction after the definitions window, language, or teachpack is changed without a corresponding click on Run. Otherwise, the warning appears on every interaction. Ask about clearing test coverage —
If checked, when test coverage annotations are displayed DrRacket prompts about removing them. This setting only applies to the PLT languages. DrRacket never asks in the teaching languages. Check for newer Racket versions —
If checked, DrRacket periodically polls a server to determine whether a newer version of DrRacket is available.
3.2.5 General
Number of recent items —
controls the length of the Open Recent menu (in the File menu). Make backups for unsaved files —
If checked, the editor generates copies of open files (see Backup and First Change Files) for files that have not been saved after thirty seconds. Create first-change files —
If checked, when saving a file for the first time in each editing session, the original copy of the file is copied to a new file in the same directory. The new files has the same name as the original, except that it ends in either ".bak" or "~". Show status-line —
If checked, DrRacket shows a status line at the bottom of each window. Count column numbers from one —
If checked, the status line’s column counter counts from one. Otherwise, it counts from zero. Display line numbers in buffer; not character offsets —
If checked, the status line shows a ‹line›:‹column› display for the current selection rather than the character offset into the text. Automatically print to PostScript file —
If checked, printing will automatically save PostScript files. If not, printing will use the standard printing mechanisms for your computer. Open files in separate tabs (not separate windows) —
If checked, DrRacket will use tabs in the front-most window to open new files, rather than creating new windows for new files. Automatically open interactions window when running a program —
If checked, DrRacket shows the interactions window (if it is hidden) when a program is run. Automatically switch to the module language when opening a module —
If checked, DrRacket will recognize files that have a #lang line and adjust the language setting automatically. Put the interactions window beside the definitions window —
If checked, DrRacket puts the interactions window to the right of the definitions window. By default, the interactions window is below the definitions window. Always show the #lang line in the Module language —
If checked, the module language always shows the #lang line (even when it would ordinarily be scrolled off of the page), assuming that the #lang line is the first line in the file. Show test coverage results summary —
If checked, DrRacket shows a little note indicating that all tests were covered in addition to not changing the colors. If not checked, DrRacket remains silent (unchanged) when test coverage is enabled but all of the code is covered. Save files whenever switching tabs or windows —
If checked, DrRacket will automatically save any unsaved files when switching between windows or tabs. Don’t ask and don’t save files when clicking Run with unsaved tabs or windows —
If checked, DrRacket will not show a warning dialog about unsaved tabs when clicking the Run button, nor will it save the files automatically. If this is checked, the previous checkbox’s value is ignored.
3.2.6 Profiling
This preference panel configures the profiling report. The band of color shows the range of colors that profiled functions take on. Colors near the right are used for code that is not invoked often and colors on the right are used for code that is invoked often.
If you are interested in more detail at the low end, choose the Square root check box. If you are interested in more detail at the upper end, choose the Square check box.
3.2.7 Browser
This preferences panel allows you to configure your HTTP proxy. Contact your system administrator for details.
3.2.8 Tools
This preference panel allows you to configure the currently active plugins.