DC - doublecmd.xml

# 2.17. doublecmd.xml 中的设置

## 目录

1. 简介
2. 位置
3. 需要手动修改的选项
4. 索引

## 1. 简介

Double Commander 的主要设置保存在名为 `doublecmd.xml` 的 XML 文件中，并在启动时恢复。

（返回顶部）

## 2. 位置

`doublecmd.xml` 文件的位置可以放在不同的位置：

- 可以配置在用户主目录中。
- 可以配置在程序目录中（常见于便携模式）。
- 也可以在启动程序时通过命令行参数指定其位置。

如果要使用命令行参数 `--config-dir` 指定位置，请参见 此处。

另外，也可以通过 菜单 配置 > 选项... 在树状结构中选择 > 设置选项 配置文件位置 来更改位置。

要快速查找当前实例正在使用的 `doublecmd.xml`，可以打开 常用文件夹列表。在其末尾有一个子节“特殊文件夹”。选择“转到 Double Commander 特殊路径...”，然后选择“%DC_CONFIG_PATH%”，即可定位当前应用正在使用的 `doublecmd.xml`。

（返回顶部）

## 3. 需要手动修改的选项

大多数 Double Commander 的设置可以在程序内通过各类选项进行配置。

在主菜单中选择 配置 > 选项...，即可设置这些配置；当关闭应用时，配置会保存到 `doublecmd.xml`，并在下次启动时恢复。

因此，通常我们不需要手动编辑配置文件。

但是，确实存在一些极少见的特殊设置，需要直接在配置文件中手动修改才能生效。

警告：切勿在 Double Commander 运行时编辑该文件！不仅因为程序在启动时读取这些值，而且如果在运行时编辑文件，当关闭程序时，应用会以当前运行时状态重新保存配置并覆盖你所做的修改。若需编辑 `doublecmd.xml`，请先关闭 Double Commander，修改文件后再重新启动。
有替代方案，详见 此处（某些选项仍可能需要重启程序才能生效）。

下列表格列出了一些需要在文件中手动修改的特殊设置。

如有必要需手动修改的配置
标签 | 说明
--- | ---
from <AutoRefresh>:
<Mode> | 是否允许删除被“监视”的目录。 “被监视的目录” 指 Double Commander 对其设置了某种钩子以便监控其内容变化，若内容变化可刷新显示。 此设置控制当尝试删除当前面板中（即使在非激活标签页）显示的被监视目录时 Double Commander 的反应行为。
取值 | 说明
--- | ---
0 | 阻止删除被监视的目录。
1 | 不阻止删除被监视的目录（默认）。
2 | 监视整个驱动器而不是单个目录，以避免因删除被监视目录而产生的问题。
示例： `<Mode>1</Mode>`
from <Behaviours>:
<ActiveRight> | 控制启动时默认激活的面板是否为右侧面板。
取值 | 说明
--- | ---
True | 右面板
False | 左面板（默认）
示例： `<ActiveRight>True</ActiveRight>`
<ConfirmQuit> | 是否在关闭 Double Commander 时显示确认对话框（`True` 表示显示，`False` 表示不显示）。默认值为 `False`。
from <Colors>:
<gBorderFrameWidth> | 可配置在文件面板中为当前高亮项绘制矩形框的线宽。 `<gBorderFrameWidth>` 用于设置绘制该矩形框的线条宽度。 要查看该矩形，请在 配置 > 选项... > 颜色 > 文件面板 中勾选 使用窗体光标。 示例： `<gBorderFrameWidth>1</gBorderFrameWidth>`
from <Editor>:
<FindWordAtCursor> | 内部编辑器和比较程序：如果没有选择文本，查找/替换对话框将使用光标下的单词（`True`）或使用搜索历史中的文本（`False`）。默认值为 `True`。
from <FileOperations>:
<AutoExtractOpenMask> | 假设我们“进入”了一个压缩文件并在活动面板中浏览其内容。匹配此设置中指定扩展名的文件在按下 `Enter` 或双击时会自动从压缩包中解压，而不是显示属性窗口。 示例： `<AutoExtractOpenMask>*.txt;*.mp3;*.mp4</AutoExtractOpenMask>`
<DefaultDropEffect> | 默认的鼠标 拖放 文件操作：复制（`True`）或移动（`False`）。默认值为 `True`（复制）。
<LongNameAlert> | 当目标路径长度超过系统允许的最大路径长度时发出警告（某些程序可能无法访问过长路径的文件/目录）。在 Windows 中默认的 MAX_PATH 为 260 字符。默认值为 `True`。
<NtfsHourTimeDelay> | 在比较文件日期/时间时忽略恰好一小时的时间差。 该行为适用于内部命令 cm_CompareDirectories 或 cm_SyncDirs。 当比较位于 NTFS 分区与非 NTFS 分区（如 FAT32）上的相同文件时很有用。因为在夏令时切换时，NTFS 分区上的时间戳会发生变化（详见 此处），此设置使二者在相差一小时的情况下仍被视为相同文件。
取值 | 说明
--- | ---
True | 启用——恰好一小时的差异将被视为相同时间。
False | 禁用（默认）。
示例： `<NtfsHourTimeDelay>True</NtfsHourTimeDelay>`
<Sounds> | 文件操作完成时启用声音通知。`<Sounds>` 标签的可能完整内容示例：
    <Sounds Duration="-1">
      <Copy>C:\Windows\Media\Alarm01.wav</Copy>
      <Move>C:\Windows\Media\Alarm01.wav</Move>
      <Wipe>C:\Windows\Media\Alarm01.wav</Wipe>
      <Delete>C:\Windows\Media\Alarm01.wav</Delete>
      <Split>C:\Windows\Media\Alarm01.wav</Split>
      <Combine>C:\Windows\Media\Alarm01.wav</Combine>
    </Sounds>
`Duration` 表示文件操作应持续的最短时间（秒）。其他取值：0 表示始终启用，-1 表示禁用声音通知。 可配置的文件操作包括：复制、移动、擦除、删除、分割与合并文件。若某项操作不需要声音通知，可删除对应的行或不添加。支持使用 环境变量。 支持的音频格式： - Windows（使用 Windows API 的 `sndPlaySoundW`）：.wav。 - macOS（使用 Core Audio）：.aac, .adts, .ac3, .caf, .mp3, .m4a 与 .mp4（含 AAC 或 ALAC），以及 .wav。 - Linux 和其他类 Unix 系统：Double Commander 可使用 GStreamer 库（主要是 `libgstreamer-1.0.so.0`）或 SDL2 库（`libSDL2-2.0.so.0`）。GStreamer 支持大多数流行音频格式，使用 SDL2 时仅支持 .wav。在 Haiku 上仅能使用 SDL2。
from <FileOperations><Options>:
<CopyAttributes> | Windows：若为 `True`，复制/移动文件时会复制源文件的属性；若为 `False`，则仍会复制源文件属性并由 Double Commander 设置“archive”属性。 在 Linux 等系统中，可在 复制/移动 文件 对话框 中使用 Copy attributes 选项。 默认值为 `True`。
<CopyTime> | Windows：若为 `True`，复制/移动文件时会复制源文件的时间戳（创建时间、修改时间、最后访问时间）；否则仅复制修改时间，其他时间使用当前时间。 在 Linux 等系统中，可在 复制/移动 文件 对话框 中使用 Copy date/time 选项。 默认值为 `True`。
<CopyXattributes> | 是否在复制/移动文件时复制文件系统的扩展属性。 Windows：若为 `True`，压缩和加密属性也会被复制。 在 Linux / 类 Unix 系统：若为 `True`，Double Commander 会复制文件系统的扩展属性（xattr，即命名属性）。 默认值为 `True`。
from <FilesViews>:
<ExtraLineSpan> | 该设置允许在文件面板中为每个项目增加额外的像素高度，数值以像素为单位。 默认值为 2。 示例： `<ExtraLineSpan>2</ExtraLineSpan>`
<FolderPrefix> 和 <FolderPostfix> | 默认情况下，DC 会在目录名周围显示方括号（可在 文件视图 > 文件视图扩展 中配置），但可以改为使用任意符号。 注意：在 XML 中某些特殊符号属于标记的一部分，不能直接使用。预定义实体有五个：`<` 应写为 `&lt;`，`>` 写为 `&gt;`，`&` 写为 `&amp;`，`'` 写为 `&apos;`，`"` 写为 `&quot;`。
<RenameConfirmMouse> | 该选项改变光标下重命名文件时鼠标点击的行为：若为 `True`，在名称编辑框外单击将确认重命名（类似 Windows 资源管理器）；否则鼠标点击等同于按 `Esc`。 默认值为 `False`。 无论哪种情况，也可使用编辑框右侧的按钮确认操作。
from <FilesViews><ColumnsView>:
<AutoSaveWidth> | 当我们用鼠标手动调整列宽时，默认情况下 DC 会将该设置应用于左右两个面板并保存为下次启动时使用的新值。 若只想在当前会话中使用新宽度而不保存，应将 `True` 改为 `False`，例如 `<AutoSaveWidth>False</AutoSaveWidth>`。
<LongInStatus> | 当使用列表视图且没有选中 文件 时，状态栏显示光标下的文件名（`True`）或文件数（`False`，默认）。 若为 `True`，当光标在 ".." 项上时也会显示文件数量。对于链接，还会显示目标对象。
<TitleStyle> | 更改 文件夹标签 头部的外观样式。 默认值取决于操作系统。
取值 | 说明
--- | ---
0 | tsLazarus：Lazarus 的默认外观。
1 | tsStandard：更强对比的外观，类似 Delphi 网格样式。
2 | tsNative：尝试匹配当前 widgetset 主题的本机外观。
示例： `<TitleStyle>2</TitleStyle>`
from many tags <Fonts>:
<Quality> | 指定将使用的 字体光栅化 类型，即字体渲染质量。 该选项在多个字体相关标签中单独适用。
取值 | 说明
--- | ---
0 | Default：由系统设置决定（默认）。
1 | Draft：对位图字体启用缩放；字体可放大，但质量可能较低。支持加粗、斜体、下划线或删除线。质量低于 Proof。
2 | Proof：注重字符质量，对于位图字体禁用缩放，选择最接近大小的字体以保证质量。
3 | NonAntialiased：不进行抗锯齿渲染。
4 | Antialiased：若支持则始终进行抗锯齿渲染。字体大小不能过小或过大。
5 | ClearType：使用 ClearType 抗锯齿方法渲染字体。
6 | ClearTypeNatural：使用 Natural ClearType 抗锯齿方法渲染字体。
示例： `<Quality>1</Quality>`
from <History>:
属性 Count 来自 <History><DirHistory> | `Count` 属性用于指定将在弹出菜单（即 cm_DirHistory 命令）中显示的访问目录条目数。默认值为 30。 使用树状视图菜单时会忽略该属性值。
from <Icons>:
<CustomIcons> | 该选项用于决定用于驱动器、文件夹或压缩包的图标是使用系统默认图标还是使用自定义图标。 `CustomIcons` 使用一个数字表示，等于下表中各项对应数值之和，取决于你的偏好：
元素 | 系统默认 | 自定义
--- | --- | ---
驱动器 | 0 | 1（仅限 Windows）
文件夹 | 0 | 2（除 Haiku 外均支持）
压缩包 | 0 | 4（Windows、Linux 和 FreeBSD）
举例： 想全部使用系统图标：0 + 0 + 0 = 0，写为 `<CustomIcons>0</CustomIcons>` 想全部自定义：1 + 2 + 4 = 7，写为 `<CustomIcons>7</CustomIcons>` 仅驱动器自定义其余系统：1 + 0 + 0 = 1，写为 `<CustomIcons>1</CustomIcons>` 等等... 若使用自定义图标，各项的放置位置如下：
元素 | 位置
--- | ---
驱动器 | %commander_path%\pixmaps\theme\XxX\devices\
文件夹 | %commander_path%\pixmaps\theme\XxX\places\folder.png
压缩包 | %commander_path%\pixmaps\theme\XxX\mimetypes\package-x-generic.png
<DiskAlpha> | 设置未挂载驱动器图标的透明度级别。
取值 | 说明
--- | ---
1 到 99 | 有效的透明度级别（默认 50）。
0 或 100 | 禁用该功能。
<ToolSize> | 内部编辑器、查看器和比较程序中工具栏图标的尺寸，支持的值为：16、24 或 32。
from <Layout>:
<ShowColonAfterDrive> | 仅限 Windows：在 驱动器按钮栏 和 驱动器列表 中在驱动器字母后显示冒号。默认值为 `False`。
<UppercaseDriveLetter> | 仅限 Windows：在 驱动器按钮栏 和 驱动器列表 中使用大写字母显示驱动器。默认值为 `False`。 注意：此选项不会更改先前保存的历史和设置中的驱动器字母（收藏夹、按钮等）。
from <Miscellaneous>:
<DecimalSeparator> | 该选项允许指定首选的小数分隔符（即整数部分与小数部分之间的分隔符），以替代区域设置中的默认值。可指定 ASCII 表（代码 U+0000 到 U+007F）中的任意字符（建议使用可打印字符 U+0020 到 U+007E）。
<DoubleClickEditPath> | 设置双击 当前目录栏 的行为：显示常用文件夹列表（`False`，默认）或编辑当前路径（`True`）。
<SystemItemProperties> | Linux/FreeBSD：若为 `True`，则尝试使用桌面环境中默认文件管理器的文件属性对话框（若可用），否则使用 Double Commander 自带的 显示文件属性... 窗口。默认值为 `False`。
from <SyncDirs>:
<DateTimeFormat> | 该设置用于指定在 同步文件夹 中首选的日期/时间格式。日期和时间格式符号说明见 此处。 默认值为 `yyyy.mm.dd hh:nn:ss`。
属性 Save 来自 <SyncDirs><Asymmetric> | 同步文件夹：默认是否保存非对称模式的状态。 若要保存该模式状态，请使用 `<Asymmetric Save="True">`，否则使用 `<Asymmetric Save="False">`（默认）。
属性 Save 来自 <SyncDirs><FileMask> | 同步文件夹：默认情况下，Double Commander 会将上次使用的文件掩码保存为下次运行同步工具时的掩码（如果该掩码不是搜索模板）。 若要禁用此行为，可将 `True` 改为 `False`（即 `<FileMask Save="False">`），并在 `<FileMask>` 中指定首选掩码或使用 "*"（表示所有文件）。
from <Viewer>:
<AutoCopy> | 针对内部查看器：启用（`True`）或禁用（`False`）将选中文本自动复制到剪贴板。默认值为 `True`。
<ExtraLineSpan> | 针对内部查看器：允许为每行增加额外像素高度，数值以像素为单位。 默认值为 0。 示例： `<ExtraLineSpan>2</ExtraLineSpan>`
<ImageExifRotate> | Double Commander 能识别可能嵌入 JPEG 图像文件的 EXIF 元数据。 在该元数据中有一个 方向标志，可用于以拍摄时的方向（纵向、横向、倒置、镜像等）显示图片。 `ImageExifRotate` 标签用于配置查看器是否使用该信息来显示图像。
取值 | 说明
--- | ---
True | 使用图像文件中嵌入的方向标志（默认）。
False | 忽略方向标志。
示例： `<ImageExifRotate>True</ImageExifRotate>`
<JpegQuality> | 针对内部查看器：保存为 JPEG 格式（使用 保存 或 另存为...）时的默认质量值。默认值为 80。
<LeftMargin> | 对于内部查看器，此选项允许在窗口左边框和文本边界之间添加间距，数值以像素为单位。 默认值为 4。 示例： `<LeftMargin>4</LeftMargin>`
<MaxCodeSize> | 对于内部查看器，限制自动选择代码查看模式（带语法高亮）时允许的最大文件大小（显示带语法高亮的文本比显示纯文本需要更多资源）。当在查看器窗口中强制使用代码查看模式时会忽略此值。 单位为兆字节，默认值为 128。
<MaxTextWidth> | 对于内部查看器，配置在自动换行前每行允许显示的最大字符数。 有效范围为 80 到 16384，默认值为 1024。 示例： `<MaxTextWidth>1024</MaxTextWidth>`
<SynEditMask> | 对于内部查看器，此选项用于管理代码查看模式（高亮）下自动启用的文件扩展名列表（在可用列表范围内）。 可指定文件掩码（以分号 ";" 分隔且不带空格），匹配的文件将自动以代码模式打开而不是纯文本，亦可指定搜索模板名称以排除。也可以通过设置空字符串来禁用自动打开此模式。默认值为 "*"。
<TabSpaces> | 对于内部查看器，设置制表位宽度（tab 宽度）。 有效范围为 1 到 32，默认值为 8。 示例： `<TabSpaces>4</TabSpaces>`

（返回顶部）

## 4. 索引

属性 Count (<DirHistory>) 属性 Save (<Asymmetric>) 属性 Save (<FileMask>) ActiveRight AutoCopy AutoExtractOpenMask AutoSaveWidth ConfirmQuit CopyAttributes CopyTime CopyXattributes CustomIcons DateTimeFormat | DecimalSeparator DefaultDropEffect DiskAlpha DoubleClickEditPath ExtraLineSpan (<FilesViews>) ExtraLineSpan (<Viewer>) FindWordAtCursor FolderPrefix 和 FolderPostfix gBorderFrameWidth ImageExifRotate JpegQuality LeftMargin LongInStatus LongNameAlert | MaxCodeSize MaxTextWidth Mode NtfsHourTimeDelay Quality RenameConfirmMouse ShowColonAfterDrive Sounds SynEditMask SystemItemProperties TabSpaces TitleStyle ToolSize UppercaseDriveLetter

（返回顶部）