我正在一个 Web 项目中使用monaco 编辑器(又名VS Code引擎)。
我使用它来允许用户编辑一些具有 JSON 架构集的 JSON,以帮助提供一些自动完成功能。
当他们保存更改并希望重新编辑他们的工作时,我加载回编辑器的 JSON 会转换为字符串,但这会将代码呈现在一行上,我更希望 JSON 更漂亮,就好像用户右键单击并使用上下文菜单或键盘快捷键等中的“设置文档格式”命令。
所以这
{ "enable": true, "description": "Something" }
Run Code Online (Sandbox Code Playgroud)
会变成这样
{
"enable": true,
"description:" "Something"
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过以下方法,但使用超时来等待/猜测内容何时加载感觉非常hacky
require(['vs/editor/editor.main'], function() {
// JSON object we want to edit
const jsonCode = [{
"enabled": true,
"description": "something"
}];
const modelUri = monaco.Uri.parse("json://grid/settings.json");
const jsonModel = monaco.editor.createModel(JSON.stringify(jsonCode), "json", modelUri);
const editor = monaco.editor.create(document.getElementById('container'), {
model: jsonModel
});
// TODO: YUK see if we can remove timeout, as …Run Code Online (Sandbox Code Playgroud)我目前正在学习 CSS 网格,并且尝试在 CSS 网格项单元格内使用 Chart.JS,但是如果调整浏览器的大小,图表不会像其他项目那样随网格调整大小。
但是,如果您以新的窗口大小刷新浏览器,图表和网格会正确加载。
我有一个 CodePen 并将代码片段插入到 StackOverflow 中,如果有人能给我任何关于我做错了什么的指示,我将不胜感激。
https://codepen.io/warrenbuckley/pen/BXaQwY
var lineCtx = document.getElementById('line').getContext('2d');
var lineChart = new Chart(lineCtx, {
type: 'line',
data: {
labels: ['Mon', 'Tue', 'Wed', 'Thur', 'Fri'],
datasets: [{
label: 'Number of Members a Day',
data: [12, 5, 8, 35, 4],
backgroundColor: [
'#ff8a89'
],
borderColor: [
'#ff8a89'
],
borderWidth: 4,
fill: false,
pointBorderWidth: 4,
pointBackgroundColor: "#ffffff",
pointBorderColor: "#ff8a89",
pointRadius: 8,
pointHoverBorderWidth: 4,
pointHoverBackgroundColor: "#ffffff",
pointHoverBorderColor: "#ff8a89",
pointHoverRadius: 8
},
{
label: 'Failed Logins', …Run Code Online (Sandbox Code Playgroud)
我正在尝试在 CMS 中设置 Serilog,该 CMS 具有我们定义为 CMS 的一些默认日志记录配置设置,但是允许使用 CMS 的开发人员通过使用 Serilog AppSettings Nuget 包来扩展和配置自己的日志记录要求 - https://github .com/serilog/serilog-settings-appsettings
我有一些这样的工作,并且能够在外部配置文件中配置其他接收器,我遇到的问题并且需要帮助,是如何让开发人员配置文件接收器以生成仅包含其名称空间的 txt logile?
使用 C# 类,我知道我可以创建一个子记录器,然后像这样使用过滤器,
.Filter.ByIncludingOnly(Matching.FromSource("DevelopersNamespace"))但使用 Serilog 分析器 VS 扩展 - https://github.com/Suchiman/SerilogAnalyzer它无法生成示例 XML AppSettings 配置。
这是我的 C# 记录器配置的副本
Serilog.Debugging.SelfLog.Enable(msg => System.Diagnostics.Debug.WriteLine(msg));
//Set this environment variable - so that it can be used in external config file
//add key="serilog:write-to:RollingFile.pathFormat" value="%BASEDIR%\logs\log-{Date}.txt" />
Environment.SetEnvironmentVariable("BASEDIR", AppDomain.CurrentDomain.BaseDirectory, EnvironmentVariableTarget.Process);
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug() //Set to highest level of logging (as any sinks may want to …Run Code Online (Sandbox Code Playgroud) 所以我正在将日志框架从Log4Net交换到Serilog,我们在那里注销文本文件.
我希望文本文件的格式与之前完全相同,因此用户可以无缝迁移.
所以使用Serilog文件接收器,我能够修改它outputTemplate以满足我的需要,但是我无法让Serilogs日志级别与Log4Net中的完全相同.
我希望:
通过阅读outputTemplates的文档 https://github.com/serilog/serilog/wiki/Configuration-Basics#output-templates
对于更紧凑的级别名称,请分别对三个字符的大写或小写级别名称使用{Level:u3}或{Level:w3}等格式.
所以我尝试了以下尝试获得5个大写的字母{Level:u5}然后回来:
请问有人指点这个吗?