大喊一声Fuck!代码就能跑了是什么体会?

1 前语

大家好,我是心锁,23届准毕业生。

程序员的国际,最多的不是代码,而是山和bug。

近期我在学习过程中,在github找到了这么一个项目,能在咱们输错指令之后,大喊一声Fuck即可主动更正指令,听说喊得越大声作用越好。

大喊一声Fuck!代码就能跑了是什么体验?

2 项目基本介绍

thefuck是一个根据Python编写的项目,它可以主动纠正你在指令行中输入的过错指令。假如你输错了一个指令,只需要在指令行中输入“fuck”,thefuck就会主动纠正你的过错。该项目支撑很多的终端和操作系统,包含Linux、macOS和Windows。

大喊一声Fuck!代码就能跑了是什么体验?

2.1 环境要求

  • python环境(3.4+)

2.2 装置方式

thefuck支撑brew装置,十分方便,在macOS和Linux上都可以经过brew装置。

brew install thefuck

也支撑经过pip装置,便携性可以说是一流了。

pip3 install thefuck

2.3 装备环境变量

建议将下边的代码装备在环境变量中(.bash_profile.bashrc.zshrc),不要问为什么,问便是有经验。

eval $(thefuck --alias)
eval $(thefuck --alias FUCK)
eval $(thefuck --alias fuck?)
eval $(thefuck --alias fuck?)

接着运转source ~/.bashrc(或其他装备文件,如.zshrc)确认更改立即可用。

3 运用作用

大喊一声Fuck!代码就能跑了是什么体验?

大喊一声Fuck!代码就能跑了是什么体验?

4 thefuck的作业原理

thefuck的作业原理十分简单。当你输入一个过错的指令时,thefuck会根据你输入的指令和过错提示主动估测你想要输入的正确指令,并将其替换为正确的指令。thefuck可以主动估测正确的指令是因为它内置了大量的规矩,这些规矩可以协助thefuck智能地纠正过错的指令。

所以,该项目开放了自定义规矩。

4.1 创立自己的规矩

假如thefuck内置的规矩不可以满足你的需求,你也可以创立自己的规矩。thefuck的规矩是由普通的Python函数完结的。你可以在~/.config/thefuck/rules目录下创立一个Python脚本,然后在其中定义你的规矩函数。

以创立一个名为my_rule的规矩为例,具体步骤如下:

4.1.1 创立rule.py文件

~/.config/thefuck/rules目录下创立一个Python脚本,比如my_rules.py

4.1.2 遵循的规矩

在自定义脚本中,有必要完结以下两个函数,match显然是用来匹配指令是否符合的函数,而get_new_command则会在match函数返回True时触发。

match(command: Command) -> bool
get_new_command(command: Command) -> str | list[str]

一起可以包含可选函数,side_effect的作用是敞开一个副作用,即除了允许本来的指令外,你可以在side_effect做更多操作。

side_effect(old_command: Command, fixed_command: str) -> None

5 yarn_uninstall_to_remove

以创立一个名为yarn_uninstall_to_remove的规矩为例,该规矩会在咱们过错运用yarn uninstall …指令时,主动协助咱们批改成yarn remove … 。具体步骤如下:

5.1 创立yarn_uninstall_to_move.py文件

~/.config/thefuck/rules目录下创立一个Python脚本,yarn_uninstall_to_remove.py

5.2 编写代码

from thefuck.utils import for_app
@for_app('yarn')
def match(command):
    return 'uninstall' in command.script
def get_new_command(command):
    return command.script.replace('uninstall', 'remove')
priority=1 # 优先级,数字越小优先级越高

5.3 作用

大喊一声Fuck!代码就能跑了是什么体验?

6 总结

国际之大,无奇不有。不得不说的是,伴随着AI的逐渐发展,相似这种项目未来一定是优先接入AI者才可以继续发展。

友情提示,喊fuck的时候先设置后双击control翻开听写功用,喊完再点击一下control完结输入。

大喊一声Fuck!代码就能跑了是什么体验?


本文正在参加「金石计划」