承接之前的为VSCODE远程开发搭建最小权限Windows SSH环境文章,有一个问题还没解决, 就是如何达到使用 CMake/MSVC 时指定工具链版本这里说的效果,让 CMake 与 ninja 配合, 在编译时能够找到特定版本的 vc++ 工具链。
大众方法搞出来的 Windows SSH 环境,一般一登录就是管理员权限,这太危险了。开发的时候,还可能因为权限问题干扰判断。
SSH 开启
这一块教程很多,简写。
在系统中添加 Open SSH 功能,实际上就是 ssh 服务端。
登录用的密码就是密码,不是 PIN 码哦。
首先从本地测试,其他机器测试需要开防火墙。到防火墙入站规则那里去允许%SystemRoot%\system32\OpenSSH\sshd.exe
通过,不用填什么端口,Win 11 会默认填上 22 端口(并且不让改……)。
相关信息
省流:试试重装 git for windows,选择使用 git for windows 自带的 OpenSSH 而不是操作系统内置的 OpenSSH.
今天花了若干小时,解决或者说发现了这个坑。
本地环境:使用 VS Code 的 Remote SSH 插件,连接到另外一台 Windows 计算机,编辑一个远程地址是ssh的git仓库,仓库是公钥访问。
远程环境:Win 11 LTSC, 系统自带 Open SSH 服务端,公钥登录,非管理员账户。使用 Powershell Core 作为默认 Shell,安装了 Git。具体的环境搭建过程在这里。
MATLAB 中的imshow
函数,默认是单独弹窗显示。
这在自己调算法的时候无所谓甚至可能更方便,但在需要整洁的时候就比较烦,
例如在便携需要发布的 APP 的时候。
按理说不是多难的问题,但网上排前列的教程比较奇怪,是让人先把坐标区单位改像素,
然后获取尺寸,然后把图像resize
到坐标区大小,然后使用axes
函数(大概是吧?记不太清)
指定下一次画图所在的坐标区,最后再朴素地调用一次imshow
函数,达到目的。
实际上,MATLAB对这种需求是提供了直接接口的:
程序打包时经常需要内嵌 JRE 甚至 JDK,网上当然有下载,但终究是不太放心。
自己做的方法其实挺简单,但网上的过时说法比较多,重新记录一下。
- 安装
7z
软件,NanaZip
这类二次封装的也无妨; - 拿到官方的安装包,
exe
格式的,强行用7z
打开,解压,得到一个tools.zip
; - 对
tools.zip
再解压一次,得到一堆文件; - 在这一堆文件所得目录下,执行下列
cmd
指令(别用powershell
,不兼容):
基础安装
- 安装
anaconda
或者miniconda
,我个人比较喜欢后者 - 创建一个新的独立环境,比如说
conda create -n thelab
- 进入这个环境,
conda install jupyterlab
conda install jupyterlab-language-pack-zh-CN
中文包conda install jedi-language-server pyright python-lsp-server texlab
若干附加包,反正硬盘很便宜。
需求是这样的:希望在一个git
仓库内,将一些文件映射到不同的地方,确保相同格式的相对路径访问并同时确保文件的一致性。
例如,一个包含大量markdown
文档碎片的仓库,我们希望这些碎片被组合起来之后可以直接显示其中的图片,但碎片必须按特定文件夹组织,但我们并不想将图片们也分散放置(那样组合文档碎片的时候也必须同时组合附件文件夹),也不想将相同的文件复制到几个地方。
如果使用符号链接,就可以在每一个存放markdown文件的地方,都放置一个media
目录,在根目录是真实文件,在其他目录是符号链接,用符号链接指向唯一的那个真实目录。
code-server
是第三方构建的vscode
网页版,在有公网服务器的情况下,
可以实现从任意浏览器访问自己的开发环境。
并且对弱网络的优化也是比较到位的,基本上感受不到延迟,
全屏之后跟微软版本的vscode
感受不出来区别。
缺点是,这毕竟是个第三方的东西,微软把一些高价值的玩意儿自己圈起来了,
典型的像msvc
调试器,pylance
语言服务器,code-server
是用不起来的。
但即使除去这些,功能已经比较惊艳了。