javascript - Monaco Editor visar tecken på tom rad
Mitt problem är att varje gång jag börjar en ny rad i Monaco-redigeraren visas tecknet Â, men jag kan inte markera det och det försvinner så snart jag börjar skriva något och dyker upp igen om jag tömmer raden.
Jag har redan försökt hitta var denna karaktär kan komma ifrån i koden jag arbetar med, men utan framgång (det är ett större projekt som startades av någon annan och buggen fanns redan där från det ögonblick jag började arbeta med det). Jag försökte titta i API:et för Monaco-editor för att hitta någon form av ledtråd om var denna bugg kan ha sitt ursprung, men utan framgång. Om någon har stött på ett liknande problem eller har en idé om var jag annars borde leta, skulle jag uppskatta det mycket.
Jag ber om ursäkt för att jag inte inkluderade kod eller ett minimalt, reproducerbart exempel, men jag vet verkligen inte hur jag ska reproducera det eftersom jag inte ens vet vilka förändringar som utlöst det från början.
Ett exempel på utdata från Monaco-redigeraren:
int i=0
Â
funktion f(){
Â
}
Svar #1
Låter som ett kodningsproblem. Det tolkar förmodligen som Â. Jag tror att du är i ISO-8859-1 och vill vara i UTF-8, så sätt detta högst upp i HTML: <meta charset="utf-8">.
Redigera: En annan sak som kan fungera är helt enkelt att kopiera deras kod, klistra in den i en redigerare, ändra kodningen till UTF-8, och sedan kopiera och klistra tillbaka den i den ursprungliga filen.
Svar #2
Se https://www.diycode.cc/projects/Microsoft/monaco-editor
header("Content-Type: text/html; charset=utf-8");
?>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script src="controls/monaco/loader.js"></script>
</head>
<body>
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
<script>
require.config({ paths: { 'vs': 'controls/monaco' }});
require(['vs/editor/editor.main'], function() {
var editor = monaco.editor.create(document.getElementById('container'), {
value: [
'function x() {',
'\tconsole.log("Hello world!");',
'}'
].join('\n'),
language: 'javascript'
});
});
</script>
</body>
</html>
