Skip to content

Latest commit

 

History

History
87 lines (69 loc) · 3.92 KB

CustomCode_ZH.md

File metadata and controls

87 lines (69 loc) · 3.92 KB

自定义代码生成介绍

通过配置自定义代码生成模板可以自由生成代码格式,配合IDE可在本地调试代码。示例工程

loacl

配置

config

  • Custom code template: 开启使用自定义模板,否则使用默认生成格式
  • CodeFileName: 生成文件的名称,默认为题目标题
  • CodeTemplate: 生成题目代码的内容,默认为题目描述和题目代码
  • TemplateConstant: 模板常用变量
    • ${question.title}:题目标题,例如:两数之和
    • ${question.titleSlug}:题目标记,例如:two-sum
    • ${question.frontendQuestionId}:题目编号,例如:1
    • ${question.content}:题目描述内容
    • ${question.code}:题目代码部分
    • $!velocityTool.camelCaseName(str):一个函数,用来将字符串转换为大驼峰样式
    • $!velocityTool.smallCamelCaseName (str):一个函数,用来将字符串转换为小驼峰样式
    • $!velocityTool.snakeCaseName(str):一个函数,用来将字符串转换为蛇形样式
    • $!velocityTool.toPinyinAndTrims(str):将汉字转为为拼音并去除所有空格
  • 更多工具参考VelocityTool.java

注意

在生成的自定义代码中包含两行关键信息:

  • leetcode submit region begin(Prohibit modification and deletion):提交到leetcode进行验证的代码开始标记
  • leetcode submit region end(Prohibit modification and deletion):提交到leetcode进行验证的代码结束标记
    这两行标记标示了提交到leetcode服务器进行验证的代码范围,在此范围内只允许有出现与题目解答相关的内容,出现其他内容可能导致leetcode验证不通过。
    除了此范围内,其他区域是可以任意填写的,内容不会提交到leetcode,可以增加一些可以本地调试的内容,例如:import java.util.Arrays;
    所以,这两行内容是不能被删除和修改的,否则将识别不到提交的内容。

JAVA常用配置

可参考示例:示例工程
CodeFileName:

$!velocityTool.camelCaseName(${question.titleSlug})

TemplateConstant:

${question.content}
  
package com.shuzijun.leetcode.editor.en;
public class $!velocityTool.camelCaseName(${question.titleSlug}){
    public static void main(String[] args) {
         Solution solution = new $!velocityTool.camelCaseName(${question.titleSlug})().new Solution();
    }
    ${question.code}
}

C++常用配置

CodeFileName:

Leetcode_$!velocityTool.toPinyinAndTrims(${question.frontendQuestionId})_$!velocityTool.toPinyinAndTrims(${question.titleSlug})

TemplateConstant:

${question.content}
\#include <bits/stdc++.h>

using namespace std;
#set($solutionId = ${question.frontendQuestionId})
#set($solutionId = $solutionId.replaceAll(" ", "_"))
#set($solutionId = $solutionId.replaceAll("[\\u4e00-\\u9fa5-]", ""))  ## 删除中文字符和"-"符号

namespace solution${solutionId}{
${question.code}
}

using namespace solution${solutionId};
int main() {
    Solution solution;

    return 0;
}

效果如下图所示:

CustomCode-cpp