3.2 Preferences
On this page:
3.2.1 Font
3.2.2 Colors
3.2.3 Editing
3.2.4 Warnings
3.2.5 General
3.2.6 Profiling
3.2.7 Browser
3.2.8 Tools

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🔗ℹ

The Colors panel has several sub-panels that let you configure the colors that DrRacket uses.
  • 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.

    • Color syntax interactively If checked, DrRacket colors your syntax as you type.

    • Wrap words in editor buffers If checked, DrRacket editors auto-wrap text lines by default. Changing this preference affects new windows only.

    • 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.

    • Disable caret blinking If checked, the insertion point in the definitions and interactions windows (and other editors) does not blink.

    • 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.

    • Treat alt key as meta If checked, DrRacket will use the alt (option) key for some Emacs-like keybindings, instead of using it for menu shortcuts. This option is only available on Mac OS.

    • Enable overwrite mode keybindings If checked, DrRacket enables the insert keybinding to swap into overwrite mode

    • 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.

    • 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 available only under Windows. On other operating systems, all files are always saved with LF line terminators.

    • 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.

    • Enable automatic parentheses, square brackets, and quotes 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.

    • 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.

    • Automatic #lang line When new files are opened in DrRacket, it will use this for the first line of the buffer.

  • 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.