Posts List

goland-2022.01版本最新实用功能

在 Go 的开发过程中,经常遇到一个非常麻烦的问题就是 JSON 的解析。因为 Go 中的 JSON 的解析,一般来说需要定义对应 JSON 的 struct。或者使用 interface{} 类型来进行定义,然后再进行类型的转换。当然这在 Python 中可能两三句话就搞定了。 在 Goland 2022.01 最新版本中,终于迎来了在 JSON 方面解析的便捷功能。在最新版本中,只要将 JSON 粘贴到 IDE 中就会提示是否转化为 struct 类型,所有的字段都会被生成,相对于以前的一个个的手动的定义要方便太多太多了。 还可以使用 Action 来进行转换动作,Generate Go Type form JSON: 同时还可以添加新的 tag,key 以及修改 key 的代码风格,调用来说一般使用 alt+enter 快捷键即可。 Intention actions 字段添加新的 tag 点击 struct 的字段然后按 alt+enter 选择 Add key to tags 修改 key 点击 struct 的字段然后按 alt+enter 选择 Update key value in tags

将Medium中的博客导出成markdown

Medium(需要翻墙访问)是国外非常知名的一个博客平台。上面经常有很多知名的技术大牛在上面发布博客,现在一般国内的搬运的技术文章大多数都是来自于这个平台。 Medium 文章格式显示地非常优雅,但是存在一个问题。众所周知,markdown已经是最受程序猿欢迎的文本编辑格式之一。但是Medium仅仅支持markdown格式导入,不支持markdown格式的导出。这也正是我当初开发这个插件export-medium的原因,现在这个项目是放在github上面的,欢迎大家多多star,或者pr。自己也花了5美金,注册了开发者账号,因为现在chrome对于不是商店的插件限制很严格,如果没上商店,一直有提醒,很麻烦。商店访问地址在这,需要翻墙访问。不过你可以手动安装: 将 export-medium clone 或者下载到本地。 在 Chrome 浏览中打开chrome://extensions,加载已解压的拓展程序,选择项目文件夹 这两种方法都是可以支持安装的。目前这个插件的功能主要是把Medium上面的文章解析成 markdown 格式的文本,用了一个简单的库去渲染(事实上我觉得挺鸡肋的),然后你只要点击一个按钮就可以把文本复制到剪切板,就可以复制到编辑器了,是不是很方便。 目前可能很多页面做的不是特别好看,欢迎大家感兴趣的可以试用或者向我提建议。 仓库地址: https://github.com/neal1991/export-medium (喜欢的还请多多star!!!)

markdown语法规则

标题 标题是每篇文章最常用的格式,在markdown中如果要定义标题的话,只要在这段文字之前加#号就可以了。 一级标题 二级标题 三级标题 以此类推,总共六级标题,建议在#号之后加上一个空格,这是标准的markdown语法。 列表 列表主要分为有序列表和无序列表。只需要在文字前加上-或*即可变成无序列表,有序列表直接在文字前加上1. 2. 3. 符号和要在文字之前加一个空格就可以了。 1 2 3 1 2 3 引用 如果你要饮用一段话的话,那么你只要在引用的文字前加上>这种尖括号就可以了 这是我要引用的文字 图片和链接 插入链接和图片的方法很像,区别在于一个感叹号 图片为:{ImgCap}{/ImgCap} 链接为: 粗体和斜体 粗体和斜体也很简单,用两个包含一段文本就是粗体的语法,用一个包含一段文本就斜体的语法。 这是粗体 这是粗体 表格 Tables are cool col1 clo2 col3 分割线 分割线的语法只需要三个*号就可以了 分割线上 分割线下

combox系列问题集

visual studio崩溃 你是不是经常会遇到一编辑combox,visual studio就会立马崩溃。一直都无法理解是什么原因,然后后来发现居然是因为有道的截屏翻译,关掉截屏翻译就好了。 combox绑定数据源 SqliteDataReader dr; if (dr.Read()) { this.comboBox1.Items.Add(dr[0]); } 自动补全的功能 我们希望在combox中实现输入的时候,有推荐的文本自动补全功能。我们主要只需要设置AutoCompleteMode和AutoCompleteSource这两个属性就可以了。 模糊查询 上面那个自动补全的功能只能实现从左到右进行匹配,而不能进行模糊匹配。假设我们的combobox里面有“张三“,如果输入”张“可以进行匹配,但是我们如果输入”三“的话就无法实现匹配,而combobox自身并没有这个属性,所以我们需要自己写一个方法来实现。 List<string> listOnit = new List<string>(); List<string> listNew = new List<string>(); //用于模糊查询 private void BindComboBox() { string str = "select License from tb_drug"; SQLiteDataReader sdr = sh.getcom(str); while (sdr.Read()) { if (sdr[0].ToString() != " " && sdr[0].ToString() != null) listOnit.Add(sdr[0].ToString()); } sdr.Close(); this.comboBox1.Items.AddRange(listOnit.ToArray()); } private void comboBox1_TextUpdate(object sender, EventArgs e) { this.comboBox1.Items.Clear(); listNew.Clear(); foreach (var item in listOnit) { if (item.Contains(this.comboBox1.Text)) { listNew.Add(item); } } this.comboBox1.Items.AddRange(listNew.ToArray()); this.comboBox1.SelectionStart = this.comboBox1.Text.Length; Cursor = Cursors.Default; this.comboBox1.DroppedDown = true; }

初识NuGet

因为想查一查opencvsharp的东西,然后发觉这个包可以再NuGet上面可以直接下载。我也经常在很多地方都可以看到NuGet,所以我想写下来,记录下来。 NuGet是一个免费的并且开源的包管理器在微软的开发平台上。NuGet发布在Visual Studio的拓展插件上。 NuGet现在已经移植到代码管理平台github了,链接地址为https://github.com/nuget/home。他们打算以后新的东西都在这个网址更新了。 资源 NuGet Gallery: http://nuget.org Documentation: http://docs.nuget.org Blog: http://blog.nuget.org Twitter: @nuget JabbR chat: https://jabbr.net/#rooms/nuget TeamCity continuous build server: http://build.nuget.org Latest successful VS Extension build: http://build.nuget.org/NuGet.Tools.vsix Latest successful NuGet.exe build: http://build.nuget.org/NuGet.exe NuGet貌似自从vs2012版本之后就默认在系统中了,所以不需要再安装了。如果想确保你的版本有没有安装NuGet,你可以看一下工具栏。你也可以在扩展和更新中可以进行NuGet的更新和管理。 只要你安装了,就可以非常方便的引用第三方的库,直接在引用里面添加就可以了。