Soy desarrollador de reacción durante 2 meses. Mi objetivo es construir mi propio sitio web como GitHub para esto, por supuesto, necesito algún tipo de IDE como VS code
donde pueda cargar mi código. Recientemente me enteré de VS Code Intellisense
pero no encontré ningún contenido útil. No sé cómo funciona, pero lo que aprendí es que VS Code
realiza un seguimiento de los cambios en el archivo. La finalización de código inteligente utiliza una base de datos en memoria generada automáticamente de clases, nombres de variables y otras construcciones que brindan definiciones o referencias de código de computadora. Como mencioné anteriormente, quiero crear mi propio IDE como VS Code
. Termino con un enfoque simple pero no es eficiente. Por favor, eche un vistazo a mi enfoque y luego sugiérame un mejor enfoque.
// list of some keyword const listOfKeyWords = { 'var' , 'const' , 'let' , 'for' , 'if' , 'else' // ... } const [ code , SetCode ] = useState('') // grabs value from DOM input tag const [ filterCodeState , SetFilterCodeState ] = useState('') // Filter Code function FilterCode ( ) { let filterCode = '' var stack = new Stack code.forEach ( (word , idx) => { if(word === ' '){ let str = '' while(!stack.empty()) str.push (stack.top()) if(listOfKeyWords.indexOf(str) != -1) // string is keyWord add color to it filterCode += `<p className = 'text-info'>${str}</p>` else filterCode += str } stack.push(word) SetFilterCode(SetFilterCode) }) } return ( <> { SetFilterCodeState } </> )
Sé que hay mucho que hacer, pero este es un código simple. por supuesto, tomará demasiado costo de rendimiento. Cómo puedo hacer algo como esto y también administrar el rendimiento.
Por favor, conteste a las siguientes preguntas :
¿Hay algún complemento que pueda usar directamente?
¿Cómo funciona el color del ide? ¿Cambian de color usando HTML y CSS?
¿Cómo puedo administrar la base de datos para esto?
Intentar crear su propio IDE basado en la web con inteligencia precisa para una variedad de idiomas (o incluso solo uno) desde cero sería una tarea verdaderamente hercúlea: probablemente llevaría a un equipo de desarrolladores experimentados meses o años. Afortunadamente, el editor detrás de VSCode, Monaco, es de código abierto y podría integrarse en cualquier proyecto basado en la web. Puedes aprender más sobre Mónaco aquí . Hay un área de juegos que le muestra algunas de las formas en que se puede configurar. El LÉAME en github tiene instrucciones sobre cómo comenzar a integrarlo en su proyecto.