Kanji
・雲端架構工程師 / 自由職業 ・1993年出生 ・愛媛縣出身 / 現居東京都澀谷區 ・5年 AWS 實戰經驗 個人檔案詳情
目錄
VS Marketplace 連結
該外掛將 VS Code 翻譯成日語。
預設情況下,VS Code 安裝後為英文。如果您想使用日語,請安裝此外掛。
GitHub Copilot 是一個人工智慧驅動的程式碼完成外掛。
如果您在函式名稱或註釋中描述要實現的流程,Copilot 將建議相應的程式碼。
有 30 天免費試用期,但繼續使用需要付費計劃(10 美元/月或 100 美元/年)。
官方頁面指出它特別適合 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++,但它也可以用於 Terraform 和 CloudFormation 等基礎設施程式碼。
根據我的經驗,使用 GitHub Copilot 的開發速度可以提高一倍以上,所以我強烈推薦它。
如果您想為某個專案禁用 GitHub Copilot,請將以下設定新增到您的基本設定中,以使 Copilot 在該專案中不可用:
{ "github.copilot.enable": { "*": false } }
如果您選擇文字並按快捷鍵(預設為“Alt + Shift + T”),則會顯示谷歌翻譯的翻譯結果。
它可以在不離開 vscode 的情況下進行翻譯,因此當您想要考慮函式名稱並用英語翻譯註釋和 Git 提交訊息時,它非常有用。
VS 市場連結
它是一個外掛,可以將選定的文字轉換為駝峰式、蛇式、帕斯卡式等。
您可以透過選擇要轉換字元大小寫的文字並從命令面板中選擇以下選單來進行轉換(Windows(Windows 為“Ctrl + Shift + P”,Mac 為“Command + Shift + P”))。
改變大小寫駱駝
更改大小寫常量
更改大小寫點
更改案例烤肉串
更改大小寫較低
更改大小寫 lowerFirst
更改案例編號
更改大小寫引數
更改大小寫帕斯卡
更改案例路徑
更改大小寫句子
更改大小寫蛇
更改大小寫交換
更改案例標題 改變案例鞋面
更改大小寫 upperFirst
Draw.io是一款免費使用工具,可以免費使用。
您可以在網路瀏覽器中使用 draw.io 的工具,但如果由於內部安全規則而無法在網路上輸入客戶資訊。您可以使用可離線使用的VSCode外掛。
它可用於建立AWS、GCP和Azure的架構圖。只有一箇舊圖示,但您可以透過複製貼上匯入影象或匯入XML檔案來使用標準圖示以外的其他專案。
Prettier 是一個支援多種語言的程式碼格式化程式。
對應的語言在【什麼是Prettier?· 更漂亮](https://prettier.io/docs/en/)。
根據語言的不同,有許多主要的格式化程式,但是如果您將其放入,它將與某些語言相容。
這是一個用於使用 SSH 連線連線到遠端伺服器的外掛。
您可以在 vscode 上編輯連線的遠端伺服器檔案。
透過在 ~/.ssh/config 中描述連線目的地資訊,可以集中管理連線資訊。
~/.ssh/config
用於啟動使用 WSL(適用於 Linux 的 Windows 子系統)在 WSL 上執行的 vscode 的外掛。
對於使用WSL的使用者來說是必備的外掛。
它是一個使用Docker容器構建開發環境的外掛。
我用的不多,但可以透過與團隊共享構建DEV CONTAINER時的檔案來統一開發環境。
但由於需要對容器進行操作,因此需要具有一定規格的PC。
對於基礎設施工程師來說可能不太需要,但也許可以使用一些東西?這就是為什麼我將其作為推薦引入。
這是一個主要的外掛,可以讓你檢查Git歷史記錄。
您可以顯示 brunch、編輯器、檔案的歷史記錄,並比較 brunch 和 commit 之間的歷史記錄。
VS市場連結
Git History 比較出名的是檢查 Git 歷史記錄,但是在 brunch 之間進行比較時,建議使用這個,因為它個人更容易使用。
在 Git History 中,所有檔案差異都會顯示在編輯器中 - 就像在 brunch 之間進行比較時一樣,但在 Git History Diff 中,差異會顯示在側邊欄上,因此哪個檔案有差異。您一目瞭然。
Gitlens也是一個檢視git歷史記錄的外掛,但與Git History和Git History Diff不同的是,它是直接顯示在程式碼上的,所以你可以在檢視程式碼的同時檢查歷史記錄。
雖然螢幕亂了,無法使用,但是你可以像Git History一樣檢查commits和brunch的區別。
包含Markdown相關功能的外掛。透過插入此外掛可以使用以下功能。
快捷鍵(加粗、傾斜、取消線、預覽等)
自動生成目錄
編輯列表時自動調整縮排和序列號
轉換為 HTML 檔案
表格格式
數學公式的使用
如果您選擇文字並貼上連結,它將自動生成連結。
就我的目的而言,我主要使用Linting和自動生成目錄。其他功能使用這些外掛是因為其他外掛更容易使用。
可以透過按下複製到剪貼簿的影象來貼上到 Markdown 檔案等中的外掛(Windows for Windows,“Ctrl + Alt + V”和“Command + Alt + V”)。
貼上的圖片儲存在指定目錄下,路徑在Markdown檔案中描述。
透過在基本設定中進行以下設定,我在與貼上檔案相同的目錄中建立一個“.Images/”目錄,並將影象儲存在其中。
{ "pasteImage.basePath": "${currentFileDir}/.images", "pasteImage.path": "${currentFileDir}/.images", "pasteImage.insertPattern": "${imageSyntaxPrefix}.images/${imageFilePath}${imageSyntaxSuffix}" }
這是一個用於使用 Markdown 建立和塑造表格的外掛。
我嘗試了各種表格整形外掛,但我使用了這個,因為它在包含日語多位元組字元的表格上正確整形。(它可能與字型相容)
用於將 Markdown 檔案轉換為 PDF、HTML、JPEG、PNG 等的外掛。
Markdown all in One也有PDF轉換功能,但我使用它是因為可以選擇PDF等作為該外掛的轉換目標。
這是Python的Linter。在編寫Python程式碼時用它來檢查程式碼的質量。例如,您可以檢查以下內容。
程式碼長度是否超過 100 個字元?
是否有未使用的變數?
是否匯入了模組?
ETC。
透過在基本設定中新增以下設定,您可以自定義規則以與 Flake8 進行檢查。
如果想在專案內統一,可以透過在專案上建立 .vscode/Settings.json 並寫入以下設定來統一。
.vscode/Settings.json
{ "flake8.args": [ "--ignore=S311,S410,W503", "--max-line-length=170", "--max-complexity=20" ] }
這是一個用於格式化Python程式碼的外掛。例如,您可以格式化以下內容。
將單引號轉換為雙引號
將縮排轉換為 4 個空格
將函式之間的空行轉換為兩行
透過在基本設定中進行以下設定,可以在儲存Python檔案時自動格式化。
{ "[python]": { "editor.insertSpaces": true, "editor.detectIndentation": true, "editor.tabSize": 4, "editor.defaultFormatter": "ms-python.black-formatter", "editor.formatOnSave": true } }
CloudFormation 也可以用 JSON 描述,但通常用 YAML 描述,因此我們將介紹用於 YAML 的 Linting 和輸入補充的外掛。
透過插入此外掛,開啟YAML檔案時會顯示YAML語法錯誤。
此外,在編輯 YAML 檔案時,它將補充縮排和鍵。
由於預設不包含CloudFormation的偽函式,因此會顯示語法錯誤。透過在基本設定中進行以下設定,可以防止顯示語法錯誤。
[ "yaml.customTags": [ "!And sequence", "!Base64 scalar", "!Cidr scalar", "!Condition scalar", "!Equals sequence", "!FindInMap sequence", "!GetAZs scalar", "!GetAtt scalar", "!GetAtt sequence", "!If sequence", "!ImportValue scalar", "!Join sequence", "!Not sequence", "!Or sequence", "!Ref scalar", "!Select sequence", "!Split sequence", "!Sub scalar", "!Sub sequence", "!Transform mapping", ] ]
[ { "name": "AWS CloudFormation", "description": "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment", "fileMatch": [ "*.cf.json", "*.cf.yml", "*.cf.yaml", "cloudformation.json", "cloudformation.yml", "cloudformation.yaml" ], "url": "https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json" } ]
{ "yaml.schemas": { "https://d33vqc0rt9ld30.cloudfront.net/latest/gzip/CloudFormationResourceSpecification.json": [ "*.cf.yaml", "*.cf.yml", "cloud*formation/*.yaml", "cloud*formation/*.yml" ] } }
CloudFormation Linter。與上面提到的YAML外掛不同,它會顯示CloudFormation特有的語法錯誤。例如,您可以檢查以下內容:
資源名稱是否重疊?
資源屬性是否正確?
資源之間的依賴關係是否正確?
可以檢查的規則是 cfn-lint/docs/rules.md at main · aws-cloudformation/cfn-lint 。
透過在基本設定中進行以下設定,您可以忽略某些規則。
{ "cfnLint.ignoreRules": [ "W3011" ] }
CloudFormation Linter。與 CloudFormation Linter 不同,您可以檢查安全性。例如,您可以檢查以下內容。
IAM 策略是否包含萬用字元?
S3儲存桶伺服器訪問日誌是否有效?
安全組入站規則指定的0.0.0.0/0是否指定?
可以檢查的規則在 cdk-nag/RULES.md at main · cdklabs/cdk-nag 中描述。
透過將以下設定放在基本設定中,您可以忽略某些規則。由於 cfn-nag 無法直接將忽略的規則描述到 settings.json ,因此請建立一個具有適當名稱(例如 .cfn-nag-blacklist.yml )的 YAML 檔案,並描述要忽略它的規則。您可以忽略它。在本示例中,在 .vscode 目錄中建立 .cfn-nag-blacklist.yml ,並描述以下設定。
settings.json
.cfn-nag-blacklist.yml
.vscode
{ "cfnNagLint.blacklistPath": ".vscode/.cfn-nag-blacklist.yml" }
--- RulesToSuppress: # S3 Bucket should have access logging configured - id: W35 reason: No access log settings are required # Resource found with an explicit name, this disallows updates that require replacement of this resource - id: W28 reason: The IAM roll name is set by fixed, not dynamic # CloudWatchLogs LogGroup should specify a KMS Key Id to encrypt the log data - id: W84 reason: Do not use the encryption of the customer management key
包含與 Terraform 相關功能的外掛。透過插入此外掛可以使用以下功能。
輸入提供者、資源名稱、資料來源、屬性、變數名稱等的補充。
交響樂錯誤檢查
格式化 Terraform 程式碼(執行 terraform fmt )
terraform fmt
與 Terraform Cloud 合作
Terraform 模組、提供商資源管理器
從命令面板執行“terraform init”和“terraform plan”等命令
Terraform 的 Linter。用於在編寫 Terraform 程式碼時檢查安全性。例如,您可以檢查以下內容。
S3儲存桶的加密是否有效?
0.0.0.0/0是否是安全組出/入規則指定的?
可以檢查的規則是 enable-access-logging - tfsec 。