实现一个python代码编辑器

这篇具有很好参考价值的文章主要介绍了实现一个python代码编辑器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码编辑器采用了monacoEditor,一个现成的编辑器。网上有很多文档介绍和开源项目,但是怎么说呢,跟着做,可以实现一个网页编辑器,可以高亮python的语法,但是没有python的提示,找不到可以参考的,js我也不会,看的着实云里雾里。
【提示】在VsCode上运行比较方便

--------------------开源项目-------------------------

我参考了这个

vue-monaco-editor-demo: vue 使用 monaco-editor 实现在线代码在线编辑器 (gitee.com)

----------------------------------------------------------

目前我对实现一个python代码编辑器的理解是这样的:先搞一个前端的代码编辑器html,然后在你的工程里显示html。但是编辑器里的代码怎么运行,我还没有头绪。

目前的进度就是前端可以生成一个网页,可以写python代码,有高亮,但是没有python提示。

-------------------更新   python 提示 ----------------------

参考

如何实现一个在线代码编辑器_哔哩哔哩_bilibili

Vue3中使用Monaco Editor代码编辑器记录——主动触发代码补全功能(python和sql为例)~持续更新_monaco.languages.registercompletionitemprovider-CSDN博客 ------------------------------------------------------------------

ok,参考上面的两个,python提示出来了(就是下面的这块代码,加入初始化运行的函数里)。这个B站的视频,我觉得挺好的,听完感觉是逻辑清晰了(对我这种不会写网页的小白来说)

          monaco.languages.registerCompletionItemProvider('python', {
				provideCompletionItems: function () {
					let suggestions = [];
					// 这个keywords就是python.js文件中有的
					pythonLanguage.keywords.forEach(item => {
						suggestions.push({
							label: item,
							kind: monaco.languages.CompletionItemKind.Keyword,
							insertText: item
						});
					})
					return {
						// 最后要返回一个数组
						suggestions:suggestions
					};
			  },
		  });

下一步的计划是显示网页,尝试了几个不同的方法。这几个方法怎么说呢,都可以显示html,但是上一步的编译出来的html其实还要带文件夹一起,感觉文件大小有点大,对于一个项目来说,不是一个很好的选择。

qt的QWebEngineView类

        qt有一个类,QWebEngineView可以用来显示html,具体用法就是用load函数,传入html的路径。

【注意】这里的html是上一步的文件build后生成在dist文件里的html,要把整个dist文件夹拷过来放在qt的运行目录里。

    MonacoEditor w;
    QWebEngineView view(&w);
    QString path = QApplication::applicationDirPath() + "/dist/index.html";
    view.load(QUrl(path));
    w.setCentralWidget(&view);
    w.show();

python的flask

        flask是python的一个Web 框架。下面的代码是网上教程看的。用flask可以装一个pycharm。

from flask import  Flask,render_template
app=Flask(__name__)         #实例化并命名为app实例
#启动这个WEB服务
@app.route('/')
def index():
    msg = "hello world"
    #在文件目录下创建Templates文件夹,里面新建index.html
    return render_template("index.html",data = msg)  # 加入变量传递  
    
if __name__=="__main__":
    app.run(port=2020,host="127.0.0.1",debug=True)

go的net/http

        这个还没开始,等会去试。文章来源地址https://www.toymoban.com/news/detail-834249.html

到了这里,关于实现一个python代码编辑器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 推荐一个免费的集成ChatGPT的代码编辑器,程序员写代码将被颠覆

    上周, Open AI 团队正式宣布: GPT-4 来了! GPT-4 的出现,随后 Microsoft 的多个产品就集成了 GPT-4 。紧接着基于 Open AI 公司发布的 GPT-4 编写、编辑和讨论代码新一代编辑器 Cursor 的出现。 Cursor是一款独立的应用。从界面来看,很简陋。但它强大的功能是可以更加智能的辅助编程

    2023年04月09日
    浏览(66)
  • 【python】Jupyter的使用(python代码编辑器)

    Jupyter是可以作为python的一种代码编辑器(当然,它不只是为python服务,它懂得语言比较多)。 我们先来打开Jupyter的官网来看一下。 可以看到它的logo是一个木星的样子,名字和木星(jupiter)差一个字母,太阳系中最大的行星,非常霸气,周围环绕着各种各样的语言,可以看

    2024年02月08日
    浏览(50)
  • 如何利用纯前端技术,实现一个网页版视频编辑器?

    介绍:本篇文章打算利用纯前端的技术,来实现一个网页版的视频编辑器。为什么突然想做一个这么项目来呢,主要是最近一直在利用手机剪映来剪辑一些照片或者视频之类的,在剪辑的过程中,突然想到,有没有一种纯网页版的视频剪辑网站呢?于是搜了下,大多为 sass 成

    2024年04月27日
    浏览(46)
  • 瓦片地图编辑器——实现卡马克卷轴的编辑,键盘控制游戏移动和鼠标点击游戏编辑通过同一个视口实现。

      左边是游戏地图编辑区,右边是地图缓冲区,解决了地图缓冲区拖动bug,成功使得缓冲区可以更新。 AWSD进行移动 鼠标左右键分别是绘制/拖动 按F1健导出为mapv3.txt F2清空数组 打印的是游戏数组 easyx开发devcpp 5.11 easyx20220922版本

    2024年01月25日
    浏览(79)
  • 使用文本编辑器sublime text编写python代码

    上篇文章介绍了如何安装python程序,这次就讲讲如何用sublime来编写python代码 有的小伙伴可能会有疑问,为什么不选择pycharm来编写? pycharm写代码会有代码补全功能,而我们新手正是要在犯错误的过程中积累经验,所以呢在前期我们新手最好是使用sublime、notepad、vscode这类的文

    2024年02月11日
    浏览(66)
  • 华为OD机试 - 代码编辑器(Java & JS & Python)

    题目描述 某公司为了更高效的编写代码,邀请你开发一款代码编辑器程序。 程序的输入为 已有的代码文本和指令序列,程序需输出编辑后的最终文本。指针初始位置位于文本的开头。 支持的指令(X为大于等于0的整数, word 为无空格的字符串): FORWARD X 指针向前(右)移动X,如果

    2024年02月11日
    浏览(39)
  • 低代码可视化拖拽编辑器实现方案

    随着业务不断发展,低代码、无代码平台越来越常见,它降低开发门槛、快速响应业务需求、提升开发效率。零开发经验的业务人员通过可视化拖拽等方式,即可快速搭建各种应用。本文主要是讲解低代码可视化拖拽平台前端展示层面的实现逻辑和方案,对于后端逻辑、数据

    2024年02月16日
    浏览(41)
  • react-app框架——使用monaco editor实现online编辑html代码编辑器

    大家好,我是yma16,本文分享关于 react-app框架——使用monaco editor实现online编辑html代码编辑器。 monaco editor 编辑器 Monaco Editor是一款功能强大的Web编辑器,由微软开发并使用在多个项目中。它是基于VS Code编辑器的核心组件,具有类似的功能和用户体验。 Monaco Editor具有以下特点

    2024年01月20日
    浏览(48)
  • DAY1,Qt [ 手动实现登录框(信息调试类,按钮类,行编辑器类,标签类的使用)]

    ---mychat.h---头文件 ---mychar.cpp---源文件 ---main.cpp---测试文件 结果---    

    2024年02月14日
    浏览(46)
  • Vue集成Monaco Editor的使用,以及开发Python代码编辑器和Sql等

    ​微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VSCode,而Monaco Editor(下文简称monaco)就是从这个项目中成长出来的一个web编辑器,他们很大一部分的代码(monaco-editor-core)都是共用的,所以monaco和VSCode在编辑代码,交互以及UI上几乎是一摸一样的,有点不同的是,

    2024年02月11日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包