0%

vscode 使用总结

纵想刚毕业时候,还要破解用可以列编辑的一款文档软件(名字我都忘了哈哈)。现如今各种免费收费的编辑功能强大的软件很多,vscode 和 sublime text 算是佼佼者。

vscode 开源插件比较多可以定制化很多功能。
sublime text 速度更快,字体渲染完美,默认配色更是一级棒。
以下是自己使用中比较喜欢的设置。

突然发现 vscode 真的是一个操作系统了,感觉很多东西都可以集成进来了。
今天加了insert date string插件直接插入日期,以前都用 alfred 或者专门的软件来实现的,然后又搜索了snippet关键词,真是啥都有,本来想着有没有定制组装字符串功能的,一看反倒是看到了更多的可能。

vscode 快捷键

写下经常用到的几个快捷键。2020-12-22
意外发现 markdown all in one 插件真的好用,还能自动生成目录结构;然后又加上了几个 markdown table 的插件,真是够厉害的,生态是完胜 sublime text,能有什么办法呢?

描述 keys
删除当前行 cmd``shift``k
复制当前行 opt``shift``up⬆️或者down⬇️
选择行列模式 alt``shift``i
移动行 alt``up⬆️或者down⬇️

sublime 快捷键也记录在这里 2021-06-04

描述 keys
快速选择多文本手动,鼠标选中文本 cmd d
快速选择多文本,选择行列模式 cmd ctrl g
列模式,鼠标选中多行 cmd shift l
列模式,多行选择 option 鼠标左键
列模式,单个选择 cmd 鼠标左键

特别设置

  • 标签栏全部展开,而不是水平滚动 "workbench.editor.wrapTabs": true
  • 避免 markdown lint 部分警告 "MD046": false
  • 打开的文件列表, "explorer.openEditors.visible": 1,

主题

  • 博客编辑主题。"workbench.colorTheme": "Gruvbox Dark Hard"
  • 代码编辑主题。"workbench.colorTheme": "One Monokai 80s"
  • sublime text 4 theme
  • theme, theme darker, one dark pro

插件

outline copy

outline 的内容导出来可以拷贝,插件list-symbols

increment selection

竟然还有这种神器,选择后,直接添加数列在最后,用在带 rawvalue 的 enum 上特别合适

paste json as code

可以快速生成 model 代码,做一个 app 完成这个功能就感觉完败了,没有这个轻量(不需要安装,更新更方便不需要审核)
Supports TypeScript, Python, Go, Ruby, C#, Java, Swift, Rust, Kotlin, C++, Flow, Objective-C, JavaScript, Elm, and JSON Schema.

其他

snippets

自带的 snippets 可以自己创建,真是方便,vscode 真是字符处理的终极方案

macOS 复制图片到剪贴板,markdown 文件添加图片

2020-12-21 18:27
markdown 文件添加图片的格式有点特别的,操作比较复杂,使用了两个插件来处理 markdown pastepaste image from local pc
除了需要装 pngpaste 之外,还有一个比较棘手的问题是,这两个插件要求插入的图片在剪贴板上。
macOS 是有专门的方法截图到剪贴板但是多个图片的话一个一个处理难免有点不灵活,有没有可以让图片复制到剪贴板的方法,这样就可以灵活处理了?
前后尝试了几次,时间跨度有些时日了,最后终于无法忍受不灵活,找到了方法。
先上链接 Copy image file to clipboard

原理是 oc 程序编译后命令行使用,细节如下。
代码如下:

#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
#import <unistd.h>
BOOL copy_to_clipboard(NSString *path)
{
// http://stackoverflow.com/questions/2681630/how-to-read-png-image-to-nsimage
NSImage * image;
if([path isEqualToString:@"-"])
{
// http://caiustheory.com/read-standard-input-using-objective-c
NSFileHandle *input = [NSFileHandle fileHandleWithStandardInput];
image = [[NSImage alloc] initWithData:[input readDataToEndOfFile]];
}else
{
image = [[NSImage alloc] initWithContentsOfFile:path];
}
// http://stackoverflow.com/a/18124824/148668
BOOL copied = false;
if (image != nil)
{
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
[pasteboard clearContents];
NSArray *copiedObjects = [NSArray arrayWithObject:image];
copied = [pasteboard writeObjects:copiedObjects];
[pasteboard release];
}
[image release];
return copied;
}

int main(int argc, char * const argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
if(argc<2)
{
printf("Usage:\n\n"
"Copy file to clipboard:\n ./impbcopy path/to/file\n\n"
"Copy stdin to clipboard:\n cat /path/to/file | ./impbcopy -");
return EXIT_FAILURE;
}
NSString *path= [NSString stringWithUTF8String:argv[1]];
BOOL success = copy_to_clipboard(path);
[pool release];
return (success?EXIT_SUCCESS:EXIT_FAILURE);
}

然后编译

gcc -Wall -g -O3 -ObjC -framework Foundation -framework AppKit -o impbcopy impbcopy.m

使用命令:

./impbcopy path/to/file.png
#或者
cat path/to/file.jpg | ./impbcopy -

Gitlens 关闭一项烦人的提示

2020-12-14
不知道啥时候开始有这个了,太烦人,看别人的图
annoy
解决方法就是这里,Ctrl+Shift+P => "Gitlens:Open Settings" Ctrl+F for "Git Code lens" Deselect the line.勾掉这个设置。
lens

markdown 文件也可以 auto complete

2020-12-13
类似各种文件后缀都可以自动提示了,开心。
"editor.quickSuggestions": true这个最简单。
mk

👔每个窗口一个主题

尤其开始使用 vscode 编写 markdown 后,这种需求很强烈。因为代码编辑喜欢用 monokai 这种类似 sublime text 风格的,但是用来写 markdown 一片片的白色文字看起来眼睛太痛了。
于是找到了这个:

You can have a different theme per workspace/folder by adjusting the workbench.colorTheme in the workspace settings.

  1. Open a new VSCode window.
  2. Open the project folder where you would like to have a different color theme.
  3. Navigate to File > Preferences > Settings.
  4. Select the “Workspace Settings” tab at the top of the settings screen. Anything you edit in here will now be specific to this workspace.
  5. Search for “colorTheme” and select the color theme you would like for this specific workspace.

i