方法
点击左下角齿轮设置按钮,设置 -> 代码片段 -> 在搜索界面选择配置事件
prefi::设置提示语
body:生成模板
description:代码片段描述
将里面的内容改为自己的模板,注意body中的代码每一行要用 "" 引起,同时使用逗号分割开
报错分析:
这里报错是因为在代码中是使用的Tab键缩进,模板中需要使用空格键,将缩进全改为空格即可
这是因为""中有引号嵌套,在里面的引号中加上\即可
编辑完成后保存就可以引用模板了
下面是ros2初始化的模板
C++
"Print to console": {
"prefix": "ros2_main_cpp",
"body": [
"//包含头文件",
"#include \"rclcpp/rclcpp.hpp\"",
"#include \"std_msgs/msg/string.hpp\"",
"// 自定义节点类",
"class My_node :public rclcpp::Node",
"{",
" public:",
" My_node():Node(\"My_node_name\")",
" {",
" RCLCPP_INFO(this->get_logger(),\"发布内容\");",
" }",
"",
"};",
"",
"int main(int argc,char **argv)",
"{",
" // 初始化ROS2客户端",
" rclcpp::init(argc,argv);",
" //调用spin函数,传入指针",
" rclcpp::spin(std::make_shared<My_node>());",
" //释放资源",
" rclcpp::shutdown();",
" return 0;",
"}",
],
"description": "ros2 main func"
}
python(要在python.json配置文件添加)
"Print to console": {
"prefix": "ros2_node_py",
"body": [
"#包含头文件",
"import rclpy",
"from rclpy.node import Node",
"# 自定义节点",
"class My_node(Node):",
" def __init__(self):",
" super().__init__(\"My_node_name\")",
" self.get_logger().info(\"发布内容\")",
"",
"def main():",
" # 初始化客户端",
" rclpy.init()",
" # 调用spin传入节点对象",
" rclpy.spin(My_node())",
" # 释放资源",
" rclpy.shutdown()",
"",
"if __name__=='__main__':",
" main()",
],
"description": "ros2 node"
}