在 VSCode 中,在编写 javascript/typescript 时,我经常编写不带大括号的 if。特别是对于提早退出。
foo() {
...
if(...)
return;
...
for(...) {
...
if(...)
continue;
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
在 VSCode 中,返回/继续/无论我放在新行上的内容都不会缩进。有这方面的设置吗?
我只有 Chrome 扩展的图标和调试器。
这是 VSCode 格式化它的方式:
事实上,这并不是唯一发生的奇怪的缩进!
这看起来不错:
但是,如果我将参数放在不同的行上。(长变量名可能需要):
该函数的其余部分最终缩进,文件的其余部分也是如此。
我尝试重新安装 VSCode,但没有帮助。
有什么建议么?
所以我有点厌倦了一遍又一遍地重写相同的查询.
repo.Query().Where(stuff => stuff.Timestamp >= minTime && stuff.Timestamp <= maxTime && ...);
Run Code Online (Sandbox Code Playgroud)
我以为我应该IQueryable使用一个名为的方法进行扩展IsInDateTimeRange,并像这样使用它
repo.Query().IsInDateTimeRange(stuff => stuff.Timestamp, minTime, maxTime) ...
Run Code Online (Sandbox Code Playgroud)
这将是非常容易的IEnumerable,只有一个Func<T, DateTime>和两个DateTime,但是对于IQueryable我需要采取一个Expression,我不知道如何使用它.
这是我的尝试,但似乎没有奏效.
public static IQueryable<TValue> IsInDateTimeRange<TValue>(
this IQueryable<TValue> self,
Expression<Func<TValue, DateTime>> getMember,
DateTime minTime,
DateTime maxTime)
{
return self.Where(value => minTime >= getMember(value) && maxTime <= getMember(value));
}
Run Code Online (Sandbox Code Playgroud)