How to Use the Code Editor in Vue3
Recent News
-
Zoom, which became synonymous with remote work during the pandemic, recently announced that it is requiring employees to return to the office.
-
With only twelve days left to submit presentation materials for the opensuse Asia Summit, those interested can take a look. The event will take place from October 21-23 at Chongqing University of Posts and Telecommunications.
-
The Linux OSSummit in Japan is searching for passionate individuals to deliver energetic speeches across various technological fields. If you have a topic that can amaze the audience and wish to participate, consider checking it out.
-
Scientists at Lawrence Livermore National Laboratory have achieved another milestone in the field of fusion energy. Learn how open-source contributes to advancing nuclear physics in the ReadME project. Address: https://github.com/readme/featured/nuclear-fusion-open-source
Using CodeMirror in Front-End Development
If you need an online code editor for your front-end web page, CodeMirror is a popular JavaScript library that you can embed.
Changelog:
Version 2.3.0
Date: March 7, 2023
Installation:
npm install codemirror-editor-vue3 codemirror@5.x -S
yarn add codemirror-editor-vue3 codemirror@5.x
pnpm i codemirror-editor-vue3 codemirror@^5.65.12 -S
If your project uses TypeScript, you also need to install the dependencies:
npm install @types/codemirror -D
// Import
import { InstallCodemirror } from "codemirror-editor-vue3";
However, global registration is not recommended as it may lead to incorrect template type prompts. It is better to use it within the component.
// Import themes, you can import multiple from codemirror/theme/ import ‘codemirror/theme/dracula.css’
// Import language modes, you can import multiple from codemirror/mode/ import “codemirror/mode/javascript/javascript.js”
Official Example:
<template>
<Codemirror
v-model:value="code"
:options="cmOptions"
border
placeholder="test placeholder"
:height="200"
@change="change"
/>
</template>
<script>
import Codemirror from "codemirror-editor-vue3";
// Import placeholder
import "codemirror/addon/display/placeholder.js";
// Import language modes
import "codemirror/mode/javascript/javascript.js";
// Import placeholder
import "codemirror/addon/display/placeholder.js";
// Import theme
import "codemirror/theme/dracula.css";
import { ref } from "vue";
export default {
components: { Codemirror },
setup() {
const code = ref(`
var i = 0;
for (; i < 9; i++) {
console.log(i);
// more statements
}`);
return {
code,
cmOptions: {
mode: "text/javascript", // Language mode
theme: "dracula", // Theme
},
};
},
};
</script>
Common Attributes:
border: Border, default value: false
width, height: Width and height settings
KeepCursorInEnd: Keep the cursor at the end of the content, default value: false