#monaco-editor
#монако-редактор
Вопрос:
Я использую Monaco Editor для создания своей собственной среды разработки. Я использую provideHover
для подчеркивания определенных типов кода. Похоже, что разные DiagnosticCategory
или MarkerSeverity
влияют на цвет подчеркивания. На данный момент кажется, что существует только 4 вида цветов подчеркивания.
/* Diagnostics */
enum DiagnosticCategory {
Warning = 0,
Error = 1,
Suggestion = 2,
Message = 3
}
Кто-нибудь знает, как добавить больше видов подчеркивания цветом?
Ответ №1:
Форма и цвет подчеркивания определяются его классом CSS, например squiggly-error
:
Константы для соответствующих классов CSS объявлены в IntervalTree.ts в проекте VS Code:
export const enum ClassName {
EditorHintDecoration = 'squiggly-hint',
EditorInfoDecoration = 'squiggly-info',
EditorWarningDecoration = 'squiggly-warning',
EditorErrorDecoration = 'squiggly-error',
EditorUnnecessaryDecoration = 'squiggly-unnecessary',
EditorUnnecessaryInlineDecoration = 'squiggly-inline-unnecessary',
EditorDeprecatedInlineDecoration = 'squiggly-inline-deprecated'
}
Код, использующий эти константы, находится в markerDecorationsServiceImpl.ts (в коммутаторе на основе MarkerSeverity
).
Похоже, что он не предназначен для расширения с помощью конфигурации. Добавление другого типа подчеркивания, вероятно, потребовало бы изменений в классах vs core.