我正在向我的应用程序Data-Forge Notebook添加 TypeScript 支持。
它是一个用于 JavaScript 的笔记本式应用程序。当我在代码单元格中使用 'await' 关键字时,Monaco 将其标记为错误,如下面的屏幕截图所示:
当代码被执行或导出时,整个代码块都被包裹在一个async函数中,这样当发生这种情况时就不会出现错误。
我需要能够自定义 Monaco 以消除此错误,因为在这种情况下它没有意义。
使用 Monaco 编辑器时是否可以删除或修改这样的错误?
有没有办法确定Lua函数在从C/C++代码调用它之前需要多少参数?
我看了看lua_Debug和lua_getinfo,但他们似乎并没有提供我所需要的.
看起来有点像我反对Lua的精神,但我真的想要证明我在Lua和C++之间的界面.当从Lua代码调用C++函数时,接口验证Lua提供了正确数量的参数,并且每个参数的类型都是正确的.如果发现参数a lua_error发出问题.
我想反过来检查类似的错误.当C++调用Lua函数时,它至少应该检查Lua函数是否没有声明更多参数.
ScrollViewer当子控件具有输入焦点时,为什么键盘输入不起作用?
这就是场景.WPF窗口打开.它将焦点设置为嵌入在控件中的控件ScrollViewer.
我上下左右键.在ScrollViewer似乎没有处理关键事件,任何人都知道为什么吗?
这是最简单的例子:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300"
FocusManager.FocusedElement="{Binding ElementName=control}"
>
<Grid>
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
>
<ItemsControl
x:Name="control"
Width="1000"
Height="1000"
/>
</ScrollViewer>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
当您启动包含此窗口的应用程序时,"控件"似乎具有我想要的焦点.按键似乎导致冒泡的关键事件到达ScrollViewer(我使用WPF Snoop检查了这一点).我无法弄清楚为什么它不响应输入.
我刚刚编写了一些代码来从一些文本中删除额外的换行符.每组连续的换行符都会折叠成一个换行符.
这似乎是使用LINQ简化代码的好地方.虽然我对LINQ很新,所以不知道如何做到这一点.谁有人建议解决方案?
这是我的原始代码:
/// <summary>
/// Collapse extra newlines.
/// </summary>
private string CollapseNewlines(string script)
{
// Remove extra newlines.
var lines = script.Split('\n');
var output = new StringBuilder();
bool prevLineWasEmpty = false;
foreach (var line in lines)
{
if (line.Trim() == string.Empty)
{
if (prevLineWasEmpty)
{
continue; // Ignore this line.
}
prevLineWasEmpty = true;
}
else
{
prevLineWasEmpty = false;
}
output.Append(line);
output.Append("\n");
}
return output.ToString();
}
Run Code Online (Sandbox Code Playgroud)