ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ
Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΊΡΡΡΠΎΡ Π½Π΅ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΠΉΡ
ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ
ΠΡΠΈΠ²Π΅Ρ
Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· Π΄Π΅ΠΌΠΎ (http://securingsincity.github.io/react-ace/)
ΠΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ fontSize = {14}
ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°
@huangjiatian @RTKSoftware Ρ Π½Π°ΡΠ΅Π» ΡΡΠΎΡ ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ https://twitter.com/Maluen0/status/862636368857583616 ΠΠΎΡ ΠΎΠΆΠ΅, ΡΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π΄ΡΡΠΎΠΉ
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° Π² CSS ΠΎΡΠ»ΠΈΡΠ°Π»ΡΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π» ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. Π Π΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ΄Π°Π»ΠΈΠ² ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° ΠΈΠ· CSS.
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅. ΠΠ»ΠΈ Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
@MaximusDesign Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ace ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠ΅ ΡΡΠΈΡΡΡ.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠΈΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ monaco
, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ace.
Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΌΠΎΠ³Ρ ΡΠ΅ΡΠΈΡΡ, Π»ΠΈΠ±ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΡΠΈΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π½Π° ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠΉ ΡΡΠΈΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΠΎ inherit
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ.
const Editor = styled(AceEditor)`
* {
font-family: inherit;
}
`;
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΡΡΡΠΎΡΠ° Π² 4 ΠΏΡΠΎΠ±Π΅Π»Π°Ρ
ΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ @MatthewLarner , ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ styled-components
, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠΈΡΡΠΎΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ace ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ consolas
ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΈ Π²ΡΡΠΎΡΡ ΡΡΡΠΎΠΊΠΈ:
const StyledEditor = styled.div`
margin-top: 10px;
* {
font-family: consolas;
line-height: 1;
}
`;
return (
<StyledEditor>
<AceEditor
mode="json"
theme="solarized_dark"
fontSize={14}
value={''}
setOptions={{
showLineNumbers: false,
tabSize: 2,
}}
editorProps={{ $blockScrolling: true }}
/>
</StyledEditor>
);
Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΡΠΎΠ³Π΄Π° Ρ ΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π°ΡΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°,
Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΡΠΎ https://github.com/ajaxorg/ace/issues/2548 . Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠΈΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΡΡΡΠΎΡΠΎΠΌ. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ° Π½Π° monospace
ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
.ace_editor, .ace_editor div{
font-family:monospace
}
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@MaximusDesign Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»Π° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ace ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠ΅ ΡΡΠΈΡΡΡ.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠΈΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ
monaco
, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ace.Π― ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΌΠΎΠ³Ρ ΡΠ΅ΡΠΈΡΡ, Π»ΠΈΠ±ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΡΠΈΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π½Π° ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠΉ ΡΡΠΈΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΠΎ
inherit
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ.