Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
coder-sett committed Nov 2, 2023
1 parent e4b1e31 commit 3a4acf9
Show file tree
Hide file tree
Showing 6 changed files with 157 additions and 4 deletions.
1 change: 1 addition & 0 deletions components.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ declare module 'vue' {
BotBattle: typeof import('./src/components/Bot/BotBattle.vue')['default']
Compare: typeof import('./src/components/Bot/Compare.vue')['default']
copy: typeof import('./src/components/Header copy/index.vue')['default']
Editor: typeof import('./src/components/Editor/Editor.vue')['default']
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCarousel: typeof import('element-plus/es')['ElCarousel']
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"highlight.js": "^11.7.0",
"katex": "^0.16.4",
"markdown-it": "^13.0.1",
"monaco-editor": "^0.44.0",
"pinia": "^2.0.33",
"v-code-diff": "^1.7.1",
"vue": "^3.3.4",
Expand Down
7 changes: 7 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

131 changes: 131 additions & 0 deletions src/components/Editor/Editor.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
<script lang="ts" setup>
import jsonWorker from "monaco-editor/esm/vs/language/json/json.worker?worker"
import cssWorker from "monaco-editor/esm/vs/language/css/css.worker?worker"
import htmlWorker from "monaco-editor/esm/vs/language/html/html.worker?worker"
import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker"
import EditorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"
import * as monaco from "monaco-editor"
import { nextTick, ref, onBeforeUnmount } from "vue"
import { useRoute } from "vue-router"
import { ElMessage } from "element-plus"
const text = ref("234")
const route = useRoute()
const language = ref("go")
const msg = ref()
const loading = ref(false)
//
// MonacoEditor start
//
onBeforeUnmount(() => {
editor.dispose()
})
// @ts-ignore
self.MonacoEnvironment = {
getWorker(_: string, label: string) {
if (label === "json") {
return new jsonWorker()
}
if (label === "css" || label === "scss" || label === "less") {
return new cssWorker()
}
if (label === "html" || label === "handlebars" || label === "razor") {
return new htmlWorker()
}
if (["typescript", "javascript"].includes(label)) {
return new tsWorker()
}
return new EditorWorker()
},
}
let editor: monaco.editor.IStandaloneCodeEditor
const editorInit = () => {
nextTick(() => {
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
noSemanticValidation: true,
noSyntaxValidation: false,
})
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES2016,
allowNonTsExtensions: true,
})
!editor
? (editor = monaco.editor.create(document.getElementById("codeEditBox") as HTMLElement, {
value: text.value, // 编辑器初始显示文字
language: "go", // 语言支持自行查阅demo
automaticLayout: true, // 自适应布局
theme: "vs-dark", // 官方自带三种主题vs, hc-black, or vs-dark
foldingStrategy: "indentation",
renderLineHighlight: "all", // 行亮
selectOnLineNumbers: true, // 显示行号
minimap: {
enabled: false,
},
readOnly: false, // 只读
fontSize: 16, // 字体大小
scrollBeyondLastLine: false, // 取消代码后面一大段空白
overviewRulerBorder: false, // 不要滚动条的边框
}))
: editor.setValue("")
// console.log(editor)
// 监听值的变化
editor.onDidChangeModelContent((val: any) => {
text.value = editor.getValue()
})
})
}
editorInit()
// @ts-ignore
//切换语言
const changeLanguage = () => {
monaco.editor.setModelLanguage(editor.getModel(), language.value)
// editor.updateOptions({
// language: "objective-c"
// });
}
//设置一个确认按钮,点击时调用接口
const submitCode = () => {
loading.value = true
//调用接口
// api.submitCode(text.value, route.query.identity).then((res) => {
// loading.value = false
// if (res.data.code == 200) {
// msg.value = res.data.data.msg
// if (res.data.data.status == 1) {
// ElMessage.success(res.data.data.msg)
// } else {
// ElMessage.warning(res.data.data.msg)
// }
// } else {
// ElMessage.error(res.data.msg)
// }
// })
}
/***
* editor.setValue(newValue)
editor.getValue()
editor.onDidChangeModelContent((val)=>{ //监听值的变化 })
editor.getAction('editor.action.formatDocument').run() //格式化代码
editor.dispose() //销毁实例
editor.onDidChangeOptions  //配置改变事件
editor.onDidChangeLanguage  //语言改变事件
*/
</script>
<template>
<div id="codeEditBox"></div>
</template>
<style scoped>
#codeEditBox {
height: 100%;
}
</style>
12 changes: 8 additions & 4 deletions src/views/DataSetDetail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { useRoute, useRouter } from "vue-router"
import Header from "@/components/Header/index.vue"
import Footer from "@/components/Footer/index.vue"
import Dataset from "@/assets/2.png"
import Editor from "@/components/Editor/Editor.vue"
interface MyMap {
[key: string]: { [key: string]: string }
}
Expand Down Expand Up @@ -127,12 +129,14 @@ const modelInfo: MyMap = {
</div>
</div>
</div>
<div class="w-full mt-8">
<a target="_blank" href="https://huggingface.co/datasets/THUDM/AgentInstruct/tree/main">
<div class="w-full mt-20 h-[400px]">
<!-- <a target="_blank" href="https://huggingface.co/datasets/THUDM/AgentInstruct/tree/main">
<img class="w-full" :src="Dataset"
/></a>
/></a> -->
<!-- <Editor /> -->
<iframe class="w-full h-full" src="http://localhost:8885/" />
</div>
<div class="mt-10 w-full flex">
<div class="mt-32 w-full flex">
<div class="flex-1 mr-16">
<div class="flex mb-10">
<div class="h-16 w-16 rounded-full overflow-hidden">
Expand Down
9 changes: 9 additions & 0 deletions vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ export default defineConfig((env) => {
},
},
},
optimizeDeps: {
include: [
`monaco-editor/esm/vs/language/json/json.worker`,
`monaco-editor/esm/vs/language/css/css.worker`,
`monaco-editor/esm/vs/language/html/html.worker`,
`monaco-editor/esm/vs/language/typescript/ts.worker`,
`monaco-editor/esm/vs/editor/editor.worker`,
],
},
build: {
reportCompressedSize: false,
sourcemap: false,
Expand Down

0 comments on commit 3a4acf9

Please sign in to comment.