小编ant*_*nty的帖子

在Visual Studio代码中设置自定义git diff命令(--word-diff)

我们有一个JSON文件,其中包含大型文本作为JSON对象中的字符串.那些字符串以及它们所处的线条相当长.在对文本进行更改时,我们希望更好地了解更改.

git diff --word-diff
Run Code Online (Sandbox Code Playgroud)

在控制台上完美地工作以可视化已更改的单词.

我创建了一个diff-wrapper.sh脚本,使其成为默认行为:

#!/bin/sh
git --no-pager diff --color-words "$2" "$5"
exit 0
Run Code Online (Sandbox Code Playgroud)

并设置它(对于此存储库):

git config diff.external ./diff-wrapper.sh
Run Code Online (Sandbox Code Playgroud)

现在,我想在VS Code的diff窗口中看到相同的输出,但我没有.

是否有实现这一目标的环境?通过使VS代码为该存储库使用本机git diff命令或在VS Code首选项中设置类似的"外部"diff命令?在https://code.visualstudio.com/docs/customization/userandworkspace上,我只找到diff编辑器的这些选项:

// Controls if the diff editor shows the diff side by side or inline
"diffEditor.renderSideBySide": true,

// Controls if the diff editor shows changes in leading or trailing whitespace as diffs
"diffEditor.ignoreTrimWhitespace": true,
Run Code Online (Sandbox Code Playgroud)

另外:终端在diff中包含长行,VS Code没有.是否有设置在差异中做到这一点?

git git-diff visual-studio-code

9
推荐指数
1
解决办法
609
查看次数

OptionScript中的Option或Optional类型(Option <T>)是否有意义?

像Haskell,Rust等语言提供MaybeOption类型.即使在Java中,现在也有一种Optional类型.

为简单起见,我将在剩下的问题中将此类型称为"选项类型"." 可选类型"显然通常用于描述提供类型注释是可选的情况.

我对以下内容很好奇:Option类型在TypeScript等语言中是否有意义?Option类型的优点在其他语言中非常有说服力,我发现自己在TypeScript编程时缺少类型.

基本上,类型系统强制您显式解包可能在Option值中的任何值.是的,TypeScript的严格空检查也可以实现这一点,但是,使用Option类型为您提供(在我看来)None通过提供map(f: T -> U): Option<U>mapOr(f: T -> U, or: U): Option<U>方法等处理潜在价值的更好方法.

例如,我想像以下代码一样工作:

interface Foo {
    member: Option<string>
}
const opt: Option<Foo> = // ... some initialization
const memberLength: number = opt
    .map(x => x.member) // None if x is None, else Some(...)
    .map(x => x.length) // None if x.member is None, else Some(x.length)
    .unwrapOrElse(() => 0);
Run Code Online (Sandbox Code Playgroud)

这当然是一个非常简单的例子,其中使用Option类型有点过度设计.不过,它应该给出一个基本的想法.

我目前没有看到为什么这是一个坏主意的原因,但据我所知,似乎没有人实现它.这会对性能造成严重影响吗?或者是否有任何其他问题我无法看到使这不可行?

注意:我(主要)不是要求如何实现这一点(虽然这也是一个有趣的话题 - 但我对此有所了解).我主要担心的是找出为什么似乎没有人使用这样的东西.

optional typescript

8
推荐指数
1
解决办法
2431
查看次数

标签 统计

git ×1

git-diff ×1

optional ×1

typescript ×1

visual-studio-code ×1