语言

通用

默认编程语言

设置打开新标签时使用的默认编程语言。

命令

C++ 命令

C++ 编译命令

设置编译 C++ 时的编译命令,例如 g++ -Wall

该命令中不应包含源代码和输出文件的名称,CP Editor 将会自动添加它们。

详细的编译选项请参考编译器的文档。

C++ 可执行文件路径

设置可执行文件的路径,即编译命令中 -o 选项后的参数。

如果使用了相对路径,则可执行文件的位置将和源代码位置有关(如果当前标签是未命名标签,则可执行文件位置将和 临时文件夹 的位置有关)。

该设置中,你可以使用如下参数:

  • ${filename}:源代码的完整文件名。如果当前标签是未命名标签,则完整文件名是 sol.cpp
  • ${basename}:将 ${filename} 去掉扩展名(.cpp 等)后的文件名。
  • ${tmpdir}${tempdir}临时文件夹 的路径。

例如,使用 ${tmpdir}/${basename} 将会把可执行文件存储在临时文件夹下。如果你不想要存储可执行文件的话,可以这样设定路径。而 executables/${basename} 将会把可执行文件存储在源代码所在目录的下的 executables 文件夹。

C++ 运行参数

设置执行 C++ 程序需要的参数。在算法竞赛中一般留空即可。

C++ 编译器输出编码

设置当编译器输出警告,错误等消息时使用的编码。

如果输出的警告和错误信息不是英文,合理配置该设置可以避免输出信息出现乱码。

Java 命令

Java 编译命令

设置编译 Java 源代码的编译命令,例如 javac

该命令中不应包含源代码和类路径,CP Editor 将会自动添加它们。

Java 类路径

设置编译后存储 Java 类文件的位置。

更多细节详见 C++ 可执行文件路径

Java 类名称

设置你的源代码中主类的名字。

源代码的名字不必与主类名相同。当编译时,CP Editor 将会自动将源代码保存在一个与主类名称相同的文件中。

Java 运行命令

设置执行 Java 程序时的命令。例如 java

该命令中不应出现类路径或类名,CP Editor 会自动添加它们。

Java 运行参数

设置执行 Java 程序需要的参数。在算法竞赛中一般留空即可。

Java 编译器输出源码

详见 C++ 编译器输出编码

Python 命令

Python 运行命令

设置运行 Python 源代码的命令。一般为 pythonpython2python3

Python 运行命令

设置执行 Python 程序需要的参数。在算法竞赛中一般留空即可。

模板

如果设置了模板,在创建新标签时,将会用设置的模板自动填充内容。

模板路径

设置模板所在的路径。

使用模板时的光标初始位置

设置使用模板时光标所在的初始位置。

该设置包含三部分。

  1. 正则表达式
  2. 偏移类型:开头或末尾。
  3. 偏移量:一个数字,可以为负值。

光标位置将会通过如下步骤确定:

  1. 找到模板中匹配正则表达式的第一个位置。
  2. 如果模板中不存在匹配正则表达式的位置,光标将会在模板末尾。
  3. 否则,光标将会在第一个匹配位置的开头或末尾(取决于设置的偏移类型),并会在该位置基础上向右移动偏移量个位置(如果是负数,就会向左移动)。

例如,如果你的模板中包含下列代码片段:

int main()
{
    
}

则可以用 int main 作为匹配的正则表达式,end 作为偏移类型,9 作为偏移量,则在打开一个新标签时,光标将会停在 main 函数的第一行。

代码片段

管理代码片段

你可以在 “语言->XXX->XXX 代码片段中” 添加,删除,重命名代码片段。你可以使用 Ctrl+N 作为添加的快捷键,Ctrl+W 作为删除的快捷键,F2 作为重命名的快捷键。

你也可以在 “更多” 菜单中导入或导出代码片段。

使用代码片段

你可以通过 “动作->使用代码片段” 或按下 Ctrl+T 来使用代码片段。

当你在挑选代码片段时,你可以在搜索框中输入代码片段名的前几个字符,以更快找到相应的片段。

括号

你可以为各编程语言设置相应的括号补全选项。

每个设置有三种状态:开启,关闭或默认。如果处于默认状态,将应用 代码编辑 中的设置,否则将会使用这里的设置。

自动补全

详见 代码编辑/自动补全括号

自动删除

详见 代码编辑/自动删除括号

按 Tab 键跳出

详见 代码编辑/在按下 Tab 键时跳出括号