跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

d2learn-devD

d2learn-dev

@d2learn-dev
d2learn-dev
关于
帖子
22
主题
5
群组
2
粉丝
2
关注
0

帖子

最新 最佳 有争议的

  • xlings: 一个用于编程开发、学习和课程搭建的开发者工具 🛠️
    d2learn-devD d2learn-dev

    0.背景

    xlings最初是受[Rust社区的rustlings、国内外知名公开课的形式(mit6.1810/d2l/rcore...)]的启发, 加上从学习者和内容创作者(教程开发者)两个方向的思考下。在xmake构建工具的基础上(类似插件的形式)开发的一个项目 - [支持Windows和Linux] - 本文就简单聊一聊 学习者功能介绍、创作者功能介绍、现状和发展

    d2learn-xlings.0.png

    1.通用功能 - 编程学习

    软件安装和环境搭建

    xlings中集成了一些常用的环境/软件的一键安装和配置, 并且支持扩展。这个功能可以帮助编程初学者方便的配置好开发环境和安装相关的软件, 同时也能帮助资深开发者避免常用环境的重复搭建的时间。通过install命令可以查看支持的软件和环境

    d2learn-xlings.1.png

    在install命令后面加上对应的环境和软件xlings就能自动下载相关依赖然后安装并配置

    例如安装Python环境

    xlings install python
    

    安装vscode

    xlings install vscode
    

    多编程语言支持和实时编译运行

    xlings中的run功能可以运行一个代码文件, 并且自动检测代码类型和然后使用相关编译器/解释器运行代码。如果没有相关环境xlings会自动安装相关的依赖,后期可能增强这个功能, 例如: 把Python运行中缺少库也自动进行安装

    运行C++代码

    xlings run main.cpp
    

    d2learn-xlings.2.png

    运行C和Python代码也是类似run命令后加对应的代码文件

    xlings run main.c
    
    xlings run main.py
    

    在这个基础上还有一个动态编译运行的功能, 可以避免多次"修改代码再运行验证"这个重复过程。xlings可以实时的检测代码的变化, 在你修改代码后会自动的重新编译再运行

    AI代码提示

    xlings再代码编译运行的时候接入了大模型错误分析和自定义后端大模型的功能。如果编译程序报错的时候, 大模型可以对报错信息进行分析然后给出对应的提示

    d2learn-xlings.3.png

    从上面AI给出的提示可以看出来, 他来带了一个调皮可爱的风格。这是应该我们可以通过配置文件给大模型设定角色和风格, 如果你把他设置成一个代码练习两年半的抽象艺术家, 那么他就会用抽象风格给你提示。如果你把他设置成一个严肃且脾气暴躁的性格,当代码出错的时他甚至可能会批评你。这个功能可以让编程学习的时候多一点乐趣, 少一点枯燥乏味

    本地大模型配置文件示例 - config.llm.xlings

    xlings_llm_id = "tongyi"
    xlings_llm_key = "sk-xxx"
    xlings_llm_system_bg = [[
    背景: 你是一个代码专家
    任务: 对编译器/解释器输出的错误进行相关内容的提示和建议
    输出要求: 用时而可爱、时而傲娇、时而生气的方式回答, 并且每次回答不超过100字
    示例:
        输入: error:未定义变量。
        输出: 哎呀,小变量迷路啦!检查一下变量名是不是写错了呢?🎈
        输入: 错误:未定义变量。
        输出: 哼,变量都找不到!快去检查你的拼写吧,本天才才不会轻易原谅呢!🌟
        输入: Hello World
        输出: 哇哦, 程序成功运行了, 点赞!
    ]]
    

    2.课程/教程搭建

    项目基础结构和模板生成

    xlings提供了一个init命令, 结合配置文件可以用来生成一个类[Book + Code + Video + X]结构的教程项目。例如,再本地文件夹中创建一个xlings的配置文件

    config.xlings

    xlings_name = "learn-stl"
    xlings_lang = "cpp"
    

    其中xlings_name是练习代码的名字, xlings_lang是项目使用的语言。然后在配置文件所在的目录运行init命令就可以生成一个基础项目结构

    speak@speak-pc:~/test/xlings/my_project$ xlings init
    -mdbook
    mdbook v0.4.40
    2024-10-29 01:09:37 [INFO] (mdbook::book::init): Creating a new book with stub content
    
    All done, no errors...
    2024-10-29 01:09:37 [INFO] (mdbook::book): Book building has started
    2024-10-29 01:09:37 [WARN] (mdbook::preprocess::cmd): The command wasn't found, is the "foo" preprocessor installed?
    2024-10-29 01:09:37 [WARN] (mdbook::preprocess::cmd): 	Command: mdbook-foo
    2024-10-29 01:09:37 [INFO] (mdbook::book): Running the html backend
    2024-10-29 01:09:37 [INFO] (mdbook): Opening web browser
    [xlings]: ../learn-stl/exercises/cpplings.hpp - ok
    [xlings]: ../learn-stl/tests/cpplings.cpp - ok
    [xlings]: ../learn-stl/xmake.lua - ok
    warning: includes("../learn-stl") cannot find any files!
    speak@speak-pc:~/test/xlings/my_project$ 
    

    项目结构

    .
    ├── book
    │   ├── book.toml
    │   └── src
    │       ├── chapter_1.md
    │       └── SUMMARY.md
    ├── config.xlings
    └── learn-stl
        ├── exercises
        │   └── cpplings.hpp
        ├── tests
        │   └── cpplings.cpp
        └── xmake.lua
    

    book目录: 是用于存放项目的markdown文档, 使用xlings book(调用mdbook)可以把文档在浏览器打开, 也可以部署到Github上作为在线的电子书

    learn-stl目录: 用于存放项目对应的练习代码, 可以被xlings加载识别用于练习代码自动化检测

    config.xlings: 项目的配置文件, 可以在这里添加项目依赖这样xlings能自动安装项目所需要的环境

    练习代码自动化检测

    xlings把练习代码的自动化检测功能从单一教程项目抽象了。这样只要项目按照一定的格式设计练习代码都可以被xlings识别实现自动定位代码文件、实时检测当前练习的状态, 以及练习完成时可以自动跳转到下一个练习等功能。通过运行在对应项目中运行xlings checker或xlings xlings_name就可以加载代码开启练习代码的自动化检测, 例如d2ds动手写数据结构的项目

    xlings dslings # dslings是d2ds项目配置文件中设置的别名
    

    运行效果

    最上面显示练习进度信息和当前练习的状态, 后面就是编译信息以及AI提示。自动检测程序会"实时检测"这个练习, 当你成功完整并通过检测, xlings就会自动进入下一个练习并打开对应的代码文件

    drepo项目管理

    作为一个课程/教程搭建工具, 为了方便课程资源的管理以及学习者获取课程/教程资源。xlings还开发了一个可以发布项目的模块, 这样就能很方便的使用xlings获取对应项目的资源

    speak@speak-pc:~/test$ xlings drepo # 可以列出已经发布的项目
    
    	drepo lists
    
    --- d2python ---
    name	: d2python
    tags	: python
    url	: https://github.com/d2learn/d2python
    git	: git@github.com:d2learn/d2python.git
    profile	: 动手学d2python项目
    --- d2x ---
    name	: d2x
    tags	: template
    url	: https://github.com/d2learn
    git	: git@github.com:d2learn/xlings.git
    profile	: drepo的模板配置文件
    --- xlings ---
    name	: xlings
    tags	: tools, build, auto-exercises, pkg-manager
    url	: https://github.com/d2learn/xlings
    git	: git@github.com:d2learn/xlings.git
    profile	: 技术、实验、练习、自学类项目, 快速构建和管理工具
    --- d2ds ---
    name	: d2ds
    tags	: c++, data-structures
    url	: https://github.com/d2learn/d2ds
    git	: git@github.com:d2learn/d2ds.git
    profile	: 强调动手实践的数据结构学习项目,其中包含在线书籍、公开课、练习代码等子项目
    --- d2cpp ---
    name	: d2cpp
    tags	: c++
    url	: https://github.com/d2learn/d2cpp
    git	: git@github.com:d2learn/d2cpp.git
    profile	: 动手学C++项目
    
    	run xlings drepo [drepo_name] to download
    
    
    

    在xlings drepo后面加上项目名就可以下载对应的项目。例如下载d2ds项目

    xlings drepo d2ds
    

    3.现状和发展

    目前项目还是属于比较早期的阶段, 有了核心的功能及想法, 但部分功能目前的实现方案还是比较简单或者说是简陋的。例如,像drepo模块, 当前基本还是依赖与git服务, 且没有在线可以预览项目的站点。

    发展方向上, 基本算比较清晰的。两个视角: 学习者 和 内容创作者(课程/教程), 从两个方面做一些实际&实用的功能最终达到一个相互作用发展的效果

    4.相关链接

    xlings开源

    d2learn官网

    d2learn论坛


  • [xlings]: 常见问题汇总
    d2learn-devD d2learn-dev

    一、run命令相关

    Q1: 代码修改后输出没有实时变化

    A1: 代码修改后需要ctrl + s保存修改, 或把编辑器设置为自动保存即可。例如: vscode打开的文件修改后文件名处有个白点说明没有保存


  • xlings run 实时编译运行不了
    d2learn-devD d2learn-dev

    @eternity-gh 应该是没有安装vscode, 可以运行下面命令安装vscode后再运行run命令

    xlings install vscode
    

  • xlings run 实时编译运行不了
    d2learn-devD d2learn-dev

    @kongcheng233 问题已经修复, 可以重新运行一键安装命令进行xlings工具的更新

    Invoke-Expression (Invoke-Webrequest 'https://d2learn.org/xlings-install.ps1.txt' -UseBasicParsing).Content
    

    问题原因

    python类型的代码可以跳过编译步骤, 避免工具链的检查

    修复方案和代码

    增加运行target类型检测, 非编译型target将直接进入run处理

    80cf60ad-ea71-4930-9a44-0ff5503259d5-image.png

    https://github.com/d2learn/xlings/commit/aa347414f966e354ff07d55a7a125833da798862


  • xlings run 实时编译运行不了
    d2learn-devD d2learn-dev

    @kongcheng233 我大概找到了一点问题方向, 我本地测试一下 然后回复你


  • xlings run 实时编译运行不了
    d2learn-devD d2learn-dev

    昨天更新了xlings, 可以运行下面命令重新安装一下xlings

    Invoke-Expression (Invoke-Webrequest 'https://d2learn.org/xlings-install.ps1.txt' -UseBasicParsing).Content
    

    然后把 sp.py 文件复制到 C盘-用户/user-kc 目录下面, 运行下面的执行命令

    xlings run sp.py
    

    看看有没有问题


  • [windows][安装][环境变量问题]: 求解决 - Powershell运行xlings一键安装命令报错cmd找不到
    d2learn-devD d2learn-dev

    @eternity-gh 你的系统环境可能不仅只是丢失了cmd的路径, 其他的环境也没有。你可以再运行下面命令 添加常用路径到系统环境变量的PATH里

    [Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path', 'Machine') + ';C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\OpenSSH', 'Machine')
    

    添加过程和上面一样(需要管理员权限), 添加成功后。也是再重新打开一个powershell运行一键安装命令


  • [windows][安装][环境变量问题]: 求解决 - Powershell运行xlings一键安装命令报错cmd找不到
    d2learn-devD d2learn-dev

    @d2learn-dev 添加完成后 再重新打开一个 powershell窗口 环境应该就生效了。这一下就可以运行 xlings的 一键安装命令了


  • [windows][安装][环境变量问题]: 求解决 - Powershell运行xlings一键安装命令报错cmd找不到
    d2learn-devD d2learn-dev

    @eternity-gh 在 [windows][安装]: 求解决 - Powershell运行xlings一键安装命令报错cmd找不到 中说:

    找不到

    可能你的系统的环境变量PATH被破坏了 或 丢失了部分路径, 你可以用下面命令进行查看PATH环境

    $env:PATH
    

    如果里面没有 C:\Windows\System32

    你可以手动到 控制面板 -> 系统 -> 高级设置 -> 环境变量 -> PATH 中添加

    或 用管理员权限重新打开 Powershell 窗口执行下面 一键添加命令

    [Environment]::SetEnvironmentVariable('Path', ($env:Path + ';C:\Windows\System32'), 'Machine')
    

  • [xlings更新日志]: 调整installer模块, 并增加 project-graph, wsl 安装和配置支持
    d2learn-devD d2learn-dev

    Project Graph

    f92c1262-cef1-422d-b85f-0305cac1a6c8-image.png

    快速绘制节点图的桌面工具,可以用于项目进程拓扑图绘制、快速头脑风暴草稿

    一键安装命令

    xlings install project-graph
    

    基础信息

    name: Project Graph
    homepage: https://liren.zty012.de/project-graph
    author: LiRenTech Team
    licenses: MIT
    github: https://github.com/LiRenTech/project-graph
    
            快速绘制节点图的桌面工具,可以用于项目进程拓扑图绘制、快速头脑风暴草稿
    

    Ref

    • https://github.com/d2learn/xlings/issues/23
    • https://github.com/d2learn/xlings/blob/main/core/installer/project_graph.lua

    WSL - Windows Subsystem for Linux

    031c2bc1-9935-48bd-9adc-548112496304-image.png

    Windows系统中的Linux子系统

    一键安装命令

    xlings install wsl
    

    基础信息

    name: wsl
    homepage: https://learn.microsoft.com/windows/wsl
    author: Microsoft
    licenses: MIT
    github: https://github.com/microsoft/WSL
    docs: https://learn.microsoft.com/windows/wsl
    
            Windows Subsystem for Linux lets developers run a GNU/Linux environment directly on Windows
    

    Other

    • https://github.com/d2learn/xlings/blob/main/core/installer/windows/wsl.lua

    增加windows安装器模块

    把只支持windows系统的软件/环境放到windows目录, 通过加载器来自动加载

    commit

    https://github.com/d2learn/xlings/commit/8cd1491cbbcec3eca51b51232209eb0f5dd59248


  • xlings run 实时编译运行不了
    d2learn-devD d2learn-dev

    @kongcheng233 我先在我本地把vs卸载看一看会不会影响python。你也可以重新装一下xlings 试一下 或许是第一装没有安装完整


  • xlings run 实时编译运行不了
    d2learn-devD d2learn-dev

    image.png

    这个窗口是干什么的, 是运行xlings run xxx后自动打开的吗?


  • [windows][安装][环境变量问题]: 求解决 - Powershell运行xlings一键安装命令报错cmd找不到
    d2learn-devD d2learn-dev

    类似这种

    image.png


  • [windows][安装][环境变量问题]: 求解决 - Powershell运行xlings一键安装命令报错cmd找不到
    d2learn-devD d2learn-dev

    @eternity-gh 看到报错是 cmd找不到。 直接在Powershell中运行cmd命令, 可以进入cmd吗


  • run命令找不到文件
    d2learn-devD d2learn-dev

    @baiyiusers

    现在这个跨盘使用问题已经修复

    • 代码修复PR: https://github.com/d2learn/xlings/commit/009be0c7179e6a8c5953d029a80106b1c4cc03ef

    可以重新安装

    Invoke-Expression (Invoke-Webrequest 'https://d2learn.org/xlings-install.ps1.txt' -UseBasicParsing).Content
    

    然后切换到D盘使用xlings看看还有没有问题

    xlings help
    

    或使用xlings run命令执行一个代码文件


  • run命令找不到文件
    d2learn-devD d2learn-dev

    @baiyiusers 在D盘执行下面的help命令

    xlings help
    

    也会报错吗? 有没有具体报错的截图啊


  • run命令找不到文件
    d2learn-devD d2learn-dev

    如果不切换到D盘, 而是把cs.c文件复制到

    image.png
    这个目录, 然后不切换目录运行

    xlings run cs.c
    

    这样可以运行吗


  • run命令找不到文件
    d2learn-devD d2learn-dev

    使用绝对路径运行失败的原因可能是因为 windows有跨盘访问的限制

    image.png

    可以先试一试我上面说的, 先切换到文件对应的存储盘然后试一试


  • run命令找不到文件
    d2learn-devD d2learn-dev

    @baiyiusers 在 run命令找不到文件 中说:

    使用cd进入目录运行文件依然显示找不到文件

    从这个图片上发现 cd 并没有成功进入对应的路径路径还是在C盘
    可以执行下面命令先切换到D盘

    D:
    

    然后使用cd到文件目录, 再执行run进行运行文件试一试


  • [xlings]: 工具基础信息
    d2learn-devD d2learn-dev

    xlings

    • 开源仓库: https://github.com/d2learn/xlings
    • 工具介绍页: https://d2learn.org/xlings
    • 工具文档: https://d2learn.org/docs/xlings
    • 常见问题汇总: http://forum.d2learn.org/post/112

    4bab3757-49bd-478b-97ca-3fcd66ebf0f4-image.png


    快速安装

    在命令行窗口执行一键安装命令

    Linux

    curl -fsSL https://d2learn.org/xlings-install.sh | bash
    

    or

    wget https://d2learn.org/xlings-install.sh -O - | bash
    

    Windows - PowerShell

    Invoke-Expression (Invoke-Webrequest 'https://d2learn.org/xlings-install.ps1.txt' -UseBasicParsing).Content
    
  • 登录

  • 登录或注册以进行搜索。
d2learn forums Powered by NodeBB
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组