<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CP Editor – 设置</title><link>/zh/docs/preferences/</link><description>Recent content in 设置 on CP Editor</description><generator>Hugo -- gohugo.io</generator><language>zh</language><atom:link href="/zh/docs/preferences/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: 代码编辑</title><link>/zh/docs/preferences/code-edit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/code-edit/</guid><description>
&lt;h3 id="缩进宽度">缩进宽度&lt;/h3>
&lt;p>设置制表符的宽度或缩进的空格个数。该选项设置的值将同时对
&lt;a href="#%e8%87%aa%e5%8a%a8%e7%bc%a9%e8%bf%9b" >自动缩进&lt;/a>
和
&lt;a href="#%e5%b0%86%e5%88%b6%e8%a1%a8%e7%ac%a6%e6%9b%bf%e6%8d%a2%e4%b8%ba%e7%a9%ba%e6%a0%bc" >将制表符替换为空格&lt;/a>
产生影响。&lt;/p>
&lt;h3 id="光标宽度">光标宽度&lt;/h3>
&lt;p>以像素计算的光标宽度。&lt;/p>
&lt;h3 id="自动缩进">自动缩进&lt;/h3>
&lt;ol>
&lt;li>当代码另起一行时，该行将和上一行拥有相同的缩进。&lt;/li>
&lt;li>如果上一行以 &lt;code>{&lt;/code> 结束，该行将会插入一个额外的缩进（一个制表符或
&lt;a href="#%e7%bc%a9%e8%bf%9b%e5%ae%bd%e5%ba%a6" >缩进宽度&lt;/a>
个空格，取决于
&lt;a href="#%e5%b0%86%e5%88%b6%e8%a1%a8%e7%ac%a6%e6%9b%bf%e6%8d%a2%e4%b8%ba%e7%a9%ba%e6%a0%bc" >将制表符替换为空格&lt;/a>
选项是否开启）。&lt;/li>
&lt;/ol>
&lt;h3 id="文本自动换行">文本自动换行&lt;/h3>
&lt;p>如果某一行的字符数超出了屏幕的宽度，则该行的内容将会折成多行显示。&lt;/p>
&lt;h3 id="自动补全括号">自动补全括号&lt;/h3>
&lt;p>在输入左括号时自动插入右括号。例如，当你输入一个 &lt;code>(&lt;/code> 时，将会自动加入一个 &lt;code>)&lt;/code>。&lt;/p>
&lt;p>如果光标处右边的第一个字符是右括号，而你输入了一个右括号，光标将会自动跳到该右括号后面，而不再输入右括号。&lt;/p>
&lt;p>你可以在各语言的
&lt;a href="../../../zh/docs/preferences/language/#%e6%8b%ac%e5%8f%b7" >括号&lt;/a>
设置中设置各语言自动补全的括号类型。&lt;/p>
&lt;h3 id="自动删除括号">自动删除括号&lt;/h3>
&lt;p>在删除一个左括号时，如果其右侧有一个右括号相邻，则该右括号也会被自动删除。&lt;/p>
&lt;p>你可以在各语言的
&lt;a href="../../../zh/docs/preferences/language/#%e6%8b%ac%e5%8f%b7" >括号&lt;/a>
设置中设置各语言自动删除的括号类型。&lt;/p>
&lt;h3 id="在按下-tab-键时跳出括号">在按下 Tab 键时跳出括号&lt;/h3>
&lt;p>如果光标处右边的第一个字符是右括号，你可以通过按下 Tab 键来自动跳出这对括号。如果
&lt;a href="#%e8%87%aa%e5%8a%a8%e8%a1%a5%e5%85%a8%e6%8b%ac%e5%8f%b7" >自动补全括号&lt;/a>
选项被启用，这种方式可以作为输入右括号的另一种方式。&lt;/p>
&lt;p>你可以在各语言的
&lt;a href="../../../zh/docs/preferences/language/#%e6%8b%ac%e5%8f%b7" >括号&lt;/a>
设置中设置各语言按下 Tab 时自动跳出的括号类型。&lt;/p>
&lt;h3 id="将制表符替换为空格">将制表符替换为空格&lt;/h3>
&lt;p>当插入一个缩进时，插入与
&lt;a href="#%e7%bc%a9%e8%bf%9b%e5%ae%bd%e5%ba%a6" >缩进宽度&lt;/a>
数目相等的空格来代替制表符。&lt;/p>
&lt;p>该设置不会影响文件中已经存在的空格。在
&lt;a href="#%e8%87%aa%e5%8a%a8%e7%bc%a9%e8%bf%9b" >自动缩进&lt;/a>
选项中，如果上一行使用了制表符作为缩进，新的一行仍然会使用制表符缩进。但如果上一行以 &lt;code>{&lt;/code> 结束，新的一行插入的额外缩进将会使用空格。&lt;/p></description></item><item><title>Docs: 语言</title><link>/zh/docs/preferences/language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/language/</guid><description>
&lt;h2 id="通用">通用&lt;/h2>
&lt;h3 id="默认编程语言">默认编程语言&lt;/h3>
&lt;p>设置打开新标签时使用的默认编程语言。&lt;/p>
&lt;h2 id="命令">命令&lt;/h2>
&lt;h3 id="c-命令">C++ 命令&lt;/h3>
&lt;h4 id="c-编译命令">C++ 编译命令&lt;/h4>
&lt;p>设置编译 C++ 时的编译命令，例如 &lt;code>g++ -Wall&lt;/code>。&lt;/p>
&lt;p>该命令中不应包含源代码和输出文件的名称，CP Editor 将会自动添加它们。&lt;/p>
&lt;p>详细的编译选项请参考编译器的文档。&lt;/p>
&lt;h4 id="c-可执行文件路径">C++ 可执行文件路径&lt;/h4>
&lt;p>设置可执行文件的路径，即编译命令中 &lt;code>-o&lt;/code> 选项后的参数。&lt;/p>
&lt;p>如果使用了相对路径，则可执行文件的位置将和源代码位置有关（如果当前标签是未命名标签，则可执行文件位置将和
&lt;a href="../../../zh/docs/preferences/general/#%e4%b8%b4%e6%97%b6%e6%96%87%e4%bb%b6%e5%a4%b9" >临时文件夹&lt;/a>
的位置有关）。&lt;/p>
&lt;p>该设置中，你可以使用如下参数：&lt;/p>
&lt;ul>
&lt;li>&lt;code>${filename}&lt;/code>：源代码的完整文件名。如果当前标签是未命名标签，则完整文件名是 &lt;code>sol.cpp&lt;/code>。&lt;/li>
&lt;li>&lt;code>${basename}&lt;/code>：将 &lt;code>${filename}&lt;/code> 去掉扩展名（&lt;code>.cpp&lt;/code> 等）后的文件名。&lt;/li>
&lt;li>&lt;code>${tmpdir}&lt;/code> 或 &lt;code>${tempdir}&lt;/code>：
&lt;a href="../../../zh/docs/preferences/general/#%e4%b8%b4%e6%97%b6%e6%96%87%e4%bb%b6%e5%a4%b9" >临时文件夹&lt;/a>
的路径。&lt;/li>
&lt;/ul>
&lt;p>例如，使用 &lt;code>${tmpdir}/${basename}&lt;/code> 将会把可执行文件存储在临时文件夹下。如果你不想要存储可执行文件的话，可以这样设定路径。而 &lt;code>executables/${basename}&lt;/code> 将会把可执行文件存储在源代码所在目录的下的 &lt;code>executables&lt;/code> 文件夹。&lt;/p>
&lt;h4 id="c-运行参数">C++ 运行参数&lt;/h4>
&lt;p>设置执行 C++ 程序需要的参数。在算法竞赛中一般留空即可。&lt;/p>
&lt;h4 id="c-编译器输出编码">C++ 编译器输出编码&lt;/h4>
&lt;p>设置当编译器输出警告，错误等消息时使用的编码。&lt;/p>
&lt;p>如果输出的警告和错误信息不是英文，合理配置该设置可以避免输出信息出现乱码。&lt;/p>
&lt;h3 id="java-命令">Java 命令&lt;/h3>
&lt;h4 id="java-编译命令">Java 编译命令&lt;/h4>
&lt;p>设置编译 Java 源代码的编译命令，例如 &lt;code>javac&lt;/code>。&lt;/p>
&lt;p>该命令中不应包含源代码和类路径，CP Editor 将会自动添加它们。&lt;/p>
&lt;h4 id="java-类路径">Java 类路径&lt;/h4>
&lt;p>设置编译后存储 Java 类文件的位置。&lt;/p>
&lt;p>更多细节详见
&lt;a href="#c-%e5%8f%af%e6%89%a7%e8%a1%8c%e6%96%87%e4%bb%b6%e8%b7%af%e5%be%84" >C++ 可执行文件路径&lt;/a>
。&lt;/p>
&lt;h4 id="java-类名称">Java 类名称&lt;/h4>
&lt;p>设置你的源代码中主类的名字。&lt;/p>
&lt;p>源代码的名字不必与主类名相同。当编译时，CP Editor 将会自动将源代码保存在一个与主类名称相同的文件中。&lt;/p>
&lt;h4 id="java-运行命令">Java 运行命令&lt;/h4>
&lt;p>设置执行 Java 程序时的命令。例如 &lt;code>java&lt;/code>。&lt;/p>
&lt;p>该命令中不应出现类路径或类名，CP Editor 会自动添加它们。&lt;/p>
&lt;h4 id="java-运行参数">Java 运行参数&lt;/h4>
&lt;p>设置执行 Java 程序需要的参数。在算法竞赛中一般留空即可。&lt;/p>
&lt;h4 id="java-编译器输出源码">Java 编译器输出源码&lt;/h4>
&lt;p>详见
&lt;a href="#c-%e7%bc%96%e8%af%91%e5%99%a8%e8%be%93%e5%87%ba%e7%bc%96%e7%a0%81" >C++ 编译器输出编码&lt;/a>
。&lt;/p>
&lt;h3 id="python-命令">Python 命令&lt;/h3>
&lt;h4 id="python-运行命令">Python 运行命令&lt;/h4>
&lt;p>设置运行 Python 源代码的命令。一般为 &lt;code>python&lt;/code>，&lt;code>python2&lt;/code> 或 &lt;code>python3&lt;/code>。&lt;/p>
&lt;h4 id="python-运行命令-1">Python 运行命令&lt;/h4>
&lt;p>设置执行 Python 程序需要的参数。在算法竞赛中一般留空即可。&lt;/p>
&lt;h2 id="模板">模板&lt;/h2>
&lt;p>如果设置了模板，在创建新标签时，将会用设置的模板自动填充内容。&lt;/p>
&lt;h3 id="模板路径">模板路径&lt;/h3>
&lt;p>设置模板所在的路径。&lt;/p>
&lt;h3 id="使用模板时的光标初始位置">使用模板时的光标初始位置&lt;/h3>
&lt;p>设置使用模板时光标所在的初始位置。&lt;/p>
&lt;p>该设置包含三部分。&lt;/p>
&lt;ol>
&lt;li>
&lt;a href="../../../zh/docs/preferences/general/#%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f" >正则表达式&lt;/a>
&lt;/li>
&lt;li>偏移类型：开头或末尾。&lt;/li>
&lt;li>偏移量：一个数字，可以为负值。&lt;/li>
&lt;/ol>
&lt;p>光标位置将会通过如下步骤确定：&lt;/p>
&lt;ol>
&lt;li>找到模板中匹配正则表达式的第一个位置。&lt;/li>
&lt;li>如果模板中不存在匹配正则表达式的位置，光标将会在模板末尾。&lt;/li>
&lt;li>否则，光标将会在第一个匹配位置的开头或末尾（取决于设置的偏移类型），并会在该位置基础上向右移动偏移量个位置（如果是负数，就会向左移动）。&lt;/li>
&lt;/ol>
&lt;p>例如，如果你的模板中包含下列代码片段：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-cpp" data-lang="cpp">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">int&lt;/span> &lt;span style="color:#000">main&lt;/span>&lt;span style="color:#000;font-weight:bold">()&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>则可以用 &lt;code>int main&lt;/code> 作为匹配的正则表达式，&lt;code>end&lt;/code> 作为偏移类型，&lt;code>9&lt;/code> 作为偏移量，则在打开一个新标签时，光标将会停在 &lt;code>main&lt;/code> 函数的第一行。&lt;/p>
&lt;h2 id="代码片段">代码片段&lt;/h2>
&lt;h3 id="管理代码片段">管理代码片段&lt;/h3>
&lt;p>你可以在 “语言-&amp;gt;XXX-&amp;gt;XXX 代码片段中” 添加，删除，重命名代码片段。你可以使用 &lt;kbd>Ctrl+N&lt;/kbd> 作为添加的快捷键，&lt;kbd>Ctrl+W&lt;/kbd> 作为删除的快捷键，&lt;kbd>F2&lt;/kbd> 作为重命名的快捷键。&lt;/p>
&lt;p>你也可以在 “更多” 菜单中导入或导出代码片段。&lt;/p>
&lt;h3 id="使用代码片段">使用代码片段&lt;/h3>
&lt;p>你可以通过 “动作-&amp;gt;使用代码片段” 或按下 &lt;kbd>Ctrl+T&lt;kbd> 来使用代码片段。&lt;/p>
&lt;p>当你在挑选代码片段时，你可以在搜索框中输入代码片段名的前几个字符，以更快找到相应的片段。&lt;/p>
&lt;h2 id="括号">括号&lt;/h2>
&lt;p>你可以为各编程语言设置相应的括号补全选项。&lt;/p>
&lt;p>每个设置有三种状态：开启，关闭或默认。如果处于默认状态，将应用
&lt;a href="../../../zh/docs/preferences/code-edit/" >代码编辑&lt;/a>
中的设置，否则将会使用这里的设置。&lt;/p>
&lt;h3 id="自动补全">自动补全&lt;/h3>
&lt;p>详见
&lt;a href="../../../zh/docs/preferences/code-edit/#%e8%87%aa%e5%8a%a8%e8%a1%a5%e5%85%a8%e6%8b%ac%e5%8f%b7" >代码编辑/自动补全括号&lt;/a>
。&lt;/p>
&lt;h3 id="自动删除">自动删除&lt;/h3>
&lt;p>详见
&lt;a href="../../../zh/docs/preferences/code-edit/#%e8%87%aa%e5%8a%a8%e5%88%a0%e9%99%a4%e6%8b%ac%e5%8f%b7" >代码编辑/自动删除括号&lt;/a>
。&lt;/p>
&lt;h3 id="按-tab-键跳出">按 Tab 键跳出&lt;/h3>
&lt;p>详见
&lt;a href="../../../zh/docs/preferences/code-edit/#%e5%9c%a8%e6%8c%89%e4%b8%8b-tab-%e9%94%ae%e6%97%b6%e8%b7%b3%e5%87%ba%e6%8b%ac%e5%8f%b7" >代码编辑/在按下 Tab 键时跳出括号&lt;/a>
。&lt;/p></description></item><item><title>Docs: 外观</title><link>/zh/docs/preferences/appearance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/appearance/</guid><description>
&lt;h2 id="通用">通用&lt;/h2>
&lt;h3 id="界面语言-ui-language">界面语言 (UI Language)&lt;/h3>
&lt;p>UI 中使用的自然语言。&lt;/p>
&lt;h3 id="界面风格">界面风格&lt;/h3>
&lt;p>用户界面使用的样式。可用选项在不同平台上有所不同。&lt;/p>
&lt;p>“默认”样式要么是在你的平台上最合适的样式，要么是 &lt;code>--style&lt;/code> 命令行选项指定的样式。&lt;/p>
&lt;p>在 Windows 上，还有一个附加选项 “Auto Fusion”。“Auto Fusion” 是深色还是浅色取决于系统主题（即 Windows 应用程序主题是深色还是浅色）。&lt;/p>
&lt;p>更改 UI 样式后，如果有任何问题，可以尝试重新启动 CP Editor。&lt;/p>
&lt;h3 id="编辑器主题">编辑器主题&lt;/h3>
&lt;p>代码编辑器的语法高亮显示主题。&lt;/p>
&lt;h3 id="不透明度">不透明度&lt;/h3>
&lt;p>主窗口的不透明度。&lt;/p>
&lt;h3 id="测试用例最大高度">测试用例最大高度&lt;/h3>
&lt;p>滚动条出现之前测试用例的最大高度。&lt;/p>
&lt;h3 id="只显示编译并运行">只显示编译并运行&lt;/h3>
&lt;p>隐藏仅编译、仅运行这两个按钮。&lt;/p>
&lt;p>如果你不在乎编译所用的时间，这或许会有用。&lt;/p>
&lt;h3 id="在差异查看器中显示行尾字符">在差异查看器中显示行尾字符&lt;/h3>
&lt;p>使用字符 &amp;ldquo;¶&amp;rdquo; 在差异查看器中可视化行尾。如果你要查看行尾的差异（即末尾多余的空行），这将很有用。&lt;/p>
&lt;h3 id="在代码编辑器底部添加额外的边距">在代码编辑器底部添加额外的边距&lt;/h3>
&lt;p>在代码编辑器的底部添加一个额外的边距，让你可以更少地滚动。&lt;/p>
&lt;h2 id="字体">字体&lt;/h2>
&lt;h3 id="仅显示等宽字体">仅显示等宽字体&lt;/h3>
&lt;p>在为下面的设置选择字体时只显示等宽字体。&lt;/p>
&lt;h3 id="使用自定义的全局字体">使用自定义的全局字体&lt;/h3>
&lt;p>对 UI 用自定义字体（代码编辑器，测试用例，消息等除外）来替代系统字体。&lt;/p></description></item><item><title>Docs: 动作</title><link>/zh/docs/preferences/actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/actions/</guid><description>
&lt;h2 id="保存">保存&lt;/h2>
&lt;h3 id="更快地保存文件">更快地保存文件&lt;/h3>
&lt;p>使用
&lt;a href="https://doc.qt.io/qt-5/qfile.html" target="_blank" >&lt;code>QFile&lt;/code>&lt;/a>
而非
&lt;a href="https://doc.qt.io/qt-5/qsavefile.html" target="_blank" >&lt;code>QSaveFile&lt;/code>&lt;/a>
来保存文件。&lt;/p>
&lt;p>启用该选项会有可忽略不计的丢失文件风险，但会显著提高保存文件的速度。&lt;/p>
&lt;h3 id="保存文件时保存测试用例">保存文件时保存测试用例&lt;/h3>
&lt;p>在保存代码时将测试用例一并保存。&lt;/p>
&lt;p>你可以在
&lt;a href="../../../zh/docs/preferences/file-path/#%e6%b5%8b%e8%af%95%e7%82%b9" >文件路径/测试点&lt;/a>
中设置测试用例保存的位置。&lt;/p>
&lt;h2 id="自动保存">自动保存&lt;/h2>
&lt;h3 id="自动保存间隔类型">自动保存间隔类型&lt;/h3>
&lt;p>自动保存机制以如下的方式运作：有一个计时器，每当它被“重置”，它就会“运行” &lt;em>自动保存时间间隔&lt;/em> 毫秒，当计时器“运行”了 &lt;em>自动保存时间间隔&lt;/em> 毫秒后，当前代码就会被自动保存。&lt;/p>
&lt;h4 id="after-the-last-modification">After the last modification&lt;/h4>
&lt;p>计时器在每次修改代码后被重置。即，如果你在 &lt;em>自动保存时间间隔&lt;/em> 毫秒内没有修改你的代码，则计时器完成了倒计时，同时你的代码会被自动保存。&lt;/p>
&lt;p>该模式适合使用较短的 &lt;em>自动保存时间间隔&lt;/em>，以使代码能在你两次输入的间歇间被自动保存。如果设置的间隔时间过长，则难以让代码被自动保存。&lt;/p>
&lt;h4 id="after-the-first-modification">After the first modification&lt;/h4>
&lt;p>在计时器未运行时，若你修改了代码，则计时器将被重置。即，你的代码将在第一次修改后 &lt;em>自动保存时间间隔&lt;/em> 毫秒被自动保存。&lt;/p>
&lt;p>该模式适合使用较长的 &lt;em>自动保存时间间隔&lt;/em>。如果设置的时间过短，代码会在你输入的时候被自动保存，这可能会影响你的输入体验。&lt;/p>
&lt;h4 id="without-modification">Without modification&lt;/h4>
&lt;p>每当计时器完成倒计时，计时器会被重置。即，无论你是否修改了你的代码，你的代码都会以恒定的 &lt;em>自动保存时间间隔&lt;/em> 被自动保存。&lt;/p>
&lt;p>该模式适合保存测试用例。在其他模式下，如果你不修改你的代码，测试用例不会被自动保存。&lt;/p>
&lt;h2 id="终端中运行">终端中运行&lt;/h2>
&lt;h3 id="终端程序">终端程序&lt;/h3>
&lt;h3 id="终端参数">终端参数&lt;/h3>
&lt;p>本设置仅在 Linux 系统中可用。&lt;/p>
&lt;p>终端程序是你想要使用的终端模拟器的名称或路径。&lt;/p>
&lt;p>终端参数是终端模拟器中用于运行给定命令的参数。即，命令 &lt;code>&amp;lt;终端程序&amp;gt; &amp;lt;终端参数&amp;gt; &amp;lt;命令&amp;gt;&lt;/code> 可在指定的终端模拟器中运行 &lt;code>&amp;lt;命令&amp;gt;&lt;/code>。&lt;/p>
&lt;p>在大多数终端模拟器，如 &lt;code>konsole&lt;/code>, &lt;code>xterm&lt;/code> 和 &lt;code>xfce-terminal&lt;/code>，终端参数为 &lt;code>-e&lt;/code>，在 &lt;code>gnome-terminal&lt;/code> 中，该参数为 &lt;code>--&lt;/code>。&lt;/p>
&lt;p>你可以阅读你使用的终端模拟器的手册，以获取关于终端参数的相关信息。&lt;/p>
&lt;h2 id="保存会话">保存会话&lt;/h2>
&lt;h3 id="在启动时恢复上一次会话">在启动时恢复上一次会话&lt;/h3>
&lt;p>在退出 CP Editor 时保存当前状态，并在启动时恢复上一次会话。&lt;/p>
&lt;p>在终端下，你可以使用 &lt;code>--no-restore-session&lt;/code> 命令以暂时禁用该选项。如果上一次会话过大导致 CP Editor 卡死，该命令将会解决这一问题。&lt;/p>
&lt;h3 id="定期自动保存当前会话">定期自动保存当前会话&lt;/h3>
&lt;p>每隔一段时间就保存当前会话，而不是仅在退出时保存会话。&lt;/p>
&lt;p>启用该选项会避免因为非正常退出（如断电，强行终止 CP Editor 等）导致代码丢失的情况发生。然而，如果代码和测试用例过大，每次自动保存时 CP Editor 会卡顿较长时间。&lt;/p>
&lt;h2 id="关联文件和题目">关联文件和题目&lt;/h2>
&lt;h3 id="打开文件时加载对应题目">打开文件时加载对应题目&lt;/h3>
&lt;p>如果一个文件已经设置了题目链接，当该文件被再次打开时，将会使用原来的题目链接。&lt;/p>
&lt;h3 id="加载以前的题目时打开以前的文件">加载以前的题目时打开以前的文件&lt;/h3>
&lt;p>如果一个文件已经设置了题目链接，当使用 Competitive Companion 解析同样的题目时，将会直接打开以前的文件。&lt;/p>
&lt;h2 id="测试点">测试点&lt;/h2>
&lt;h3 id="在空测试点上运行你的代码">在空测试点上运行你的代码&lt;/h3>
&lt;p>在所有未被隐藏的测试点上运行你的代码，即使输入为空。&lt;/p>
&lt;h3 id="在输出为空的测试点上检查输出的正确性">在输出为空的测试点上检查输出的正确性&lt;/h3>
&lt;p>即使程序输出或答案为空，也检查该测试点输出的正确性。&lt;/p>
&lt;h3 id="自动取消选中已通过的测试点">自动取消选中已通过的测试点&lt;/h3>
&lt;p>在运行代码后，自动将通过了的测试点取消选中。当测试点未被选中时，它们会被折叠，并且在你运行代码时不会在这些测试点上进行测试。&lt;/p>
&lt;h2 id="加载外部文件修改">加载外部文件修改&lt;/h2>
&lt;h3 id="若没有未保存的修改自动加载外部文件修改">若没有未保存的修改，自动加载外部文件修改&lt;/h3>
&lt;p>若硬盘上的文件和 CP Editor 中的文件相同，该文件在 CP Editor 外部被修改，无需确认，自动加载外部文件修改。&lt;/p>
&lt;h3 id="询问是否加载外部文件修改">询问是否加载外部文件修改&lt;/h3>
&lt;p>若文件在 CP Editor 外部被修改，询问是否加载这些修改。&lt;/p>
&lt;p>如果该选项被禁用，外部文件修改不会被加载。&lt;/p>
&lt;p>
&lt;a href="#%e8%8b%a5%e6%b2%a1%e6%9c%89%e6%9c%aa%e4%bf%9d%e5%ad%98%e7%9a%84%e4%bf%ae%e6%94%b9%e8%87%aa%e5%8a%a8%e5%8a%a0%e8%bd%bd%e5%a4%96%e9%83%a8%e6%96%87%e4%bb%b6%e4%bf%ae%e6%94%b9" >若没有未保存的修改，自动加载外部文件修改&lt;/a>
会覆盖该选项的设置。即，若选项
&lt;a href="#%e8%8b%a5%e6%b2%a1%e6%9c%89%e6%9c%aa%e4%bf%9d%e5%ad%98%e7%9a%84%e4%bf%ae%e6%94%b9%e8%87%aa%e5%8a%a8%e5%8a%a0%e8%bd%bd%e5%a4%96%e9%83%a8%e6%96%87%e4%bb%b6%e4%bf%ae%e6%94%b9" >若没有未保存的修改，自动加载外部文件修改&lt;/a>
被启用，无论
&lt;a href="#%e8%af%a2%e9%97%ae%e6%98%af%e5%90%a6%e5%8a%a0%e8%bd%bd%e5%a4%96%e9%83%a8%e6%96%87%e4%bb%b6%e4%bf%ae%e6%94%b9" >询问是否加载外部文件修改&lt;/a>
是否启用，外部文件修改将会在无确认的情况下被自动加载。若选项
&lt;a href="#%e8%8b%a5%e6%b2%a1%e6%9c%89%e6%9c%aa%e4%bf%9d%e5%ad%98%e7%9a%84%e4%bf%ae%e6%94%b9%e8%87%aa%e5%8a%a8%e5%8a%a0%e8%bd%bd%e5%a4%96%e9%83%a8%e6%96%87%e4%bb%b6%e4%bf%ae%e6%94%b9" >若没有未保存的修改，自动加载外部文件修改&lt;/a>
被禁用，且
&lt;a href="#%e8%af%a2%e9%97%ae%e6%98%af%e5%90%a6%e5%8a%a0%e8%bd%bd%e5%a4%96%e9%83%a8%e6%96%87%e4%bb%b6%e4%bf%ae%e6%94%b9" >询问是否加载外部文件修改&lt;/a>
被启用，CP Editor 将会询问用户是否加载这些修改。而在两个选项都被禁用的情况下，外部文件修改将不会被加载。&lt;/p>
&lt;h2 id="计时器">计时器&lt;/h2>
&lt;h3 id="显示计时器">显示计时器&lt;/h3>
&lt;p>在 UI 中显示计时器。你可以用它来记录做题用时。&lt;/p>
&lt;h3 id="切换标签页时启动暂停计时器">切换标签页时启动/暂停计时器&lt;/h3>
&lt;p>切换标签页后，暂停原来那个标签页的计时器并启动当前标签页的计时器。&lt;/p>
&lt;p>启用了这个设置，如果你在做一道题时切换到正确的标签页，你就不需要手动启动/停止计时器了。&lt;/p>
&lt;h3 id="只在按钮按下时显示计时结果">只在按钮按下时显示计时结果&lt;/h3>
&lt;p>隐藏计时结果，只在“显示”按钮按下时显示。&lt;/p>
&lt;p>这或许可以避免计时结果更新使人分心。&lt;/p>
&lt;h2 id="对拍">对拍&lt;/h2>
&lt;h3 id="模版使用的编程语言">模版使用的编程语言&lt;/h3>
&lt;p>数据生成器模版使用的编程语言&lt;/p>
&lt;h3 id="模板路径">模板路径&lt;/h3>
&lt;p>参见
&lt;a href="../../../zh/docs/preferences/language/#%e6%a8%a1%e6%9d%bf%e8%b7%af%e5%be%84" >模板路径&lt;/a>
。&lt;/p>
&lt;h3 id="使用模板时光标初始位置定位使用的正则表达式">使用模板时光标初始位置定位使用的正则表达式&lt;/h3>
&lt;p>参见
&lt;a href="../../../zh/docs/preferences/language/#%e4%bd%bf%e7%94%a8%e6%a8%a1%e6%9d%bf%e6%97%b6%e7%9a%84%e5%85%89%e6%a0%87%e5%88%9d%e5%a7%8b%e4%bd%8d%e7%bd%ae" >使用模板时的光标初始位置&lt;/a>
。&lt;/p>
&lt;h3 id="使用模板时光标初始位置的偏移类型">使用模板时光标初始位置的偏移类型&lt;/h3>
&lt;p>参见
&lt;a href="../../../zh/docs/preferences/language/#%e4%bd%bf%e7%94%a8%e6%a8%a1%e6%9d%bf%e6%97%b6%e7%9a%84%e5%85%89%e6%a0%87%e5%88%9d%e5%a7%8b%e4%bd%8d%e7%bd%ae" >使用模板时的光标初始位置&lt;/a>
。&lt;/p>
&lt;h3 id="使用模板时光标初始位置的偏移字符量">使用模板时光标初始位置的偏移字符量&lt;/h3>
&lt;p>参见
&lt;a href="../../../zh/docs/preferences/language/#%e4%bd%bf%e7%94%a8%e6%a8%a1%e6%9d%bf%e6%97%b6%e7%9a%84%e5%85%89%e6%a0%87%e5%88%9d%e5%a7%8b%e4%bd%8d%e7%bd%ae" >使用模板时的光标初始位置&lt;/a>
。&lt;/p></description></item><item><title>Docs: 扩展</title><link>/zh/docs/preferences/extensions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/extensions/</guid><description>
&lt;h2 id="代码格式化">代码格式化&lt;/h2>
&lt;h3 id="clang-format">Clang Format&lt;/h3>
&lt;p>Clang Format 是格式化 C/C++ 和 Java 代码的工具。你可以点击 动作-&amp;gt;格式化代码 或按快捷键 &lt;kbd>Ctrl+Shift+I&lt;/kbd> 来格式化代码。如果你选择了代码的一部分，只有被选择的部分（以及必要的相邻部分）会被格式化。&lt;/p>
&lt;p>&lt;strong>参见&lt;/strong>
&lt;a href="../../../zh/docs/setup/#%e5%ae%89%e8%a3%85-clang-format" >安装 Clang Format&lt;/a>
。&lt;/p>
&lt;h4 id="程序">程序&lt;/h4>
&lt;p>&lt;code>clang-format&lt;/code> 可执行文件的路径。如果它已经在 &lt;code>PATH&lt;/code> 环境变量中，只需填写 &lt;code>clang-format&lt;/code> 即可。&lt;/p>
&lt;h4 id="参数">参数&lt;/h4>
&lt;p>向 &lt;code>clang-format&lt;/code> 传递的参数。它不应包含 &lt;code>-i&lt;/code>（就地修改选项）。&lt;/p>
&lt;h4 id="风格">风格&lt;/h4>
&lt;p>Clang Format 格式化代码的风格。这里的内容和 &lt;code>.clang-format&lt;/code> 的内容一致。&lt;/p>
&lt;p>你可以查看
&lt;a href="https://clang.llvm.org/docs/ClangFormatStyleOptions.html" target="_blank" >Clang-Format Style Options&lt;/a>
或其他资料以获取关于代码格式化风格的相关信息。&lt;/p>
&lt;h3 id="yapf">YAPF&lt;/h3>
&lt;p>YAPF 是格式化 Python 代码的工具。你可以点击 动作-&amp;gt;格式化代码 或按快捷键 &lt;kbd>Ctrl+Shift+I&lt;/kbd> 来格式化代码。如果你选择了代码的一部分，只有被选择的行会被格式化。&lt;/p>
&lt;p>&lt;strong>参见&lt;/strong>
&lt;a href="../../../zh/docs/setup/#%e5%ae%89%e8%a3%85-yapf" >安装 YAPF&lt;/a>
。&lt;/p>
&lt;h4 id="程序-1">程序&lt;/h4>
&lt;p>YAPF 的程序，它可以是如下两项之一：&lt;/p>
&lt;ul>
&lt;li>&lt;code>yapf&lt;/code>：需要能在命令行下执行 &lt;code>yapf&lt;/code> 命令。参数可以为空。&lt;/li>
&lt;li>Python 解释器的程序名，如 &lt;code>python&lt;/code>，&lt;code>python2&lt;/code> 等。参数应该为 &lt;code>-m yapf&lt;/code>。&lt;/li>
&lt;/ul>
&lt;p>注意，你需要
&lt;a href="https://github.com/google/yapf#python-versions" target="_blank" >使用 Python 2 来格式化 Python 2 代码，使用 Python 3 来格式化 Python 3 代码&lt;/a>
。因此你需要选择正确的 Python 解释器程序。&lt;/p>
&lt;h4 id="参数-1">参数&lt;/h4>
&lt;p>传递给 YAPF 程序的参数。如果在程序一栏里填写的是 Python 解释器，这里的参数应该是 &lt;code>-m yapf&lt;/code>。参数中不应包含 &lt;code>-i&lt;/code>（就地修改选项）。&lt;/p>
&lt;h4 id="风格-1">风格&lt;/h4>
&lt;p>YAPF 格式化代码的风格，这里的内容和 &lt;code>.style.yapf&lt;/code> 的内容一致。你可以运行 &lt;code>yapf --style-help&lt;/code>，查看
&lt;a href="https://github.com/google/yapf#formatting-style" target="_blank" >文档&lt;/a>
或其他资料以获取关于代码格式化风格的相关信息。&lt;/p>
&lt;h2 id="language-server">Language Server&lt;/h2>
&lt;p>&lt;strong>参见&lt;/strong>
&lt;a href="../../../zh/docs/setup/#%e5%ae%89%e8%a3%85-language-server" >安装 Language Server&lt;/a>
.&lt;/p>
&lt;h3 id="利用-language-server-获取提示信息">利用 Language Server 获取提示信息&lt;/h3>
&lt;p>使用 Language Server 以获取错误，警告，提示等信息。&lt;/p>
&lt;p>你可以将鼠标移动到提示错误的下划线上以获取错误或警告的相关信息。&lt;/p>
&lt;h3 id="提示延迟">提示延迟&lt;/h3>
&lt;p>若距离最近一次修改的时间达到了 &lt;em>延迟&lt;/em> 毫秒，更新提示信息。&lt;/p>
&lt;h3 id="language-server-可执行文件路径">Language Server 可执行文件路径&lt;/h3>
&lt;p>Language Server 可执行文件的路径。如果它已经在 &lt;code>PATH&lt;/code> 环境变量中，只需填写相应的可执行文件的文件名即可。&lt;/p>
&lt;h3 id="language-server-参数">Language Server 参数&lt;/h3>
&lt;p>为 Language Server 程序传递的额外参数。你可以阅读相应的 Language Server 程序的文档以了解更多信息。&lt;/p>
&lt;p>例如，如果你使用 &lt;code>pyls&lt;/code> 作为 Python 的 Language Server 程序，你可以填写 &lt;code>python&lt;/code> 作为 Language Server 程序，&lt;code>-m pyls&lt;/code> 作为参数。&lt;/p>
&lt;h2 id="competitive-companion">Competitive Companion&lt;/h2>
&lt;p>&lt;strong>参见&lt;/strong>
&lt;a href="../../../zh/docs/setup/#%e5%ae%89%e8%a3%85-competitive-companion" >安装 Competitive Companion&lt;/a>
.&lt;/p>
&lt;h3 id="打开新标签页">打开新标签页&lt;/h3>
&lt;p>当一个问题被解析时，打开一个新标签页。&lt;/p>
&lt;p>如果该选项被禁用，当一个问题被解析时，当前页面的测试用例将会被新的测试用例覆盖。&lt;/p>
&lt;h3 id="连接端口">连接端口&lt;/h3>
&lt;p>从 Competitive Companion 接收数据使用的端口。&lt;/p>
&lt;p>默认情况下该端口为 10045，在大多数情况下不用更改。在遇到端口冲突等情况时，你可以在 Competitive Companion 里设置自定义端口，并在这里更改数据接收端口。&lt;/p>
&lt;h3 id="使用从-competitive-companion-处获取的时间限制">使用从 Competitive Companion 处获取的时间限制&lt;/h3>
&lt;p>在解析一道题目后，为对应的标签页使用从 Competitive Companion 获取的时间限制。&lt;/p>
&lt;h3 id="头部注释">头部注释&lt;/h3>
&lt;p>在获取一道题目后在代码开头添加的注释。&lt;/p>
&lt;h4 id="头部注释的内容">头部注释的内容&lt;/h4>
&lt;p>你可以在头部注释中使用如下占位符：&lt;/p>
&lt;ul>
&lt;li>&lt;code>${time}&lt;/code>：题目被解析的时间，相应的时间格式可以在
&lt;a href="#%e5%a4%b4%e9%83%a8%e6%b3%a8%e9%87%8a%e7%9a%84%e6%97%b6%e9%97%b4%e6%a0%bc%e5%bc%8f" >头部注释的时间格式&lt;/a>
中设置。&lt;/li>
&lt;li>&lt;code>${json.X.Y}&lt;/code>：由 Competitive Companion 提供的数据的一个属性。你可以在
&lt;a href="https://github.com/jmerle/competitive-companion#explanation" target="_blank" >Competitive Companion 的文档&lt;/a>
中获得更多信息。例如，&lt;code>${json.name}&lt;/code> 代表题目名。&lt;/li>
&lt;/ul>
&lt;h4 id="头部注释的时间格式">头部注释的时间格式&lt;/h4>
&lt;p>&lt;code>${time}&lt;/code> 占位符对应的时间的格式。你可以阅读如下 Qt 文档以获得更多信息：&lt;/p>
&lt;ul>
&lt;li>
&lt;a href="https://doc.qt.io/qt-5/qdate.html#toString-3" target="_blank" >Date Format&lt;/a>
&lt;/li>
&lt;li>
&lt;a href="https://doc.qt.io/qt-5/qtime.html#toString" target="_blank" >Time Format&lt;/a>
&lt;/li>
&lt;/ul>
&lt;h2 id="cf-tool">CF Tool&lt;/h2>
&lt;p>你可以使用
&lt;a href="https://github.com/xalanq/cf-tool/" target="_blank" >CF Tool&lt;/a>
向
&lt;a href="https://codeforces.com" target="_blank" >Codeforces&lt;/a>
提交你的代码。&lt;/p>
&lt;p>为了提交你的代码，你需要使用
&lt;a href="#competitive-companion" >Competitive Companion&lt;/a>
解析题目，或是手动设置标签页的题目链接。&lt;/p>
&lt;p>&lt;strong>参见&lt;/strong>
&lt;a href="../../../zh/docs/setup/#%e5%ae%89%e8%a3%85-cf-tool" >安装 CF Tool&lt;/a>
.&lt;/p>
&lt;h3 id="路径">路径&lt;/h3>
&lt;p>CF Tool 可执行文件的路径。如果它已经在 &lt;code>PATH&lt;/code> 环境变量中，只需填写 &lt;code>cf&lt;/code> 即可。&lt;/p>
&lt;h3 id="为评测结果显示气泡信息">为评测结果显示气泡信息&lt;/h3>
&lt;p>在收到一次提交的结果后，显示一条气泡信息。&lt;/p>
&lt;p>气泡信息是系统通知，在 CP Editor 外仍然可见。在你忙于解决下一个问题时，气泡信息可以让你得知前一个问题的解决情况。&lt;/p>
&lt;h2 id="wakatime">WakaTime&lt;/h2>
&lt;p>
&lt;a href="https://wakatime.com/" target="_blank" >WakaTime&lt;/a>
可以帮助你进行工作量的统计。&lt;/p>
&lt;p>&lt;strong>参见&lt;/strong>
&lt;a href="../../../zh/docs/setup/#%e5%ae%89%e8%a3%85-wakatime" >安装 WakaTime&lt;/a>
。&lt;/p>
&lt;h3 id="启用-wakatime">启用 WakaTime&lt;/h3>
&lt;p>是否启用 WakaTime。&lt;/p>
&lt;h3 id="路径-1">路径&lt;/h3>
&lt;p>WakaTime 可执行文件的路径。如果它已经在 &lt;code>PATH&lt;/code> 环境变量中，只需填写 &lt;code>wakatime&lt;/code> 即可。&lt;/p>
&lt;h3 id="api-密钥">Api 密钥&lt;/h3>
&lt;p>可以在
&lt;a href="https://wakatime.com/settings/account" target="_blank" >WakaTime 设置&lt;/a>
查看。&lt;/p>
&lt;p>如果有 WakaTime 的全局配置文件 &lt;code>~/.wakatime.cfg&lt;/code> 则可以留空。&lt;/p>
&lt;h3 id="使用代理">使用代理&lt;/h3>
&lt;p>使用
&lt;a href="../../../zh/docs/preferences/advanced/#%e7%bd%91%e7%bb%9c%e4%bb%a3%e7%90%86" >网络代理&lt;/a>
将数据发送给 WakaTime。&lt;/p></description></item><item><title>Docs: 文件路径</title><link>/zh/docs/preferences/file-path/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/file-path/</guid><description>
&lt;h2 id="测试点">测试点&lt;/h2>
&lt;h3 id="输入文件答案文件保存路径">输入文件/答案文件保存路径&lt;/h3>
&lt;p>设置测试数据
&lt;a href="../../../zh/docs/preferences/actions/#%e4%bf%9d%e5%ad%98%e6%96%87%e4%bb%b6%e6%97%b6%e4%bf%9d%e5%ad%98%e6%b5%8b%e8%af%95%e7%94%a8%e4%be%8b" >保存&lt;/a>
的位置。如果设置的路径是相对路径，则实际路径将基于源代码所在路径。&lt;/p>
&lt;p>你可以使用如下占位符：&lt;/p>
&lt;ul>
&lt;li>&lt;code>${filename}&lt;/code>：完整的文件名。&lt;/li>
&lt;li>&lt;code>${basename}&lt;/code>：将 &lt;code>${filename}&lt;/code> 去掉扩展名后的文件名。&lt;/li>
&lt;li>&lt;code>${0-index}&lt;/code>：从 0 开始的测试点编号。&lt;/li>
&lt;li>&lt;code>${1-index}&lt;/code>：从 1 开始的测试点编号。&lt;/li>
&lt;/ul>
&lt;p>例如，某个输入文件是源代码 &lt;code>/a/b/c.cpp&lt;/code> 的第三个测试点的输入文件，此时各占位符将会以如下方式被替换：&lt;/p>
&lt;ul>
&lt;li>&lt;code>${filename}&lt;/code>: &lt;code>c.cpp&lt;/code>&lt;/li>
&lt;li>&lt;code>${basename}&lt;/code>: &lt;code>c&lt;/code>&lt;/li>
&lt;li>&lt;code>${0-index}&lt;/code>: &lt;code>2&lt;/code>&lt;/li>
&lt;li>&lt;code>${1-index}&lt;/code>: &lt;code>3&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>如果输入文件的保存路径被设定为 &lt;code>testcases/${basename}-${1-index}.in&lt;/code>，则该测试数据的输入文件将会被保存在 &lt;code>/a/b/testcases/c-3.in&lt;/code> 下。&lt;/p>
&lt;h3 id="测试数据匹配规则">测试数据匹配规则&lt;/h3>
&lt;p>在加载成对的测试点时，输入文件和答案文件的匹配规则。&lt;/p>
&lt;p>每条规则是一对
&lt;a href="../../../zh/docs/preferences/general/#%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f" >正则表达式&lt;/a>
。其中第一个正则表达式用于匹配完整输入文件名，第二个正则表达式用于匹配相应的答案文件名。&lt;/p>
&lt;p>例如，你可以使用 &lt;code>(.+)\.in&lt;/code> 和 &lt;code>\1.out&lt;/code> 匹配 &lt;code>test-1.in&lt;/code> 和 &lt;code>test-1.out&lt;/code>，或者使用 &lt;code>(.+)\.in\.(\d+)&lt;/code> 和 &lt;code>\1.ans.\2&lt;/code> 匹配 &lt;code>test.in.3&lt;/code> 和 &lt;code>test.ans.3&lt;/code>。&lt;/p>
&lt;p>在加载成对的测试点时，每一条与输入文件匹配的规则都会被用于尝试寻找相应的答案文件。&lt;/p>
&lt;h2 id="题目链接">题目链接&lt;/h2>
&lt;h3 id="针对题目链接的默认保存路径">针对题目链接的默认保存路径&lt;/h3>
&lt;p>保存一个有题目链接的新文件时，使用的默认保存路径。&lt;/p>
&lt;p>每条规则是一对
&lt;a href="../../../zh/docs/preferences/general/#%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f" >正则表达式&lt;/a>
。其中第一个正则表达式用于匹配题目链接的一部分，第二个正则表达式用于设置相应的保存路径。&lt;/p>
&lt;p>当保存一个有题目链接的新文件时，如果题目链接与至少一个规则匹配，将使用第一个匹配的规则对应的保存路径。&lt;/p>
&lt;p>下面是一个例子：&lt;/p>
&lt;ul>
&lt;li>题目链接: &lt;code>codeforces.com/contest/([1-9]\d*)/problem/([A-Z][1-9]?)&lt;/code>。&lt;/li>
&lt;li>相应的文件路径: &lt;code>/home/username/Codeforces/\1/\2&lt;/code>。&lt;/li>
&lt;/ul>
&lt;h2 id="默认路径">默认路径&lt;/h2>
&lt;p>在各种需要用户选择文件路径的情况下，默认的文件路径。对于不同的操作，可以设置不同的默认路径。&lt;/p>
&lt;p>用户可以设置多种默认路径，每条默认路径都有一个名称。设置的默认路径名称可以作为占位符在其他默认路径中使用。当用户为某个操作设定新的路径，其他路径的值也可能会发生变化。&lt;/p>
&lt;p>例如：&lt;/p>
&lt;ul>
&lt;li>操作“保存文件”的默认路径是 &lt;code>${file}&lt;/code>，而“保存文件”会修改 &lt;code>file&lt;/code> 和 &lt;code>testcase&lt;/code>。&lt;/li>
&lt;li>操作“加载单个测试用例”的默认路径是 &lt;code>${testcase}&lt;/code>，而“加载单个测试用例”会修改 &lt;code>testcase&lt;/code>。&lt;/li>
&lt;li>刚开始时，&lt;code>file&lt;/code> 是 &lt;code>/a/b&lt;/code>，&lt;code>testcase&lt;/code> 是 &lt;code>/a/c&lt;/code>。&lt;/li>
&lt;/ul>
&lt;ol>
&lt;li>在执行“加载单个测试用例”操作时，默认路径为 &lt;code>/a/c&lt;/code>，而你操作时将路径设置为 &lt;code>/a/d&lt;/code>。现在 &lt;code>file&lt;/code> 代表的路径仍然是 &lt;code>/a/b&lt;/code>，而 &lt;code>testcase&lt;/code> 代表的路径变成了 &lt;code>/a/d&lt;/code>。&lt;/li>
&lt;li>在执行“保存文件”操作时，默认路径为 &lt;code>/a/b&lt;/code>，而你操作时将路径设置为 &lt;code>/a/e&lt;/code>。现在 &lt;code>file&lt;/code> 和 &lt;code>testcase&lt;/code> 代表的路径都变成了 &lt;code>/a/e&lt;/code>。&lt;/li>
&lt;li>在执行“加载单个测试用例”操作时，默认路径已经变成了 &lt;code>/a/e&lt;/code>，因为在执行“保存文件”操作时，&lt;code>testcase&lt;/code> 代表的路径被修改了。&lt;/li>
&lt;/ol>
&lt;p>在设置中，可以设置执行每个操作后，被改变的路径的列表，列表中相邻两项之间用逗号隔开。&lt;/p></description></item><item><title>Docs: 热键</title><link>/zh/docs/preferences/key-bindings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/key-bindings/</guid><description>
&lt;p>你可以设置不同操作的自定义热键。你可以通过点击某个热键的编辑框，并按下你想要设置的热键，来设置某个操作的热键。你还可以按下相应热键右侧的删除按钮来清除自定义热键。&lt;/p></description></item><item><title>Docs: 高级</title><link>/zh/docs/preferences/advanced/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/advanced/</guid><description>
&lt;h2 id="更新">更新&lt;/h2>
&lt;h3 id="启动时检查更新">启动时检查更新&lt;/h3>
&lt;p>在 CP Editor 启动时，检查是否有新版本的 CP Editor。&lt;/p>
&lt;p>如果有新版本，则会弹出一个窗口询问你是否进行更新。&lt;/p>
&lt;h3 id="使用测试版本">使用测试版本&lt;/h3>
&lt;p>检查更新时，检查 Beta 版本。 Beta 版通常具有更多功能和改进，但不如稳定版稳定。&lt;/p>
&lt;h2 id="限制">限制&lt;/h2>
&lt;h3 id="默认时间限制">默认时间限制&lt;/h3>
&lt;p>执行程序的默认时间限制。&lt;/p>
&lt;p>超时的程序会被终止。&lt;/p>
&lt;h3 id="输出长度限制">输出长度限制&lt;/h3>
&lt;p>程序的最大输出字符数。&lt;/p>
&lt;p>stdout 或 stderr 过长的程序将会被终止。&lt;/p>
&lt;h3 id="输出显示长度限制">输出显示长度限制&lt;/h3>
&lt;p>会显示出来的程序输出的最大字符数。&lt;/p>
&lt;p>如果输出过长，超长部分会被省略。&lt;/p>
&lt;h3 id="消息长度限制">消息长度限制&lt;/h3>
&lt;p>主窗口右上角内每条信息的最大长度。&lt;/p>
&lt;p>超长部分将会被省略。&lt;/p>
&lt;h3 id="html-差异查看器长度限制">HTML 差异查看器长度限制&lt;/h3>
&lt;p>HTML 差异查看器中的最大字符数。&lt;/p>
&lt;p>如果输出或答案太长，差异查看器将以纯文本显示。&lt;/p>
&lt;h3 id="打开文件长度限制">打开文件长度限制&lt;/h3>
&lt;p>允许打开的文件的最大字符数。&lt;/p>
&lt;p>如果文件超长，将不会被打开。&lt;/p>
&lt;h3 id="显示测试用例长度限制">显示测试用例长度限制&lt;/h3>
&lt;p>会显示出来的测试用例的最大字符数。&lt;/p>
&lt;p>如果测试用例过长，超长部分会被省略，且测试用例会变得只读。&lt;/p>
&lt;h2 id="网络代理">网络代理&lt;/h2>
&lt;p>用于检查更新的代理服务器。&lt;/p></description></item><item><title>Docs: 通用</title><link>/zh/docs/preferences/general/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/zh/docs/preferences/general/</guid><description>
&lt;h3 id="临时文件夹">临时文件夹&lt;/h3>
&lt;p>在 CP Editor 中，每个文件都有一个临时目录，可用于保存可执行文件等等。&lt;/p>
&lt;p>你可以将其视为一个能够安全地为每个标签页（即每个文件）保存内容而不影响磁盘上其他文件的地方，并且在关闭标签页时它会被自动删除。&lt;/p>
&lt;p>在 Linux 上，它位于 &lt;code>/tmp/cpeditor-XXXXXX&lt;/code>。在 Windows 上，它位于 &lt;code>C:\Users\&amp;lt;username&amp;gt;\AppData\Local\Temp\cpeditor-XXXXXX&lt;/code>。&lt;/p>
&lt;h3 id="正则表达式">正则表达式&lt;/h3>
&lt;p>
&lt;a href="https://baike.baidu.com/item/%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f" target="_blank" >正则表达式&lt;/a>
用于匹配字符串中的模式以及查找和替换子字符串。&lt;/p>
&lt;p>你可以找到许多在线正则表达式课程，例如：
&lt;a href="https://deerchao.cn/tutorials/regex/regex.htm" target="_blank" >正则表达式 30 分钟入门教程&lt;/a>
。&lt;/p>
&lt;p>在 CP Editor 中，你可以使用 &lt;code>\1&lt;/code>, &lt;code>\2&lt;/code> 等用于替换模式中的第一个/第二个捕获组的内容。&lt;/p></description></item></channel></rss>