小编ehi*_*ler的帖子

查看/打印解析的 TypeScript 类型的方法

我正在寻找一种方法来查看 TypeScript 将声明的类型解析为的类型(即泛型)。我使用 VS Code,并且经常使用并集、交集或其他通用结果,鼠标悬停时会显示以下信息:

(property) Workspace: Pick<{
    __typename?: "a" | undefined;
} & {
    __typename?: "b" | undefined;
} & Pick<typeA, "id" | ... 4 more ... | "state"> & {
    ...;
}, "__typename" | ... 4 more ... | "state"> & Pick<...>
Run Code Online (Sandbox Code Playgroud)

我知道 VS Code 必须具有完整的类型信息,因为当我尝试错误地使用该类型时,我会收到类似的错误Property 'goo' does not exist on type '...'

我希望有一种方法可以通过某种console.log(someUtilityFunction(type))或某些 vscode 设置或扩展来做到这一点?

typescript visual-studio-code typescript-generics typescript-typings

8
推荐指数
0
解决办法
1282
查看次数

如何限制 Pandas 中列标题的宽度

显示数据框等时如何限制 Pandas 中的列宽?我知道display.max_colwidth,但它不影响列名称。另外,我不想分解名称,而是要截断。

如果我设置display.max_colwidth它,那么肯定会限制值,并用省略号缩短它们,但列名仍然很长且不受影响。我没有在文档中的任何地方看到这一点,也没有在此处此处的大线程中看到它。这是一个错误吗?我知道我可以截断列的名称,但我希望它们很长,否则在显示时会缩短。

需要明确的是,这就是正在发生的事情:

     State area_harveste_2016_1000_acres area_harvested_2017_1000_acres yield_per_acr_2016_bushels yield_per_acre_2017_bushels
4  Alabama                           315                            235                      120.0                       165.0
Run Code Online (Sandbox Code Playgroud)

改变宽度

pd.set_option("display.max_colwidth",5)
Run Code Online (Sandbox Code Playgroud)

   State area_harveste_2016_1000_acres area_harvested_2017_1000_acres yield_per_acr_2016_bushels yield_per_acre_2017_bushels
4   A...   315                           235                           1...                       1...
Run Code Online (Sandbox Code Playgroud)

更新

目前,这是 Pandas 的一个已确认问题(截至 20.3,问题为#7059#16911。在解决之前,我编写了一个解决方案,它设置和取消设置max_colwidth以及重命名截断。尽管没有这个类似问题的答案

def pf(df, L=15):
    """Limit ENTIRE column width (including header)"""
    O = pd.get_option("display.max_colwidth")
    pd.set_option("display.max_colwidth", L)
    print(df.rename(columns=lambda x: x[:L - 3] + '...' if len(x) > L else x)) …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

7
推荐指数
1
解决办法
4461
查看次数

vscode 键绑定的 when 子句是否有主列表/文档?

vscode 键绑定的 when 子句是否有主列表/文档?(这是一个关于 VS Code 文档的问题,而不是请求推荐)

我在任何地方都找不到这个记录。如果我想指定不同的操作。假设我想在不在任务“上下文”中时Ctrl启动B构建任务,并在处于任务上下文中时终止。

我翻阅了文件并记下了所有我能找到的东西,但没有任何东西看起来像“那个东西”。

// Place your key bindings in this file to overwrite the defaults
[{
    "key": "cmd+b",
    "command": "workbench.action.tasks.build",
    "when": "editorTextFocus"
},{
    "key": "ctrl+c",
    "command": "workbench.action.tasks.terminate",
    "when": "???"
}
]
Run Code Online (Sandbox Code Playgroud)
  • 调试模式
  • 在QuickOpen
  • 编辑器文本焦点
  • suggestWidgetVisible
  • 建议支持AcceptOnKey
  • editorLangId == 'xxx'
  • 搜索ViewletVisible
  • 重命名输入可见
  • 辅助功能帮助小工具可见
  • QuickFixWidgetVisible
  • 参数提示可见
  • 参考搜索可见
  • !config.editor.stablePeek
  • 标记导航可见
  • 编辑焦点
  • 在片段模式
  • 断点WidgetVisible
  • 查找WidgetVisible
  • 编辑器选项卡移动焦点
  • 编辑器有选择
  • 编辑器有多个选择
  • 在参考搜索编辑器中

(写完这篇文章后,我发现这篇文章发布了类似的列表,但无法确保我们拥有整个列表

visual-studio-code

6
推荐指数
1
解决办法
1581
查看次数

Golang:使用Windows 10 API/UWP/System.WindowsRuntime?

syscall在Go中使用如何在Windows 10中调用UWP API?我已经看过并尝试了很多win32示例,但是当我尝试使用System.WindowsRuntime.dll它时是不行的; 具体来说,我收到:

panic: Failed to load System.WindowsRuntime.dll: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

(这是在运行时,二进制内置正常)

我尝试用标准go build和同时构建两者

go build -ldflags="-H windows"
Run Code Online (Sandbox Code Playgroud)

示例代码:

var(
    windowsRuntime      = syscall.NewLazyDLL("System.WindowsRuntime.dll")
    getDiskFreeSpace    = windowsRuntime.NewProc("GetDiskFreeSpace")
)
Run Code Online (Sandbox Code Playgroud)

注意:尝试了其他变体:

windowsRuntime      = syscall.NewLazyDLL("System.Runtime.WindowsRuntime.dll")
Run Code Online (Sandbox Code Playgroud)

&

windowsRuntime      = syscall.NewLazyDLL("WindowsRuntime.dll")
Run Code Online (Sandbox Code Playgroud)

任何人都可以得到这个运行或有任何建议吗?一如既往,非常感谢!!

winapi go windows-runtime winrt-xaml uwp

5
推荐指数
1
解决办法
1132
查看次数

Bash 代码块语法着色

对于 vscode 中的 markdown,在三重反引号代码块中,我应该为 bash 使用什么名称?我努力了:

  • 巴什

(例子:

````bash

如果[“$BLEG”!=xxx];然后命令fi

````

一切都无济于事。

是否有一个列表显示 vscode 允许的代码?

谢谢!-埃里克

linux bash shell markdown visual-studio-code

4
推荐指数
1
解决办法
8138
查看次数

如何在TypeScript中获取源中的实际行号(用于自定义日志记录)

引用此问题,我正在使用以下代码来查找我的自定义日志记录函数的调用方的行号:

/**
 * eLog - displays calling line number & message & dumps vars as pretty json string
 * @param {string} msg - string to display in log message
 * @param {any} dispVars - any number of variables (ellipsis , aka Rest parameters) to dump
 */
function eLog(msg:string,...dispVars:any[]){
    let caller_line = (new Error).stack.split("\n")[4];
    console.log(`eLog->Line#${caller_line}->${msg}->`);
    console.log(JSON.stringify((new Error).stack.split("\n"),null,2));
    dispVars.forEach(value => {
        console.log(JSON.stringify(value,null,2));
    });
}
Run Code Online (Sandbox Code Playgroud)

这样称呼:

eLog("eLog Test",this);
Run Code Online (Sandbox Code Playgroud)

尽管这样做确实可以正确转储.js文件行号,但我需要源行号(.ts行号)。如何正确生成?

javascript node.js typescript electron

4
推荐指数
1
解决办法
674
查看次数

Init.d脚本挂起

我有一个init.d脚本,看起来像:

#!/bin/bash
# chkconfig 345 85 60
# description: startup script for swapi
# processname: swapi

LDIR=/var/www/html/private/daemon
EXEC=swapi.php
PIDF=/var/run/swapi.pid
IEXE=/etc/init.d/swapi

### BEGIN INIT INFO
# Provides: swapi
# Required-Start: $local_fs
# Required-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: startup script for swapi
# Description: startup script for swapi.php which processes actionq into switch
### END INIT INFO

if [ ! -f $LDIR/$EXEC ]
then
        echo "swapi was not found at $LDIR/$EXEC"
        exit
fi …
Run Code Online (Sandbox Code Playgroud)

linux bash centos init.d

3
推荐指数
1
解决办法
4795
查看次数

自我管理PostgreSQL分区表

我正在尝试使用Postgres进行自我管理的分区表设置.这一切都围绕着这个功能,但我似乎无法让Postgres接受我的表名.自我管理分区表触发器功能的任何想法或示例?

我目前的职能:

DECLARE
day integer;
year integer;
tablename text;
startdate text;
enddate text;
BEGIN
day:=date_part('doy',to_timestamp(NEW.date));
year:=date_part('year',to_timestamp(NEW.date));
tablename:='pings_'||year||'_'||day||'_'||NEW.id;
-- RAISE EXCEPTION 'tablename=%',tablename;
PERFORM 'tablename' FROM pg_tables WHERE 'schemaname'=tablename;
-- RAISE EXCEPTION 'found=%',FOUND;
IF FOUND <> TRUE THEN
    startdate:=date_part('year',to_timestamp(NEW.date))||'-'||date_part('month',to_timestamp(NEW.date))||'-'||date_part('day',to_timestamp(NEW.date));
    enddate:=startdate::timestamp + INTERVAL '1 day';
    EXECUTE 'CREATE TABLE $1 (
        CHECK ( date >= DATE $2 AND date < DATE $3 )
    ) INHERITS (pings)' USING quote_ident(tablename),startdate,enddate;
END IF;
EXECUTE 'INSERT INTO $1 VALUES (NEW.*)' USING quote_ident(tablename);
RETURN NULL;
END;
Run Code Online (Sandbox Code Playgroud)

我希望它自动创建一个名为的表,pings_YEAR_DOY_ID但它始终失败: …

postgresql inheritance plpgsql database-partitioning

3
推荐指数
1
解决办法
5671
查看次数

在vscode中调试打字稿电子程序

我正在运行最新的1.2版本的vscode和1.8的打字稿.我已经尝试了launch.json的所有可能组合,我可以设想,类型'node'和'chrome',但我还没有找到一个组合填充vscode本身的任何字段.我主要是让程序启动,但在vscode本身内没有调试.我想知道是否有人在vscode中调试打字稿电子程序的工作示例?还是不可能?

任何帮助将不胜感激!

更新

我现在在vscode中有控制台提供电子的调试输出 - 但仍然没有变量或其他输出 - 这是我当前的launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "chrome",
            "request": "launch",
//          "program": "${workspaceRoot}/src/main.ts",
//          "program": "${workspaceRoot}/bin/main.js",
//          "stopOnEntry": false,
//          "args": [],
//          "cwd": "${workspaceRoot}",
            "sourceMaps": true,
//          "preLaunchTask": "build",
//          "externalConsole": false,
//          "outDir": "${workspaceRoot}/bin",
            "runtimeExecutable": "${workspaceRoot}/node_modules/electron-prebuilt/dist/electron.exe",
            //"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd",
            // Optional arguments passed to the runtime executable.
            "runtimeArgs": [
//              "--enable-logging",
//              "--nolazy",
                "--remote-debugging-port=9222",
                "--host-rules='MAP * 127.0.0.1'",
                "${workspaceRoot}"
//          ],
            ]
            // Environment variables passed to the program.
// …
Run Code Online (Sandbox Code Playgroud)

typescript electron visual-studio-code

3
推荐指数
1
解决办法
3052
查看次数

疯狂的crond行为.继续制作已失效的bash流程

我有一个crontab,看起来像:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

0-59 * * * * /var/www/html/private/fivemin/zdaemon.php >> /dev/null &
Run Code Online (Sandbox Code Playgroud)

尽可能简单吧?

我刚刚测试的zdaemon.php是:

#!/usr/bin/php
<?


while(true){
        sleep(1);
}

?>
Run Code Online (Sandbox Code Playgroud)

无论什么时候它运行它挂起像:

root     15532  0.0  0.1 57228 1076 ?        Ss   19:09   0:00 crond
root     16681  0.0  0.1 72196 1428 ?        S    21:46   0:00 crond
root     16682  0.0  0.0     0    0 ?        Zs   21:46   0:00 [bash] <defunct>
root     16683  0.0  0.5 54800 5740 ?        S    21:46   0:00 /usr/bin/php /var/www/html/private/fivemin/zdaemon.php
root     16687  0.0  0.1 72196 1428 ?        S    21:47   0:00 crond …
Run Code Online (Sandbox Code Playgroud)

php bash cron centos crontab

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